excel・マクロ初歩的な質問です。webからのデータをセルに貼り付けるマクロを作成しました。毎日貼り付けるセル位置は変わっていくので、自分の指定したセルにそのマクロを実行させたいのですがA1にセルをおいてマクロを記録させると毎回毎回A1にデータが貼り付けられてしまいます。指定したセルにマクロを実行させる方法を教えてください。

回答の条件
  • 1人2回まで
  • 登録:
  • 終了:2007/03/28 23:21:22
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答4件)

id:taknt No.1

回答回数13539ベストアンサー獲得回数1198

ポイント27pt

実行時に選択されているセルは 以下で取得できます。

r = ActiveCell.Row

c = ActiveCell.Column

で、選択されているところに 値をセット

Cells(r, c) = "選択されたところ"

id:ayaka2002

すみません。全然意味がわかりません。

VisualBasicを見ると、

Destination:=Range("A75")

こんな風に書いてある部分がありますが、ここに何か変更を加えれば自分の好きなところにマクロが動くようになるのでしょうか?

2007/03/28 13:44:56
id:taknt No.2

回答回数13539ベストアンサー獲得回数1198

ポイント27pt

Destination:=Range("A75")

これは Range("A75")のセルの内容を Destinationに入れるという意味でしょう。

間に入っている : は ちょっと何なのかは わかりませんが。


http://www.microsoft.com/japan/office/previous/2003/experience/w...

あと マクロの記録をとるときに相対参照で 記録するというやり方があります。

id:ayaka2002

そうですか、ありがとうございます。ちょっと調べてみます。

2007/03/28 14:18:43
id:arhbwastrh No.3

回答回数447ベストアンサー獲得回数23

ポイント90pt

sub ○○()

の下に

r = ActiveCell.Row

c = ActiveCell.Column

それから、Range("A1")をCells(r,c)に置き換えてください。

id:ayaka2002

できました!感動的です。ありがとうございました、とっても助かりました。

2007/03/28 23:20:29
id:nandedarou No.4

回答回数230ベストアンサー獲得回数34

ポイント10pt

Destination:=Range("A75")

はある関数のDestinationという引数にRange("A75")という値をセットするという意味です。引数を渡すときにこの様に明示的に引数名を指定することによって、引数を渡す順番を気にする必要がなくなり、かつ、意味が分りやすくなるというメリットがあります。


>ここに何か変更を加えれば自分の好きなところにマクロが動くようになるのでしょうか?

マクロを全部見てみないと分りませんが、その可能性はあります。

質問文の「自分の指定したセル」とは、前回最後にクリックしたセルということですか?もしそうならば、

Destination:=ActiveCell

と変えてみて下さい。

マクロを見せていただければ、正確にお答えできると思います。

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません