Добрый день. Делаю связанные ниспадающие списки, 2 штуки. Макрорекордером прописал два макроса. Работают замечательно. Но при любом автоматическом копировании содержимое второй ячейки продолжает ссылаться на В23. Мне надо добавить строку и сместить эти две ячейки вниз (потом ещё и ещё), т.е. поставить вместо цифры 23 переменную. Как решать проблему с кавычками внутри формул написано много, что делать с "&"?
Как в строку Formula1:="=INDIRECT(""prjtsks[""&$B$23&""]"")" вместо 23 вписать переменную?
Sub Macro1()
Range("B23").Select
With Selection.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="=INDIRECT(""prjtsks[#Headers]"")"
.IgnoreBlank = True
.InCellDropdown = True
End With
End Sub
Sub Macro2()
Range("C23").Select
With Selection.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="=INDIRECT(""prjtsks[""&$B$23&""]"")"
.IgnoreBlank = True
.InCellDropdown = True
End With
End Sub
Написал вам два письма на почту с заголовком "Письмо с Форума по VBA, Excel и Word". Написал именно на почту, а не на форум.
Вы предоставили исходный код, полученный с помощью макрорекордера, или сами пытались внести изменения? Если не исходный, то предоставьте исходный код, полученный с помощью макрорекордера, без каких-либо ваших изменений. Я попробую изменить этот код.
Вместо 23 подставьте переменную.
Sub Macro2()
Range("C23").Select
With Selection.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, _
Formula1:="=INDIRECT(""prjtsks[""&$B$" & 23 & "&""]"")"
.IgnoreBlank = True
.InCellDropdown = True
End With
End Sub