Я пытаюсь использовать формулу SUMIF
в VBA на основе листа, который может иметь разные имена.
Когда я на этом ActiveSheet
(может меняться), я хочу добавить еще один шаблон лист из другой книги Template_test и поставить SUMIF
формулу, на который ссылается на ActiveSheet.
Когда я запускаю макрос, возникает ошибка (1004) и останавливается по формуле.VBA - имя переменной в формуле sumif
Это то, что у меня есть:
Sub test()
Set CurBook = ThisWorkbook
Dim wksheet As Worksheet
Set wksheet = ActiveSheet
MsgBox CurBook.Name & "_" & wksheet.Name
'Open template
Workbooks.Open filename:= _
"D:\Template_test.xlsm"
'Copy new sheet
Sheets("template").Select
Sheets("template").Copy After:=CurBook.ActiveSheet
'Close Template file
Windows("Template_test.xlsm").Activate
ActiveWindow.Close
'SUMIF Formula in Template regarding wksheet in CurBook
Range("E11").Select
ActiveCell.FormulaR1C1 = _
"=SUMIF('& wksheet &!C2,""=P-SEC"",'& wksheet &!C16)" End Sub
Есть ли способ решить эту проблему и заставить его работать?
Привет, старался с этим изменением. Получена такая же ошибка. Пробовал менять место «и» и всегда получал ту же самую ошибку. – sekiumo
Попробуйте установить формулу равной переменной, поэтому testvar = "" = SUMIF ("& wksheet.name &"! C2, = "" P- SEC "", "& wksheet.name &"! C16) ", а затем debug.print переменную и вручную поместите значение в ячейку, чтобы узнать, что произойдет. – OpiesDad
Извините, но не знаю, как работает debug.print. – sekiumo