Vba 基于列名而不是列索引从列中减去
我有一个名为Re Align Middpoint的列,其结果是另一个名为Final Execution date的列的日期减去100天。现在,重新对齐中点日期在AZ列,而最终执行日期在BR列。这些列可能会被移动,因此基于列索引构建宏对我来说是不切实际的。我想做的是根据列名从另一个中减去一个。标题行位于第2行,而不是第1行 这是我录制的宏的内容:Vba 基于列名而不是列索引从列中减去,vba,excel,Vba,Excel,我有一个名为Re Align Middpoint的列,其结果是另一个名为Final Execution date的列的日期减去100天。现在,重新对齐中点日期在AZ列,而最终执行日期在BR列。这些列可能会被移动,因此基于列索引构建宏对我来说是不切实际的。我想做的是根据列名从另一个中减去一个。标题行位于第2行,而不是第1行 这是我录制的宏的内容: Sub Re_Align_Midpoint_Date Range("AZ3").Select ActiveCell.FormulaR1
Sub Re_Align_Midpoint_Date
Range("AZ3").Select
ActiveCell.FormulaR1C1 = "=RC[18] - 100"
Range("AZ3").Select
Selection.AutoFill Destination:=Range("AZ3:AZ142"), Type:=xlFillDefault
Range("AZ3:AZ142").Select
ActiveWindow.SmallScroll Down:=-132
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
End Sub
只要列标题不变,您就可以使用hLookup执行此操作:
=HLOOKUP("Final Execution Date",$A$2:$ZZ3,ROW(A2),FALSE)-100
只需将此公式粘贴在中点列的顶部并填充即可