- ベストアンサー
エクセルVBAで選択していないシートのセルコピー
エクセルVBAで質問させてください。 現在選択していないシートから、セルの書式ごとコピーして貼り付けたいのです。 たとえば Sheets(1).Range(Cells(1, 1), Cells(4, 1)).Copy Sheets(2).Range("A1") 等とすると、Sheets(2)が選択されている状態だとエラーになってしまいます。 おそらく、Copyメソッドというのは、選択されているシートにのみ有効だからなのではないか、と思いますが、セルの値だけでなくフォントその他の書式を、別のシート(現在アクティブでない)から持ってくる方法はありますか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
Sheets(1).Range(Sheets(1).Cells(1, 1), Sheets(1).Cells(4, 1)).Copy Sheets(2).Range("A1") ではどうでしょうか? ちなみに、 >Sheets(1).Range(Cells(1, 1), Cells(4, 1)).Copy Sheets(2).Range("A1") が、 Sheets(1)のモジュールなら常にエラーになりません。 Sheets(2)のモジュールなら常にエラーになります。 標準モジュールのモジュールならSheets(1)がActiveSheetならエラーになりません。
その他の回答 (1)
noname#57896
回答No.1
先頭に Sheets(1).Select を入れるのは邪道ですか?
質問者
お礼
はい。私が聞きたかったのはselectでシートを選択せずに行えるのかということなんです。 無理なんでしょうかね・・・?
お礼
やってみたところできました。 どうもありがとうございました。