Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


7808 / 13644 ツリー ←次へ | 前へ→

【36664】別のシートへ指定範囲を同時に複写したい... 無頼斎 06/4/7(金) 11:44 質問[未読]
【36668】Re:別のシートへ指定範囲を同時に複写した... Kein 06/4/7(金) 13:40 回答[未読]
【36721】Re:別のシートへ指定範囲を同時に複写した... 無頼斎 06/4/10(月) 21:04 質問[未読]
【36722】Re:別のシートへ指定範囲を同時に複写した... Kein 06/4/10(月) 21:27 回答[未読]
【36723】Re:別のシートへ指定範囲を同時に複写した... 無頼斎 06/4/10(月) 22:01 質問[未読]
【36724】Re:別のシートへ指定範囲を同時に複写した... Kein 06/4/10(月) 22:27 回答[未読]
【36726】Re:別のシートへ指定範囲を同時に複写した... 無頼斎 06/4/10(月) 23:14 お礼[未読]

【36664】別のシートへ指定範囲を同時に複写したい...
質問  無頼斎  - 06/4/7(金) 11:44 -

引用なし
パスワード
   お久し振りでございます。無頼斎です。

質問なのですが、あるシートの指定範囲(A1〜Y47)の内容を別のシートへ

同時にコピーして、変更を反映させたいのですができますでしょうか?

指定範囲には、罫線や結合セルが含まれておりますし、フォントの変更や文字の

拡大・縮小も反映させたいのです。被コピーシートのA1〜Y47以外の範囲には、

特定の文字が入力されておりますので、消えないように残したいのです。

どうか、よろしくご教示いただければと思います。

【36668】Re:別のシートへ指定範囲を同時に複写し...
回答  Kein  - 06/4/7(金) 13:40 -

引用なし
パスワード
   普通に Copyメソッドの引数で貼り付け先を指定する方法で、うまくいくようです。
Range("A1:Y47").Copy Sheets("Sheet2").Range("A1")
というように。

【36721】Re:別のシートへ指定範囲を同時に複写し...
質問  無頼斎  - 06/4/10(月) 21:04 -

引用なし
パスワード
   ▼Kein さん:
>普通に Copyメソッドの引数で貼り付け先を指定する方法で、うまくいくようです。
>Range("A1:Y47").Copy Sheets("Sheet2").Range("A1")
>というように。

ご解答ありがとうございます。

しかしながら、

下記のようにコードを入力しましたところ、

「インデックスが有効範囲にありません」

と表示されました。

Sub CopyMethod3()
  Worksheets("Sheet1").Select
  Range("A1:Y47").Select
  Selection.Copy
  Worksheets("Sheet2").Select
  Range("A1").Select
  ActiveSheet.Paste
  Worksheets("Sheet1").Select
End Sub

よろしくご教示下さい。

【36722】Re:別のシートへ指定範囲を同時に複写し...
回答  Kein  - 06/4/10(月) 21:27 -

引用なし
パスワード
   そのようなエラーは、ブック名やシート名が実在しないときに出ます。
よくチェックしてみて下さい。あと、私が書いたコードは試してないのかな ?

Sheets("Sheet1").Range("A1:Y47").Copy Sheets("Sheet2").Range("A1")

これだけで済む、と書いたはずですが。

【36723】Re:別のシートへ指定範囲を同時に複写し...
質問  無頼斎  - 06/4/10(月) 22:01 -

引用なし
パスワード
   早速のご教示ありがとうございます。

試してはみましたが、列幅が列によって異なります。

Keinさんのコードですと均等な列幅のままです。

コピーする対象が列幅もいっしょに

コピーされるようにしたいのですが、できますでしょうか?

【36724】Re:別のシートへ指定範囲を同時に複写し...
回答  Kein  - 06/4/10(月) 22:27 -

引用なし
パスワード
   ならば

Sub Test_Copy()
  With Sheets("Sheet2")
   .Activate
   Sheets("Sheet1").Range("A1:Y47").Copy
   With .Range("A1")
     .PasteSpecial 1
     .PasteSpecial 8
     .Select
   End With
  End With
  Application.CutCopyMode = False
End Sub

で、どうでしょーか ?

【36726】Re:別のシートへ指定範囲を同時に複写し...
お礼  無頼斎  - 06/4/10(月) 23:14 -

引用なし
パスワード
   ありがとうございました。

できました!!

すごいですね!Keinさん。

わたしも、がんばってVBAを勉強していきたいですね。

自分でもいつか何とか独力でできればいいなって思っています。ありがとうございました。

また、コードに限らず、少し疑問に思ったら尋ねにきます。

それでは。

敬具

7808 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free