#vba #excel
#vba #excel
Вопрос:
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
Ошибка находится в строке, указанной ниже, и вызвана «Operational», я полагаю, потому что она видит «и пытается закончить там, как мне сделать так, чтобы она принимала «operational» буквально как есть и продолжалась мимо нее?
sh.[D15].Value = "=(4-(D16 D17 D18 D19)) (SUMIF(J27:J38,"Operational",N27:N38))"
Комментарии:
1. Вы действительно пытаетесь установить
.Value
для этих строк, или вы пытаетесь установить.Formula
для этого?
Ответ №1:
Вы можете либо удвоить кавычки, либо
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))"