人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

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

●質問者: ayaka2002
●カテゴリ:コンピュータ 学習・教育
✍キーワード:A1 Excel Web セル データ
○ 状態 :終了
└ 回答数 : 4/4件

▽最新の回答へ

1 ● きゃづみぃ
●27ポイント

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

r = ActiveCell.Row

c = ActiveCell.Column

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

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

◎質問者からの返答

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

VisualBasicを見ると、

Destination:=Range("A75")

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


2 ● きゃづみぃ
●27ポイント

Destination:=Range("A75")

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

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


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

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

◎質問者からの返答

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


3 ● arhbwastrh
●90ポイント

sub ○○()

の下に

r = ActiveCell.Row

c = ActiveCell.Column

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

◎質問者からの返答

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


4 ● nandedarou
●10ポイント

Destination:=Range("A75")

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


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

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

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

Destination:=ActiveCell

と変えてみて下さい。

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

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ