本ページは公開が終了した情報の複製であり、掲載時点での情報です。本ページに記載されている内容について各所に問い合わせることはご遠慮下さい。
サポート技術情報

セル参照について

文書番号: 410595

最終更新日: 1998/02/05


この資料は以下の製品について記述したものです。


この記事は、以前は次の ID で公開されていました: JP410595

概要

Excel 4.0 で数式やマクロを活用する場合、セルの参照方法について詳しく知る
必要があります。特にマクロを記述する場合には、絶対参照、相対参照、アク
ティブシート、参照形式といったセル参照に関する用語の意味を正しく認識して
いなければなりません。
また、もし A1 形式しか使用したことがなければ、いくつかのマクロ関数によっ
ては R1C1 形式との併用になることがあり、注意しなければならない点があり
ます。そこで、以下にセル参照に関する基本事項をまとめ、マクロでセル参照を
使う上での留意点について記述します。

定義

  用語              説明
  ---------------   -------------------------------------------------------
  絶対参照          ワークシート上の絶対的な位置に基づいて、そのセルを指定
                    する方法をいいます。そのセル参照が他のセルに複写された
                    り、行や列が挿入されても指し示すセルの位置は変化しませ
                    ん。
  相対参照          あるセルを基準にして、目的のセルを指定する方法をいいま
                    す。他のセルに複写されたり、行や列が挿入されると、それ
                    に応じて指し示すセルの位置が変化します。
  アクティブシート  現在作業が行われているシートをいいます。ACTIVATE 関数
                    によってアクティブシートを変更することができます。
  参照形式          Excel 4.0 ではセルを参照する際、R1C1 形式と A1 形式の 2
                    種類の表記からいずれか一つを選択することが可能です。[他]
  • [作業状態設定] コマンドによって、それぞれの形式に変更
                        することができます。
    

A1 形式

  表記方法          説明
  ---------------   -------------------------------------------------------
  $A$1              セル A1 の絶対参照を示しています。
  A1                セル A1 への相対参照を示しています。
  !$A$1             アクティブシート上のセル A1 の絶対参照を示しています。
  !A1               アクティブシート上のセル A1 への相対参照を示しています。
  SHEET1.XLS!$A$1   SHEET1.XLS 上のセル A1 の絶対参照を示しています。
  SHEET1.XLS!A1     SHEET1.XLS 上のセル A1 への相対参照を示しています。

R1C1 形式

  表記方法              説明
  -----------------     ----------------------------------------------------
  R1C1                  行 1 、列 1 のセルの絶対参照を示しています。
  R[1]C[1]              基準となるセルから 1 行下で 1 列右のセルの相対参照を
                        示しています。
  !R1C1                 アクティブシート上の R1C1 の絶対参照を示しています。
  !R[1]C[1]             アクティブシート上の基準となるセルから 1 行下で 1
                        列右のセルの相対参照を示しています。
  SHEET1.XLS!R1C1       SHEET1.XLS 上の R1C1 の絶対参照を示しています。
  SHEET1.XLS!R[1]C[1]   SHEET1.XLS 上の基準となるセルから 1 行下で 1 列右の
                        セルの相対参照を示しています。

マクロ関数について

大部分のマクロはある作業を行うために、特定のセルあるいはセル範囲を選択する
必要があります。たとえば、セル内容の複写・貼り付け、セル範囲に対する書式設
定などが挙げられます。その際、アクティブシートを意識してマクロを記述しない
と、思わぬエラーが発生する可能性があります。たとえば SELECT 関数を使う場
合、マクロシート上のセル A1 を選択するために =SELECT(A1) と記述する場合が
あります。しかし、もしマクロシートがアクティブシートでない場合には、それ
以降の動作が正常に行われなくなる可能性があります。この場合には
=SELECT(MACRO1.XLM!A1) といったようにシート名を明示することによって回避
することが可能です。

マクロ関数における A1 および R1C1 形式について

Excel 4.0 は行列番号を表す形式として A1 形式と R1C1 形式のどちらでも選択
することができます。(Excel 4.0 の、デフォルトは A1 形式です。)しかし、
一部のマクロ関数においては、文字列として引数あるいは返り値のセル参照を
指定する際、R1C1 形式のみの使用しかできないものがあります。
文字列でセルの参照を行うとは、次のようなものを指します。
  =SELECT(A1)           通常の指定
  =SELECT(SHEET1!$A$1)  通常の指定
  =SELECT("R1C1")       文字列での指定
  =SELECT(,"R[1]C")     文字列での指定
以下のマクロ関数は、セル参照として文字列を使用する場合、必ず R1C1 形式で
指定しなければなりません。
関数名
  • ABSREF
  • COLUMN.WIDTH
  • CONSOLIDATE
  • DEFINE.NAME
  • FORMULA
  • FORMULA.ARRAY
  • FORMULA.FILL
  • FORMULA.GOTO
  • GET.DEF
  • GET.FORMULA
  • GET.NAME
  • GET.NOTE
  • RELREF
  • ROW.HEIGHT
  • RUN
  • SELECT
以下のマクロ関数はセル参照として文字列を使用する場合にも、A1、R1C1 の 両形式ともサポートしています。
関数名
  • FORMULA.CONVERT
  • REFTEXT
  • TEXTREF
また、カスタムダイアログボックスを作成する際、リストボックスなどで、ダ イアログ定義テーブルの第 6 列目であるテキスト列にセル参照を記載する際は
すべて R1C1 形式でなければなりません。

おわりに

数式やマクロを利用する際に、セル参照の指定方法を正しく理解しておかないと、
エラーの発生や予期せぬ結果を招くおそれがあります。 数式の計算結果が予想
に反した結果であったり、マクロが想定した動作を行わなかった場合には、セル
参照が正しいかどうかを確認してください。

Keywords: KB410595
Technology: kbExcel400 kbExcelSearch kbExcelWinSearch

inserted by FC2 system