• ベストアンサー

エクセルのマクロ絶対参照と相対参照の指定方法

私は、エクセルでマクロ自動記録を勉強しはじめたものです。 エクセル2000の参考書で絶対参照と相対参照の指定方法の説明をみると、 「マクロの記録中に表示される<記録終了>ツールバーの<相対参照>ボタンで切り替えます。 このボタンをくぼんでいない状態にすると絶対参照、クリックしてくぼんだ状態にすると相対参照で記録されます。」 以上のように解説されているのですが、実際に試してみると、 ステップ1. ツールバー→マクロ→新しいマクロの記録→マクロ名とショートカットキー入力→OK ステップ2.操作どうりに自動的にマクロが記入される。 ステップ3.ツールバー→マクロ→マクロの終了→クリック ステップ4.絶対参照のマクロが登録されてしまいます。 絶対・相対参照の切り替えステップをが見つけることが出来なくて困っています。 過去カテによれば マクロの記録時に「操作終了」というツールボックスが表示されますよね? 2つあるボタンのうちの右側のボタンが相対参照と絶対参照を切り替えるためのボタンになっています. もしも「操作終了」のボタンが表示されないのであれば,一度ダミーでマクロの記録を実行して,記録中にメニューの下の空白部分(灰色の部分)を右クリックし,「記録終了」をチェックすると,ツールボックスが表示されるようになります。 これも試しましたが、マクロの記録時に「操作終了」も 記録中にメニューの下の空白部分(灰色の部分)も見付ける事が出来ません。 WindowsMe Office2000Personalに於いては、絶対・相対参照の切り替えは不可能なのでしょうか? 可能なら絶対・相対参照の切り替えボタンを表示させる方法を教えて頂きたいと思います、よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • FEX2053
  • ベストアンサー率37% (7991/21371)
回答No.2

>ステップ1. ツールバー→マクロ→新しいマクロの記録・・・ >ステップ2.操作どうりに自動的にマクロが記入される。 この間に「記録終了」のボタンがある小さなダイアログみたいなのが 出てきますよね。これが「記録終了ツールバー」です。 で、その「記録終了」ボタンの右側のなにやら格子の絵のあるボタン が「相対参照」ボタンなのですが。 で、相対参照にすると、例えば貼り付け時に選択するセルが、コピー 元のセルからのOffsetで記載されますが、絶対参照だと、貼り付け先の セル位置が直接記載されます。 「新しいマクロの記録」で「OK」した時に、画面上に小さなダイアログ (記録終了ツールバー)が出てこないなら、この時点で「表示」 「ツールバー」に出てくる「記録終了」を選択して表示させて下さい。 マクロが記録状態になっていないと、この「記録終了」の選択肢は 出てきませんので注意してください。

shorun
質問者

お礼

>「新しいマクロの記録」で「OK」した時に、画面上に小さなダイアログ >(記録終了ツールバー)が出てこないなら、この時点で「表示」 >「ツールバー」に出てくる「記録終了」を選択して表示させて下さい。 表示 →ツールバー → ユーザー設定 →「記録終了」 (記録終了ツールバー)を発見することが出来ました。 「ユーザー設定」の中にあるとは想像圏外でした!! ご回答のおかげさまで、質問の範囲を超えてよい勉強になりました。 ありがとうございました。

その他の回答 (2)

回答No.3

マクロ初心者なのにずうずうしくも回答してしまったNo.1です。マクロに"$A$1"なんていう記述はあり得ませんでしたね。超恥ずかしい!! FEX2053さんに大感謝です!!! 私からもFEX2053さんに「良回答20pt」を差し上げたいところです。 因みに、私は、 ・絶対参照 (1) Range("A1") (2) Cells(1,1) ・相対参照 (3) Cells(1+i,1+j) (4) Range("A1").Cells(m,n) (5) Range("A1").Offset(m,n) という理解ですが、(5)は使用したことがないため、(5)と(4)の違いは良く分かっていません‥‥

shorun
質問者

お礼

ありがとうございます、参考にさせていただきます。 まだ、マクロを直接では読み書き出来ないレベルなので 自動記録を勉強中です。

回答No.1

マクロ自動記録のセル指定で、絶対参照と相対参照を使い分けたいということでしょうか。ご質問の趣旨を取り違いていたら、ご容赦下さい。 ・マクロ自動記録中でなくても同様ですが、セルを選択した際、F4キーを押すことで絶対参照と相対参照の切り替えは可能です。4パターンありますから、F4キーを押すたびに切り替わります。 ・マクロ記録後、変更したい場合は、モジュールを開いて、置換すればさほど手間が掛からないと思います。その際、"A"→"$A"と置換したい場合、セルとは関係ない箇所で"A"が出てくるかも知れませんから、例えば"Sheet1!A"→"Sheet1!$A"として、他の"A"が置換されないようにして下さい。

関連するQ&A