Excelの選択範囲の数式を一括で絶対参照にするコードをご紹介します。
目次
マクロ機能が有効なExcelブック「.xlsm」を作成
Excelブック「.xlsm」の作成方法が不明な場合は、下記の記事を参考にして下さい。
【エクセルVBA】マクロ機能が有効なExcelブック「.xlsm」の作り方
コードを標準モジュールに貼り付け
標準モジュールの開き方が不明な場合は、下記の記事を参考にして下さい。
【エクセルVBA】標準モジュールの開き方
標準モジュールを開いて、下記のコードを貼り付けて下さい。
コード
選択範囲の数式を一括で絶対参照にする
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
Sub 選択範囲のセルの数式を絶対参照にする() 'メッセージ表示 rc = MsgBox("選択範囲セルの数式を絶対参照に変換しますか??" & Chr(13) & _ "※この処理はCtrl+Zでは戻せません。" & Chr(13) & _ "戻したい場合は、置換機能等で「$」を削除して下さい。", vbYesNo + vbQuestion, "マクロ実行前の確認") If rc = vbYes Then '画面更新停止 Application.ScreenUpdating = False Dim rng As Range For Each rng In Selection With rng If .HasFormula Then .Formula = Application.ConvertFormula( _ Formula:=.Formula, _ FromReferenceStyle:=xlA1, _ ToAbsolute:=xlAbsolute) End If End With Next rng Else 'メッセージ表示 MsgBox "キャンセルされました。処理を終了します。" End If End Sub |
マクロを実行
上記で作成したマクロファイル(ここでは「選択範囲の数式を一括で絶対参照にする.xlsm」とファイル名を設定。)を準備します。
マクロファイルを開いて、「コンテンツの有効化」をクリックします。
※設定により、「コンテンツの有効化」は表示されない(クリック不要の)場合もあります。
本ファイルには予めA1:C3セルに下記の様に入力しています。
C1:C3セルには、「=A*+B*」と数式を入力しています。
「開発」タブをクリックします。
C1:C3セルを選択して、「マクロ」をクリックします。
マクロ「選択範囲のセルの数式を絶対参照にする」を選択、「実行」をクリックします。
マクロを実行する場合
ウィンドウが表示されるので、「はい」をクリックします。
マクロが実行され、C1セルの数式が絶対参照に変換されます。
C2セルの数式も絶対参照に変換されます。
C3セルの数式も絶対参照に変換されます。
完了です。
マクロを実行しない場合
ウィンドウが表示されるので、「いいえ」をクリックします。
ウィンドウが表示されるので、「OK」をクリックします。
マクロは実行されず、数式も変換されません。
完了です。
参考サイト
インストラクターのネタ帳
すべてのセル参照を絶対参照にするExcelマクロ
https://www.relief.jp/docs/002116.html