みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

エクセル2007マクロ シート間のセルコピー

[Sheet1]にあるデータを[Sheet2]にコピーするマクロボタンを[Sheet2]に作りたいのですが、マクロがよく分からないので、「マクロの記録」で作成してみました。


Sub siken()
'
' siken Macro
'
'
Sheets("Sheet1").Select
Range("A1").Select
Selection.Copy
Sheets("Sheet2").Select
Range("A1").Select
ActiveSheet.Paste
Sheets("Sheet1").Select
Range("B3").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Sheet2").Select
Range("B3").Select
ActiveSheet.Paste
Sheets("Sheet1").Select
Range("B6:D6").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Sheet2").Select
Range("B6").Select
ActiveSheet.Paste
End Sub
(実際はもっと多くのセルをコピーします)
マクロを実行すると、ちゃんとコピーできるのですが、セルをコピーする都度[Sheet1]と[Sheet2]が交互に表示されます。

コピー元の[Sheet1]を表示させずにマクロを実行させるにはどのようにしたらよいのでしょうか?

よろしくお願いします。

投稿日時 - 2010-02-19 13:43:37

QNo.5689296

すぐに回答ほしいです

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

Sub siken()
Application.ScreenUpdating = False ここを追加
Sheets("Sheet1").Select

間の処理

Application.ScreenUpdating = True  ここを追加
End Sub
のようにすれば[Sheet1]を表示しないと思います。
別の方法もありますが、これが一番わかりやすい方法だと思います。

投稿日時 - 2010-02-19 14:17:17

お礼

早速ご回答ありがとうございます!

すごい!できました!!
とても分かりやすく簡単な方法で感動です。
本当にありがとうございました。

投稿日時 - 2010-02-19 14:52:04

ANo.2

このQ&Aは役に立ちましたか?

3人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

Selectしなければいいのです。

Sub sample()
  With Sheets("Sheet1")
    .Range("A1").Copy Sheets("Sheet2").Range("A1")
    .Range("B3").Copy Sheets("Sheet2").Range("B3")
    .Range("B6:D6").Copy Sheets("Sheet2").Range("B6")
  End With
End Sub

こんな感じに。

投稿日時 - 2010-02-19 14:02:55

補足

解決しました。
ありがとうございました。

投稿日時 - 2010-02-19 14:52:45

お礼

早速ありがとうございます!

もうひとつ教えていただいても良いでしょうか?
「数式」を貼り付ける場合はどのようにすればよいのでしょか。

投稿日時 - 2010-02-19 14:43:37

あなたにオススメの質問