• ベストアンサー

Excel2000VBAでのセル参照について

Excel2000のVBA自動記録である構文をつくりました。 その中で、セルやレンジを特定しているのですが (A1)や(A1:B10)とか.. その後シートの行や列を追加あるいは削除した時に、この部分を自動的に対象のセルやレンジに書き換わる方法というのはあるのでしょうか? (関数式なんかは、自動で参照するよう書き換わるのですが、そのようなイメージです) 初心者です。何卒よろしくお願いします。

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

  • ベストアンサー
回答No.4

No2のshishishishiです。 実際にやってみました。 ワークシート上で、sheet1のA1:B10に「テスト範囲」と名前を定義しました。 一番上と左に行と列を挿入しました。 下記のマクロを実行 Sub test1() Sheets("Sheet1").Range("テスト範囲").Select End Sub B2:C11が選択されました。 こういったことではないのでしょうか?

fuji39
質問者

お礼

具体的に構文までご提示いただきありがとうございました。 (私のような初心者にはとてもありがたいです) ワークシート上で名前を定義する方法とはCtrl+F3の機能ですよね?

すると、全ての回答が全文表示されます。

その他の回答 (6)

回答No.7

No2&No4です。 > ワークシート上で名前を定義する方法とはCtrl+F3の機能ですよね? そうです。

fuji39
質問者

お礼

何度もお手数をお掛けして申し訳ありませんでした。 ありがとうございました。

すると、全ての回答が全文表示されます。
  • mythism
  • ベストアンサー率52% (45/86)
回答No.6

#1です. #1のお礼欄でのご質問に対する回答です. マクロの記録時に「操作終了」というツールボックスが表示されますよね? 2つあるボタンのうちの右側のボタンが相対参照と絶対参照を切り替えるためのボタンになっています. もしも「操作終了」のボタンが表示されないのであれば,一度ダミーでマクロの記録を実行して,記録中にメニューの下の空白部分(灰色の部分)を右クリックし,「記録終了」をチェックすると,ツールボックスが表示されるようになります.

fuji39
質問者

お礼

何度もご回答をいただいて申し訳ありません。 おかげさまで理解できました。 今回の質問の内容は別にして、大変役にたちました。 ありがとうございました。

すると、全ての回答が全文表示されます。
  • mythism
  • ベストアンサー率52% (45/86)
回答No.5

#1です. 対象となるセルの数が多いと大変そうですし,マクロの内容を直接書き換える必要はありますが,確かに#4さん(=#2さん)の方法でできますね. 失礼いたしました.

fuji39
質問者

お礼

何度もすいません。 ご教示大変感謝致します。

すると、全ての回答が全文表示されます。
  • hana-hana3
  • ベストアンサー率31% (4940/15541)
回答No.3

マクロでセルを指定している限り、シートの行や列を削除や移動しても、移動先ではなく、旧位置を対象にして動作してしまいます。 VBAは、定型処理を対象にしているので、ワークシート関数のように対象位置が変わったことを認識する仕組みを持っていません。

fuji39
質問者

お礼

ご教示ありがとうございました。

すると、全ての回答が全文表示されます。
回答No.2

(A1)セルや範囲(A1:B10)に名前を定義します。 そうしてVBAを名前で記述しておけばかわってもOKです。

fuji39
質問者

お礼

ありがとうございます。 今後はそのような作りを考えます。 助かりました。 (今までの作ったやつをどうにか出来れば良かったのですが..)

すると、全ての回答が全文表示されます。
  • mythism
  • ベストアンサー率52% (45/86)
回答No.1

残念ながら,ありません. しかし,自動記録時に「相対参照」の機能を使用することで,アクティブなセルからの相対的な移動として操作を記録することが可能です. 例えば,A1のセルを選択している状態でB3のセルへの移動を相対参照で記録した場合には,それが「列については右へ+1,行については下に+2」という形式で記録されます.そのため,次にB3のセルを選択しているときにこの記録内容を実行すると,再びB3のセルを選択させるのではなく,C5のセルに移動させるということが可能になります. 可能性は低いのですが,場合によってはこの機能により質問者さんの行いたいことが可能になるかもしれませんので,参考までに紹介させていただきました.

fuji39
質問者

お礼

ありがとうございます。 >自動記録時に「相対参照」の機能を使用することで.. 具体的にどのような操作で「相対参照」の機能を使用して自動記録が出来るのでしょうか?(Excel2000) ご教示いただけたら幸いです。

すると、全ての回答が全文表示されます。

関連するQ&A