A1 形式と R1C1 形式を変換、相対参照と絶対参照を変換(ConvertFormula)
ConvertFormula メソッド
数式で参照しているアドレスの相対参照と絶対参照の変換、セルの参照方法の A1 形式と R1C1 形式の変換、またはその両方の変換を行うには、ConvertFormula メソッドを使用します。
object.ConvertFormula ( formula, fromreferencestyle [, toreferencestyle, toabsolute, relativeTo ] )
引数・戻り値
- object ・・・ 対象となる Application オブジェクトを指定します。
- formula ・・・ 変換対象の数式を指定します。数式の先頭には等号(=)を付けます。(省略不可)
- fromreferencestyle ・・・ 変換前の参照形式を XlReferenceStyle 列挙型 の定数またはその値を指定します。(省略不可)
定数 値 内容 xlA1 1 A1 形式の参照(既定値) xlR1C1 -4150 R1C1 形式の参照 - toreferencestyle ・・・ 変換する参照形式を XlReferenceStyle 列挙型 の定数またはその値を指定します。省略すると参照形式は変更されず、引数 fromreferencestyle で指定された形式が使用されます。
- toabsolute ・・・ 変換する参照の種類を XlReferenceType 列挙型 の定数またはその値を指定します。この引数を省略すると、参照の種類は変更されません。
定数 値 内容 xlAbsolute 1 行と列が絶対参照 xlAbsRowRelColumn 2 行が絶対参照で列が相対参照 xlRelative 3 行と列が相対参照 xlRelRowAbsColumn 4 行が相対参照で列が絶対参照 - relativeto ・・・ 1 つのセルを含む Range オブジェクトを指定します。このセルは、相対参照の基点となります。(省略可)
ConvertFormula メソッド 使用例
サンプルVBAソース
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
Sub Sample01_Convertformula() '「C4」セルの数式を取得 Dim myFormula As String myFormula = Range("C4").Formula '「C4」の数式を「R1C1 形式」で、「A1」セルを基点として「相対参照」 'で表示します。 MsgBox Application.ConvertFormula( _ Formula:=myFormula, _ fromreferencestyle:=xlA1, _ toreferencestyle:=xlR1C1, _ toabsolute:=xlRelative, _ relativeto:=[A1]) '[A1] は、Range("A1") でもOK End Sub |
実行結果
サンプルVBAソース実行前
実行後
ConvertFormula メソッド 使用例 2
サンプル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 |
Sub Sample02_Convertformula() '選択範囲に含まれる数式内で参照しているアドレスの 'すべての絶対参照を相対参照に変換します。 Dim c As Range For Each c In Selection If c.HasFormula Then c = Application.ConvertFormula( _ Formula:=c.Formula, _ fromreferencestyle:=xlA1, _ toabsolute:=xlRelative, _ relativeto:=c) End If Next c End Sub |
実行結果
サンプルVBAソース実行前
実行後
関連記事
-
セルが選択されているか確認する(TypeName 関数)
セルが選択されているか確認する方法と使用例 TypeName 関数の引数に、Se …
-
セル範囲内を検索(Find メソッド)
Find メソッド 指定したセル範囲内の特定の情報を含むセルを検索します。 【書 …
-
文字列をセル幅で折り返す(WrapText プロパティ)
WrapText プロパティ WrapText プロパティは、セルに表示されてい …
-
指定したセルへ移動(Goto メソッド)
指定したセルへ移動 指定したシートの指定したセルへジャンプするには、Goto メ …
-
オートフィルタ(抽出条件で使用できる演算子・記号)AutoFilter メソッド
AutoFilter メソッド 【書式】 object.AutoFilter ( …
-
任意のセルを含む行または列全体を参照(EntireRow プロパティ,EntireColumn プロパティ)
EntireRow プロパティ・EntireColumn プロパティ Entir …
-
網かけ(パターン)の取得・設定(Pattern プロパティ)
網かけ(パターン)を取得・設定する セルの背景に網かけ(パターン)を設定したり、 …
-
オートフィルタ(日付フィルタ)AutoFilter メソッド
日付フィルタを使用してレコードを抽出する Excel 2007 から「日付フィル …
-
セルのアドレスを確認(Address プロパティ)
Address プロパティ Address プロパティ・AddressLocal …
-
使用中のセル範囲を取得(UsedRange プロパティ)
UsedRange プロパティ UsedRange プロパティは、指定したワーク …