"=A1" を R1C1 形式に変換。"=R1C1" を A1 形式に変換。

執筆者:

カテゴリ:

目的

  • “=A1” の数式を R1C1 形式の数式に変換したい。
  • “=R1C1” の数式を A1 形式の数式に変換したい。
  • 数式の絶対参照、相対参照を変更したい。

その一例

  1. “=A1” を R1C1 形式に変換してみます。
    Sub イコールA1をR1C1形式に変換()
    Debug.Print Application.ConvertFormula("=A1", xlA1, xlR1C1)
    End Sub
    1. “=A1”
      変換前の数式を指定。
    2. xlA1
      変換前の参照形式を指定。
    3. xlR1C1
      変換後の参照形式を指定。
    4. 実行結果は以下のようになりました。
=RC。R1C1 形式に変換されました。
=RC。R1C1 形式に変換されました。
  • “=R1C1” を A1 形式に変換してみます。
    Sub イコールR1C1をA1形式に変換()
    Debug.Print Application.ConvertFormula("=R1C1", xlR1C1, xlA1)
    End Sub
    1. “=R1C1”
      A1 セルへの絶対参照を表している。
    2. 実行結果は以下のようになりました。
  • =$A$1。
    =$A$1。

    相対参照、絶対参照を相互変換

    1. 相対参照を絶対参照に変換してみます。
      Sub 相対参照のイコールA1を絶対参照に変換()
      Debug.Print Application.ConvertFormula("=A1", xlA1, xlA1, xlAbsolute)
      End Sub
      1. xlAbsolute
        ToAbsolute パラメーターです。以下 4 種類あるようです。
        • xlAbsolute(絶対参照)
        • xlAbsRowRelColumn(行のみ絶対参照)
        • xlRelRowAbsColumn(列のみ絶対参照)
        • xlRelative(相対参照)
      2. 実行結果は以下のようになりました。
    =$A$1。ドル記号のついた絶対参照に変換されている。
    =$A$1。ドル記号のついた絶対参照に変換されている。
  • 絶対参照を相対参照に変換してみます。
    Sub 絶対参照のイコールA1を相対参照に変換()
    Debug.Print Application.ConvertFormula("=$A$1", xlA1, xlA1, xlRelative)
    End Sub
    1. 実行結果は以下のようになりました。
  • =A1
    =A1

    マクロストック

    Private Sub 数式形式変換(数式, 前 As XlReferenceStyle, 後 As XlReferenceStyle, 種類 As XlReferenceType, 基点)
    Debug.Print Application.ConvertFormula( _
    Formula:=数式, _
    fromReferenceStyle:=前, _
    toReferenceStyle:=後, _
    ToAbsolute:=種類, _
    RelativeTo:=基点 _
    )
    End Sub
    引数を変化させた例
    引数を変化させた例

    テスト環境

    • Windows 10(64 ビット)
    • Microsoft Office Excel 2003

    以上、閲覧ありがとうございました。