У меня есть имя столбца как «Validation», но номер столбца меняется. Как я могу найти этот столбец по имени и принять его как диапазон.VBA, чтобы добавить формулу excel, выбрав имя столбца как диапазон
В настоящее время используется макрос, который я использую, который проверяет столбец M и добавляет формулу для всех ячеек, если столбец M не пуст.
Мой новый ожидание,
- См столбец M, если имеет значение ячейки как «BLM» & «CFG», затем добавить формулу первенствует , находя имя столбца «Validation» для тех, кто имеет что значение ячейки как «BLM» & «CFG», пропустите, если пусто.
- Изменить все эти формулы в ячейку значения
Sub test_macro()
Dim sFormula As String
Dim rng As Range
Dim ws2 As Worksheet
sFormula = "=IF(IFERROR(VLOOKUP(RC[-11],'Service ID Master List'!C[-11],1,0),""Fail"")=""Fail"",""Check SESE_ID"","""")&IF(IFERROR(VLOOKUP(RC[-9],Rules!C[-13],1,0),""Fail"")=""Fail"","" | Check SESE_RULE"","""")&IF(TRIM(RC[-5])="""","""",IF(IFERROR(VLOOKUP(RC[-5],Rules!C[-13],1,0),""Fail"")=""Fail"","" | Check SESE_RULE_ALT"",""""))&IF(RC[-7]=""TBD"","" | Check SEPY_ACCT_CAT"","""")"
Set ws2 = ActiveSheet
With ws2
Set rng = .Range("M2")
Set rng = .Range(rng, .Cells(.Rows.Count, rng.Column).End(xlUp))
End With
rng.SpecialCells(xlCellTypeConstants).Offset(0, 1).FormulaR1C1 = sFormula
'changing formulas in values
Columns("N:N").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("N1").Select
Application.CutCopyMode = False
End Sub
Не совсем, но я могу что-то сделать с этим, возможно, я не упомянул об этом очень хорошо, спасибо в любом случае. – Chito