2016-10-04 4 views
0
Sub LoopCertain() 'Excel VBA to loop through only include sheets (1-3) 

Dim sh As Worksheet 

For Each sh In ActiveWorkbook.Worksheets ' Start of the VBA loop 
    Select Case sh.Name 
    Case Is = "D1", "D2", "D3", "D4", "D5", "D6", "D7", "D8", "D9", "D10", "D11", "D12", "D13", "D13", "D14", "D15", "D16", "D17", "D18", "D19", "D20", "D21", "D22", "D23", "D24", "D25", "D26", "D27", "D28", "D29", "D30", "D31" 
    sh.[D15].Value = "=(4-(D16+D17+D18+D19))+(SUMIF(J27:J38,"Operational",N27:N38))" 
    sh.[D21].Value = "=4-(SUM(D16:D20))" 
    sh.[D23].Value = "=D15/4" 
    End Select 
Next sh 

End Sub 

Ошибка указанна в строке, указанной ниже, и вызвана «операционным», я предполагаю, потому что она видит «и пытается завершить работу там, как это сделать» принимает "оперативный" в буквальном смысле, как это и продолжает мимо него?VBA Excel: ошибка компиляции: ошибка синтаксиса

sh.[D15].Value = "=(4-(D16+D17+D18+D19))+(SUMIF(J27:J38,"Operational",N27:N38))" 
+0

Действительно ли вы пытаетесь установить '.Value' в эти строки или пытаетесь установить' .Formula' на это? – YowE3K

ответ

0

Вы можете либо дважды кавычки или

sh.[D15].Value = "=(4-(D16+D17+D18+D19))+(SUMIF(J27:J38,""Operational"",N27:N38))" 

использование CHR(34).

sh.[D15].Value = "=(4-(D16+D17+D18+D19))+(SUMIF(J27:J38," + CHR(34) + "Operational" + CHR(34)",N27:N38))" 
Смежные вопросы