2014-10-07 55 views
0

我有一個名爲「重新對齊中點」的列,其結果是另一列(名爲「最終執行日期」)的日期減去100天。現在,「重新對齊中點」日期在列AZ中,而「最終執行日期」在列BR中。這些列可能會被移動,所以根據列索引構建宏是不切實際的。我想要做的是從列名減去另一個。標題行是第2行,而不是第1行根據列名而不是列索引從列中減去

這是我爲我錄製的宏:

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 

回答

0

只要列標題不會改變,你可以使用HLOOKUP做到這一點:

=HLOOKUP("Final Execution Date",$A$2:$ZZ3,ROW(A2),FALSE)-100 

只需將此公式粘貼到「中點」列的頂部並填寫即可。