Excel VBA質問箱 IV

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

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


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

【65097】シートの一部分をコピー ととろ 10/4/15(木) 20:51 質問[未読]
【65098】Re:シートの一部分をコピー 超初心者 10/4/16(金) 9:03 発言[未読]
【65166】Re:シートの一部分をコピー ととろ 10/4/21(水) 20:37 お礼[未読]

【65097】シートの一部分をコピー
質問  ととろ  - 10/4/15(木) 20:51 -

引用なし
パスワード
   初めまして。VBA初心者です。
シート名が
13.設備管理(1)
13.設備管理(2)
13.設備管理(3)
   ・
   ・
   ・
   ・
13.設備管理(30)
13.設備管理(31)

カッコ内は一ヶ月の日付です。

31日ではない場合もなりますので、シート名「13.設備管理(*)」
のすべてという指定ができれば、なおよいです。
上記のすべてのシートのセルB5:L7
を同じファイルのシート名「月報」に以下のようにコピーしたいです。

13.設備管理(1)B5:L7 → 月報 B5:L7
13.設備管理(2)B5:L7 → 月報 B8:L10
13.設備管理(3)B5:L7 → 月報 B11:L13
      ・
      ・
      ・
      ・
参考書を見て調べていますが、なかなかうまくいきません。何方か
お知恵を貸してください。

【65098】Re:シートの一部分をコピー
発言  超初心者  - 10/4/16(金) 9:03 -

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

こんな感じでいかがでしょう。

Sub sample()
  Dim myYear As Integer
  Dim myMonth As Integer
  Dim myDay As Integer
  
  myYear = 2010
  myMonth = 4
  
  myDay = 1
  With Sheets("月報")
    Do
      .Cells(myDay * 3 + 2, 2).Resize(3, 1).Value = _
      Sheets("設備管理(" & myDay & ")").Range("B5:L7").Value
      myDay = myDay + 1
    Loop While Month(DateSerial(myYear, myMonth, myDay)) = myMonth
  End With
End Sub

参考までに。

【65166】Re:シートの一部分をコピー
お礼  ととろ  - 10/4/21(水) 20:37 -

引用なし
パスワード
   超初心者 さんへ
早速の回答ありがとうございます。
超初心者なんてとんでもないです。
これで問題ないと思います。
使わせていただきます。
返事が遅くなりすみませんでした。

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