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ソース実行前
実行後
関連記事
-
-
セルを挿入する(Insert メソッド)
Insert メソッド Insert メソッドで、指定した場所に新規の空白セルを …
-
-
オートフィルタ(抽出条件で使用できる演算子・記号)AutoFilter メソッド
AutoFilter メソッド 【書式】 object.AutoFilter ( …
-
-
オートフィルタ(平均より上・平均より下)AutoFilter メソッド
平均値よりも大きい(小さい)値のレコードを抽出 AutoFilter メソッドで …
-
-
セルの位置を取得(Left プロパティ、Top プロパティ)
Left プロパティ・Top プロパティ Left プロパティは、「A列」の左端 …
-
-
セル内部を参照(Interior プロパティ)
Interior プロパティ Interior プロパティで、セルの内部を参照し …
-
-
対象のセルを参照している全てのセルを取得(Dependents プロパティ)
Dependents プロパティ Dependents プロパティは、対象のセル …
-
-
セルのアドレスを確認(Address プロパティ)
Address プロパティ Address プロパティ・AddressLocal …
-
-
セルの文字列を取得(Text プロパティ)
Text プロパティ セルに表示されている文字列を取得します。Text プロパテ …
-
-
非連続のセルが選択されているか確認する(Areas コレクション)
Areas コレクション の使い方 複数の離れた位置にあるセル範囲を選択した場合 …
-
-
フリガナ(Phonetic プロパティ)
Phonetic プロパティ 文字列(漢字など)をキーボードから入力した時の「読 …