Excelを使用すると、数式を簡単に編集できます。そうすることで、セル参照または範囲参照を相対から絶対にすばやく変更できます。

相対参照から絶対参照に変更する必要のあるセルが多数ある場合はどうなりますか?この場合、問題の性質はマクロを介して解決するのに適しています。

VBAで使用可能なConvertFormulaメソッドを使用すると、数式を相対アドレスから絶対アドレスに簡単に変換できます。次の短いマクロは、このメソッドを使用して、セルの範囲で使用されるアドレス指定方法を変更します。

Sub Relative2Absolute()

For Each c In Selection     If c.HasFormula = True Then         c.Formula = Application.ConvertFormula(c.Formula, _           xlA1, xlA1, xlAbsolute)

End If Next c End Sub

もちろん、このマクロがどのように機能するかについての鍵は、ConvertFormulaメソッドにあります。メソッドで使用される最後のパラメーターは、この場合はxlAbsoluteです。他のタイプのアドレス指定に変更されるようにマクロを適合させたい場合は、xlAbsoluteをxlRelative、xlAbsRowRelColumn、またはxlRelRowAbsColumnに変更できます。 (名前で各定数の目的を理解できると確信しています。)

ConvertFormulaメソッドに関して覚えておくべきもう1つのことがあります。それは、255文字の長さ制限があります。つまり、数式が非常に長い場合、メソッドが希望どおりに機能しない可能性があります。それがあなたのニーズに合うかどうかを理解するための最良の方法は、それをテストすることです。

注:

このページ(または_ExcelTips_サイトの他のページ)で説明されているマクロの使用方法を知りたい場合は、役立つ情報を含む特別なページを用意しました。

link:/ excelribbon-ExcelTipsMacros [ここをクリックして、新しいブラウザタブでその特別なページを開きます]

_ExcelTips_は、費用効果の高いMicrosoftExcelトレーニングのソースです。

このヒント(10738)は、Microsoft Excel 2007、2010、2013、2016、2019、およびOffice 365のExcelに適用されます。Excelの古いメニューインターフェイス用のこのヒントのバージョンは、次の場所にあります。

link:/ excel-Converting_from_Relative_to_Absolute [相対から絶対への変換]