数式を相対参照にする
今回は絶対参照になっている数式を相対参照にします。
数式内のセル参照を絶対参照⇔相対参照に変更するには・・・・・・数式内の変更したい部分にカーソルを合わせてF4キーを押せば、以下のように順番に切り替わっていきます。
行列とも絶対参照→行のみ絶対参照→列のみ絶対参照→行列とも相対参照(に戻る)
でも、変更したい数式が何十個、何百個とあったらこんなことを手動でいちいちやってられません。マクロで一括変更しちゃいましょう。
構文や、引数については過去記事を参照下さい。
以下はApplication.ConvertFormulaメソッドを使った簡単なプログラムです(選択範囲内の数式を行列とも相対参照にします)
***************************************
Sub 数式を行列とも相対参照にする()
Dim myRange As Range
For Each myRange In Selection.SpecialCells(xlCellTypeVisible)
If myRange.Value <> "" Then 'セルの値が空白の場合は処理をしない
myRange.Formula = Application.ConvertFormula(Formula:=myRange.Formula, _
FromReferenceStyle:=xlA1, ToReferenceStyle:=xlA1, ToAbsolute:=xlRelative)
End If
Next myRange
End Sub
***************************************
※SubからEnd Subまでをコピーし、標準モジュール等に貼り付けて使用して下さい。なお、マクロで実行した処理は「元に戻す」ことができません。実行前に一旦保存しやり直しのできる状態にしておいて下さい。標準モジュールにコードを貼り付けてマクロを使用する方法はこちら。