Действительно быстрый вопрос о том, как форматировать VBA в формулах excel. Когда вы вставляете формулу в excel и хотите вставить переменную из vba, например, если b - это строка, которую вы бы использовали, " & b & "
- это правильное форматирование? Чтобы проиллюстрировать проблему, у меня есть код ниже и попытался использовать это форматирование и хорошо ... Я не знаю, почему это не работает, я получаю (Ошибка компиляции: Ожидаемый: Конец инструкции). Может ли кто-нибудь сказать мне, где я ошибаюсь?Вставить VBA в форматирование формул?
Dim HrsSTD As String
Dim HrsSAT As String
Dim HrsSUN As String
Dim HrsSTWN As String
Dim sdFormula
HrsSTD = ActiveCell.Address
Selection.Offset(0, 1).Select
HrsSAT = ActiveCell.Address
Selection.Offset(0, 1).Select
HrsSUN = ActiveCell.Address
Selection.Offset(0, 1).Select
HrsSTWN = ActiveCell.Address
sdFormula = "=IF((" & Range(NamedRange).Cells(2, 1).Address & _
"=""Please add a title"",0,VLOOKUP((" & Range(NamedRange).Cells(2, 1).Address & _
",'Tables (H)'!$H$2:$J$6,2,FALSE)* _
" & HrsSTD & "+VLOOKUP(" & Range(NamedRange).Cells(2, 1).Address & _
",'Tables (H)'!$H$2:$J$6,2,FALSE)* _
" & HrsSAT & "*1.25+VLOOKUP((" & Range(NamedRange).Cells(2, 1).Address & _
",'Tables (H)'!$H$2:$J$6,2,FALSE)*" & HrsSUN & "* _
1.5+VLOOKUP((" & Range(NamedRange).Cells(2, 1).Address & _
",'Tables (H)'!$H$2:$J$6,2,FALSE)*" & HrsSTWN & "*0.75)"
Код я напечатал бы в первенствует бы: Но я хочу, чтобы изменить A13-х и I16 (т.е. все относительные ссылки) в переменные в VBA
=IF(A13="Please add a title",0,VLOOKUP(A13,'Tables (H)'!$H$2:$J$6,2,FALSE)*F16+VLOOKUP(A13,'Tables (H)'!$H$2:$J$6,2,FALSE)*G16*1.25+VLOOKUP(A13,'Tables (H)'!$H$2:$J$6,2,FALSE)*H16*1.5+VLOOKUP(A13,'Tables (H)'!$H$2:$J$6,2,FALSE)*I16*0.75)
Что он 'Астерикс' в вашей формуле? –
, используя его как раз, то есть количество, заданное HrsSTD, имеет значение Vlookup –
Можете ли вы опубликовать точную формулу excel, как вы бы набирали Excel? –