У меня проблемы с формулой (COUNTIFS
) внутри макроса.Я хочу использовать два диапазона, определенных в разделе кода Set ranges
, и использовать их в качестве аргументов для формулы COUNTIFS
, а также использовать нотацию R1C1 .В формуле должны использоваться критерии head1
и head2
для подсчета значений в диапазонах rng1
и rng2
.
Sub Macro1()
' Declare variables
Dim wb1 as Workbook
Dim ws1 as Worksheet, ws2 as Worksheet
Dim rng1 as Range, rng2 as Range, rng3 as Range
' Set variables
Set wb1 = ActiveWorkbook
Set ws1= wb1.Sheets(1)
Set ws2= wb1.Sheets(2)
' Set ranges
With ws1
Set rng1 = .Range(.Cells(2, .Cells.Find("head1").Column), .Cells(30,.Cells.Find("head1").Column))
Set rng2 = .Range(.Cells(2, .Cells.Find("head2").Column), .Cells(30,.Cells.Find("head2").Column))
End With
' Formulas
With ws2
.Range(.Cells(2, 2), .Cells(4, 4)).FormulaR1C1 = "=COUNTIFS(" & rng1.Address & ",R1C," & rng2.Address & ",RC1)"
End With
End Sub
Критериями формулы являются первая строка и первый столбец, как вы можете видеть в части кода formulas
.Я получаю сообщение об ошибке «Runtime 1004:« Ошибка приложения или объекта ».
Не могли бы вы указать, что мне следует сделать, чтобы исправить код?