エクセルマクロに関する初歩的な質問です。


■以下の一連の流れをできるだけ簡素化して書きたく思ってるのですが、どう書けばいいのでしょう?

▼▼▼▼▼
Windows("コピー元ブック").Activate
Sheets("コピー元シート").Select
Range("B1").Select
Selection.Copy

Windows("貼り付けブック").Activate
Sheets("貼り付けシート").Select
Range("E11").Select
ActiveSheet.Paste
▲▲▲▲▲


■具体的な記入例教えて頂けると嬉しいです。

それではご回答お待ちしております。

回答の条件
  • 1人3回まで
  • 登録:2006/06/07 00:42:40
  • 終了:2006/06/08 03:13:59

回答(2件)

id:gong1971 No.1

gong1971回答回数443ベストアンサー獲得回数682006/06/07 01:17:50

ポイント60pt

Selectの必要がなく単にコピー・貼り付けだけでよければ、、、

Workbooks("コピー元ブック").Sheets("コピー元シート").Range("B1").Copy Destination:=Workbooks("貼り付けブック").Sheets("貼り付けシート").Range("E11")

こんな感じになります。

id:gsjapan

一行にできるんですねw

期待通りの回答でしたのであとで満額お渡しします。

ありがとうございました♪

追加で質問…

▼▼▼▼▼

Windows("コピー元ブック").Activate

Sheets("コピー元シート").Select

Range("B1").Select

▲▲▲▲▲

これを1行で書くのは可能なんでしょうか?

ご回答お待ちしております!(どなたでもOKです)

2006/06/07 03:22:59
id:gong1971 No.2

gong1971回答回数443ベストアンサー獲得回数682006/06/07 11:53:40

ポイント20pt

追加の質問に関しては無理かと...思ったのですが、

[編集]メニュー[ジャンプ]の機能を使えば可能かもと思い...

Application.Goto Reference:="'[コピー元ブック]コピー元シート'!R1C2"
※R1C2は1行目2列目のセル(B1)を表します。(RはRow、CはColumnの略。)

これでおそらく希望通りの動作になるかと思います。


ただ厳密にActivateメソッドやSelectメソッドと

同じかと言われると...分かりません。


http://www.moug.net/tech/exvba/0050031.htm

※最初の質問の参考ページ

http://www.moug.net/tech/exvba/0050101.htm

id:gsjapan

オオ動きました。

2度にわたる希望通りのご回答ありがとうございました。

また何かありましたらヨロシクお願いします。

ということで、今回の質問終了させて頂きます~

2006/06/08 03:12:28

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

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

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

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

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません