Excel VBA質問箱 IV

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

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


20733 / 76738 ←次へ | 前へ→

【61418】Re:コピーして貼り付け
発言  ゆみこん  - 09/5/7(木) 13:10 -

引用なし
パスワード
   商品は14まで必ずあるとして

Sub try2()
  Dim r As Range, rr As Range

  Set rr = Worksheets("Sheet2").Range("A1")
 
  Application.ScreenUpdating = False
  With Worksheets("Sheet1")
    ' Sheet1のA2〜A列最終行までをループ
    For Each r In .Range(.Range("A2"), .Cells(Rows.Count, 1).End(xlUp))

      ' IDと名前を転記
      r.Resize(, 2).Copy rr

      ' 商品名1〜商品名14の項目を転記
      .Range("C1,E1,G1,I1,K1,M1,O1,Q1,S1,U1,W1,Y1,AA1,AC1").Copy rr.Offset(1)

      ' ID毎の各商品個数(?)を転記
      r.Range("C1,E1,G1,I1,K1,M1,O1,Q1,S1,U1,W1,Y1,AA1,AC1").Copy rr.Offset(2)

      ' ID毎の各商品金額を転記
      r.Range("D1,F1,H1,J1,L1,N1,P1,R1,T1,V1,X1,Z1,AB1,AD1").Copy rr.Offset(3)

      ' 項目名”合計”を代入
      rr.Offset(1, 14).Value = "合計"

      ' ID毎の金額の合計を”合計”の列に代入
      rr.Offset(3, 14).Value = Application.Sum(rr.Offset(3).Resize(, 14))

      ' Sheet2のA列の行数を4行ずらす
      Set rr = rr.Offset(4)
    Next
  End With
 
  Application.ScreenUpdating = True
  Set rr = Nothing
End Sub

こちらの方がわかりやすいでしょうか?

0 hits

【61413】コピーして貼り付け nao3 09/5/7(木) 8:26 質問
【61415】Re:コピーして貼り付け ゆみこん 09/5/7(木) 9:48 発言
【61417】Re:コピーして貼り付け nao3 09/5/7(木) 12:02 質問
【61418】Re:コピーして貼り付け ゆみこん 09/5/7(木) 13:10 発言
【61419】Re:コピーして貼り付け nao3 09/5/7(木) 13:55 お礼

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