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ソース実行前
実行後
関連記事
-
-
セル範囲を結合・結合を解除(MergeCells プロパティ)
MergeCells プロパティ MergeCells プロパティは、指定したセ …
-
-
セルを参照する(Cells プロパティ)
Cells プロパティ Cells プロパティは、ワークシートの行番号と列番号を …
-
-
セルの位置を取得(Left プロパティ、Top プロパティ)
Left プロパティ・Top プロパティ Left プロパティは、「A列」の左端 …
-
-
フリガナの設定(Characters プロパティ,PhoneticCharacters メソッド)
Characters プロパティ Characters プロパティは、文字範囲を …
-
-
文字列をセル幅で折り返す(WrapText プロパティ)
WrapText プロパティ WrapText プロパティは、セルに表示されてい …
-
-
文字列の縦位置を取得・設定する(VerticalAlignment プロパティ)
VerticalAlignment プロパティ VerticalAlignmen …
-
-
セル幅・高さの既定値(StandardHeight プロパティ・StandardWidth プロパティ)
StandardHeight プロパティ・StandardWidth プロパティ …
-
-
行の高さを取得・設定・する(RowHeight プロパティ)
RowHeight プロパティ RowHeight プロパティは、対象セルの高さ …
-
-
フリガナの取得(GetPhonetic メソッド)
GetPhonetic メソッド GetPhonetic メソッドは、指定した文 …
-
-
セルの値を置換・書式設定(Replace メソッド,ReplaceFormat プロパティ)
セルの値の置換と書式設定 検索条件に一致するセルの書式を設定するには、まず、Ap …



