Excel VBA質問箱 IV

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

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


5713 / 13645 ツリー ←次へ | 前へ→

【49259】在庫数を累計、転記したい scot 07/5/29(火) 20:39 質問[未読]
【49260】Re:在庫数を累計、転記したい ウッシ 07/5/29(火) 21:14 発言[未読]
【49304】Re:在庫数を累計、転記したい scot 07/5/30(水) 20:34 お礼[未読]

【49259】在庫数を累計、転記したい
質問  scot  - 07/5/29(火) 20:39 -

引用なし
パスワード
   A列    B列    C列    D列    E列    
    4月    5月    6月    7月    
在庫数    10    20    30    40    


A列  B列 C列 D列 E列 F列 G列 H列 I列 J列 K列
    4月     5月      6月     7月
在庫数 10          30        60      100

Sheet1のB列からE列まで在庫数が入っています。
これをSheet2のB、E、H、K列と3列飛びに累計で転記したいです。


過去の投稿↓を参考に変更してみたのですが
Sub test()
  Dim dt(0 To 6) As Long
  Dim i, j As Long
 
  With Workbook.Worksheets("Sheet1")
   For i = 1 To 6
     dt(i) = dt(i - 1) + .Cells(2, i).Value
     For j = 2 to 11 step 3
     worksheets("Sheet2").Cells(2, j).Value = dt(i)
     Next j
   Next i
  End With
End Sub

これだと合計数字100が3列飛びに表示されます。
どこが間違っているのでしょうか?
どなたかおしえてください。
宜しくお願い致します。

【49260】Re:在庫数を累計、転記したい
発言  ウッシ  - 07/5/29(火) 21:14 -

引用なし
パスワード
   こんばんは

こんな感じでしょうか、

Sub test()
  Dim dt As Variant
  Dim i As Long
  Dim j As Long
  
  With Worksheets("Sheet2")
    dt = Worksheets("Sheet1").Range("B2:E2").Value
    For j = 1 To 4
      .Cells(2, j * 3 - 1).ClearContents
    Next
    For i = 1 To 4
      For j = i To 4
        .Cells(2, j * 3 - 1).Value = _
          .Cells(2, j * 3 - 1).Value + dt(1, i)
      Next
    Next i
  End With
End Sub

【49304】Re:在庫数を累計、転記したい
お礼  scot  - 07/5/30(水) 20:34 -

引用なし
パスワード
   ありがとうございました。
解決です!
勉強になりました。

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