[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『VBAでシートをアクティブにしないでコピー貼り付け』(EVO7)
[VBAでワークシートをアクティブにしないでコピー、貼り付け]
久しぶりにお邪魔します。 ワークシート間でコピー貼り付けをマクロの記録で実行すると 例えば、 1) Sheet1をアクティブ 2) 範囲選択 3) 選択範囲コピー 4) Sheet2をアクティブ 5) 貼り付け範囲を選択 6) 貼り付け の、ような記述がされますが、1),2)及び4),5)の部分を省いた形で ダイレクトに表す構文はあるでしょうか? もしできればどのように記述すれば良いかご教授御願いします。 (EVO7)
こんな感じでいかがでしょうか? Worksheets("Sheet1").Range("A1:B10").Copy ActiveSheet.Paste Destination:=Worksheets("Sheet2").Range("A1:B10") (ケン)
早速の回答ありがとう御座います。 教えて頂きました通りで実行するとできました。 ですが、別の問題が発生しました。 Rangeを変数を使う都合上、R1C1形式で入力したいと思い、試しに Worksheets(1).Range(Cells(1, 1), Cells(10, 2)).Copy としてみましたが、エラーが出ます。 間違ってる箇所はどこでしょうか? すみませんが宜しく御願いします。 (EVO7)
何エラーですか? セルの結合とか使っていませんか? (INA)
確かに Worksheets(1).Range(Cells(1, 1), Cells(10, 2)).Copy Destination:= _ Worksheets("Sheet2").Range("A1:B10") このようには書けないみたいですね。 実行時エラー'1004' アプリケーション定義またはオブジェクト定義エラーとなります。 INAさんが来てくれたので、一緒におしえてもらお。 (ケン)
衝突しましたが・・・ お世話になります。 エラーは 実行時エラー"1004" アプリケーション定義またはオブジェクト定義のエラーです とでました。再現するのはSheet2をアクティブ状態でマクロを実行すると 出るようで、Sheet1をアクティブ状態で実行すると出ないようです。 (EVO7)
その構文でエラーにはなりませんよ。
ただし、cellsのシートを省略すると、記述したモジュールに応じたシートが 参照されるので注意が必要です。
with Worksheets(1) .Range(.Cells(1, 1), .Cells(10, 2)).Copy ・・・ end with
(INA)
そうか〜。 気が付かなかった。勉強になった。 有難うございます。 (ケン)
構文はこうなりますか? Sub TEST() With Worksheets(1) .Range(Cells(1, 1), Cells(10, 2)).Copy ActiveSheet.Paste Destination:=Worksheets("Sheet2").Range("A1:B10") End With End Sub これでも、Sheet2がアクティブだと同じエラーが出ますが・・・ (EVO7)
こうでしょう? Sub TEST() With Worksheets(1) .Range(.Cells(1, 1), .Cells(10, 2)).Copy Destination:= _ Worksheets("Sheet2").Range("A1:B10") End With End Sub (ケン)
すみません。 構文を記述する基本がなってなくて・・・ おかげさまでうまく出来ました。 (ケン)様、(INA)様、ありがとう御座いました。 (EVO7)
追加質問よろしいでしょうか? この手法を応用して、単純貼り付けを値貼り付けに変更しようと思いましたが、 Pastespecial・・・・をどこに記述すればよいのか分からず悩んでます。 ご教授頂ければ幸いです。 (EVO7)
With Worksheets(1) .Range(.Cells(1, 1), .Cells(10, 2)).Copy Worksheets(2).Range("A1").PasteSpecial Paste:=xlPasteValues End With こんな感じで如何でしょうか。 (ケン)
早速の回答ありがとう御座います。 出来ました!Destination:= ・・・はどこかに必要なのかな???と思い、 色々試したのですがうまくいかなかったもので・・・ Destination:= は状況によって使い分けないとダメなんですね。 Destination:= <これ自体、クエリーテーブルが何々・・・とヘルプには 書いてあっても理解できず・・・今後も勉強したいと思います。 ありがとう御座いました。 (EVO7)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.