- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VBA シート名とセル位置の指定)
VBAでシート名とセル位置の指定方法
このQ&Aのポイント
- VBA(エクセル2007使用)にて、シート名とセルの位置を指定する方法について教えてください。
- 質問者は連続した置換を実現したいと考えていますが、具体的な置換前・置換後の文字を上手く記載できずに困っています。
- 以下の手順でマクロを実行しようとしています。 1. 置換前・置換後の文字をエクセルに入力し、コピーする。 2. 置換対象範囲を選択しておく。 3. 新規シート(シート名:「置換用」)を追加し、コピーした文字列をA1に貼り付ける。 4. 置換前の文字の個数を数える。 5. 範囲内の文字列を置換していく際に、別のシートのセルを指定して置換したいと思っていますが、どのように記載すれば良いか分かりません。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
とりあえずこんなカンジで。 sub macro1() dim Target as range dim i as long set target = selection if application.cutcopymode <> xlcopy then msgbox "copy find/replacement" exit sub end if with worksheets.add ’.name = "置換用" .range("A1").pastespecial for i = 1 to range("A65536").end(xlup).row target.replace what:=cells(i, "A"), replacement:=cells(i, "B"), lookat:=xlpart next i application.displayalerts = false .delete application.displayalerts = true end with end sub
お礼
回答ありがとうございます。 まさに、やりたいことがこちらです!!!! つたない文章・コードからやりたいことをくみ取って頂きましてありがとうございます。 私が作っていたものよりも、遥かに高度なテクニック満載で、自分の質問が恥ずかしくなります。。。 COUNTAのような関数をわざわざ入れる必要もないんですね。 はじめに、置換対象の文字をコピーしていなかったら、、メッセージが表示されるという個所も、 ご丁寧にありがとうございます。 1から10まで全て作成頂いてしまいました。本当にありがとうございます。 Dim Target As Range Set Target = Selection ⇒これで置換対象範囲を呼び出せるんですね。 シート名を選択しないで書いてみた事が無かったので大変勉強になりました。 全然”とりあえず”なんてものではございません!!!恐れ多いです。 すぐに回答もくださり、本当にありがとうございました!!!!
補足
ベストアンサー決定が遅くなってしまい申し訳ありません。 ボタンがきちんと押せていませんでした。。。。 ありがとうございます!!