Я пытаюсь запустить приведенный ниже код, и он дает мне
Ошибка времени выполнения "1004"
Ошибка приложения или объекта * Ошибка 1006 *
Каждый раз !!
Прилагается фрагмент кода, любые предложения, что не так? (Числа в секциях Range(Cells( * )
на самом деле в основном являются переменными в моем общем макросе, они довольно сложные, но я их здесь для простоты вычеркнул)
Код:
'Declare variables
Dim CriteriaRng As String
Dim SumRng As String
Dim Criteria As String
'Set a variable for each of the 3 parts of the SUMIF Formula
CriteriaRng = "'" & Sheets(1).Name & "'!" & Range(Cells(2, 4), Cells(88, 4)).Address
SumRng = "'" & Sheets(1).Name & "'!" & Range(Cells(2, 3), Cells(88, 3)).Address
Criteria = Chr(34) & "=" & Chr(34) & " & RC[-1]"
'Here goes the SUMIF Formula
With Sheets(2).Range(Cells(4, 13), Cells(9, 13))
Debug.Print "So the Whole Formula Should be:" & Chr(13) & "= SUMIF(" & CriteriaRng & ", " & Criteria & ", " & SumRng & ")"
'That was a vain attempt to find out what was wrong with the formula; didn't work though.
.FormulaR1C1 = "= SUMIF(" & CriteriaRng & ", " & Criteria & "," & SumRng & ")"
'Then adds NumberFormat and stuff here, but that isn't relevant to this question.
End With
Ошибка всегда попадает в строку, где она помещает .FormulaR1C1 =
.
Да, я знаю, что могу получить тот же результат, используя вложенный l oop, но это вернет только значение без формулы SUMIF - Мне нужна эта формула, чтобы лист обновлялся при редактировании (без макроса - я отправляю лист другим людям, которые не хотят или не хотят никаких макросов, но могут нуждаться в редактировании данных).
Может кто-нибудь указать мне, что не так? Я готов к тому, чтобы это было чем-то довольно приятным c - только на прошлой неделе я потратил 2 часа на то, чтобы выяснить проблему из-за неправильного написания 'Колонок' !!!
Любой и все советы приветствуются - большое спасибо заранее .