Excel VBA質問箱 IV

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

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


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

【53434】ひとつのシートのデータを複数のシートへ貼り付けていきたい snoopy 08/1/11(金) 10:32 質問[未読]
【53435】Re:ひとつのシートのデータを複数のシート... ハチ 08/1/11(金) 10:43 発言[未読]
【53436】Re:ひとつのシートのデータを複数のシート... snoopy 08/1/11(金) 11:14 質問[未読]
【53437】Re:ひとつのシートのデータを複数のシート... じゅんじゅん 08/1/11(金) 11:32 発言[未読]
【53439】Re:ひとつのシートのデータを複数のシート... snoopy 08/1/11(金) 12:12 質問[未読]
【53440】Re:ひとつのシートのデータを複数のシート... じゅんじゅん 08/1/11(金) 12:46 発言[未読]
【53441】Re:ひとつのシートのデータを複数のシート... snoopy 08/1/11(金) 14:01 お礼[未読]

【53434】ひとつのシートのデータを複数のシートへ...
質問  snoopy  - 08/1/11(金) 10:32 -

引用なし
パスワード
   ひとつのシートのデータを複数のシートへ貼り付けていきたいのですが、
今現在使用しているコードは
  Sheets("元").Select
  Range("A1:B2").Select
  Application.CutCopyMode = False
  Selection.Copy
  Sheets("あ").Select
  Range("A1").Select
  Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone,
  SkipBlanks:= _
  False, Transpose:=False
"元"のシートのA1からB2までコピーして
"あ"のシートのA1に貼付ています。
次に元シートのA3からB4までコピーして
"い"のシートに貼り付ける
とういう具合に上記のコードをシート名とセルの位置を変更して
記入していますが、貼り付けるシート数が増え上記のコードを延々と
書いているのですが他になにかよい方法はありますでしょうか??
宜しくお願いします

【53435】Re:ひとつのシートのデータを複数のシー...
発言  ハチ  - 08/1/11(金) 10:43 -

引用なし
パスワード
   ▼snoopy さん:

.Copyはコピー先を指定することができます。
ヘルプに書かれているのが、参考になりませんか?

ヘルプより引用:
次の使用例は、シート 1 のセル範囲 A1:D4 をシート 2 のセル範囲 E5:H8 にコピーします。

Worksheets("Sheet1").Range("A1:D4").Copy _
  destination:=Worksheets("Sheet2").Range("E5")


それとも、法則性があって自動化したいということですか?

【53436】Re:ひとつのシートのデータを複数のシー...
質問  snoopy  - 08/1/11(金) 11:14 -

引用なし
パスワード
   ハチ さんご回答ありがとう御座います。
.Copy
これでコードが短くできるんですね!
なるほどヘルプも熟読が必要でした・・・

>それとも、法則性があって自動化したいということですか?

説明不足で申し訳御座いませんでした。
ハチさんのおっしゃるように法則性がありそれを自動で行いたいのです。
元のシートにデータがA1からB2まではSheet"あ"に
元シートのA3からB4まではSheet"い"に
元シートのデータをずらしながらシートの数分あ、い、う〜それぞれに
貼り付ける作業を今はシートを指定して同じコードを延々と書いているので
もし他に方法があればと思いまして・・・
宜しくお願いします。

【53437】Re:ひとつのシートのデータを複数のシー...
発言  じゅんじゅん  - 08/1/11(金) 11:32 -

引用なし
パスワード
   ▼snoopy さん:
>説明不足で申し訳御座いませんでした。
>ハチさんのおっしゃるように法則性がありそれを自動で行いたいのです。
>元のシートにデータがA1からB2まではSheet"あ"に
>元シートのA3からB4まではSheet"い"に
>元シートのデータをずらしながらシートの数分あ、い、う〜それぞれに
>貼り付ける作業を今はシートを指定して同じコードを延々と書いているので
>もし他に方法があればと思いまして・・・
>宜しくお願いします。

元シートが一番左にあって、左から2番目以降のシートにデータを
コピペしていきたいという感じでしょうか?

【53439】Re:ひとつのシートのデータを複数のシー...
質問  snoopy  - 08/1/11(金) 12:12 -

引用なし
パスワード
   じゅんじゅん さんご回答ありがとう御座います

>元シートが一番左にあって、左から2番目以降のシートにデータを
>コピペしていきたいという感じでしょうか?

おっしゃるとおりです。
現在のシート構成では、
元、マスタ、あ、い、う、え、〜のような並びです。
コピー元が元、ペースト先があ、い、う〜になります。

説明不足が多くわかりづらい文章で申し訳ございません。
宜しくお願いします。

【53440】Re:ひとつのシートのデータを複数のシー...
発言  じゅんじゅん  - 08/1/11(金) 12:46 -

引用なし
パスワード
   ▼snoopy さん:
>じゅんじゅん さんご回答ありがとう御座います
>
>>元シートが一番左にあって、左から2番目以降のシートにデータを
>>コピペしていきたいという感じでしょうか?
>
>おっしゃるとおりです。
>現在のシート構成では、
>元、マスタ、あ、い、う、え、〜のような並びです。
>コピー元が元、ペースト先があ、い、う〜になります。
>
>説明不足が多くわかりづらい文章で申し訳ございません。
>宜しくお願いします。

Sub test()
 Dim i As Integer
 
 For i = 1 To Sheets.Count - 2
   Sheets(1).Range("A" & i * 2 - 1 & ":B" & i * 2).Copy _
   Sheets(i + 2).Range("A1")
 Next
End Sub
こんな感じの事ですか?

【53441】Re:ひとつのシートのデータを複数のシー...
お礼  snoopy  - 08/1/11(金) 14:01 -

引用なし
パスワード
   じゅんじゅん さんご回答ありがとうございます。

>Sub test()
> Dim i As Integer
> 
> For i = 1 To Sheets.Count - 2
>   Sheets(1).Range("A" & i * 2 - 1 & ":B" & i * 2).Copy _
>   Sheets(i + 2).Range("A1")
> Next
>End Sub
>こんな感じの事ですか?

こちらのコードで出来ました!
じゅんじゅんさんのコードを参考に、作らせていただきました。
思ったとおり動いてくれました。
ありがとうございます!!

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