Excel公式中對區域或單元格的引用有多種引用類型,如:
$A$1 絕對行和絕對列
A$1 絕對行和相對列
$A1 相對行和絕對列
A1 相對行和相對列
如果要用VBA來轉化公式中的引用類型,可以先選擇需要轉換的區域或單元格,然后運行下列代碼。:
Sub ConvFormulaReference()
For Each m In Selection
If m.HasFormula = True Then
m.Formula = Application.ConvertFormula(m.Formula, _
xlA1, xlA1, xlRelRowAbsColumn)
End If
Next m
End Sub
上述代碼先用HasFormula屬性判斷所選區域的各單元格中是否包含公式,然后用Application.ConvertFormula 方法對公式的引用類型進行轉換。其中第四個參數指定了所需轉換的類型:
xlAbsolute 絕對行和絕對列
xlAbsRowRelColumn 絕對行和相對列
xlRelRowAbsColumn 相對行和絕對列
xlRelative 相對行和相對列