マクロを組んでデータの蓄積をしたいのですが最大15行分だったり最少1行分だったりします。

Visual Basic184閲覧

ベストアンサー

1
画像

1人がナイス!しています

ThanksImg質問者からのお礼コメント

ありがとうございました。

お礼日時:5/18 21:23

その他の回答(1件)

1

こういうことでしょうか? 添付図を確認してください。 入力画面 シート c7:c21,c23:c37 c7:c21の範囲には空白セルがあります。 ※結果シートは返信欄に添付します。 Sub データ蓄積2() Dim ws As Worksheet Dim g As Long Dim n As Long Dim k As Long Dim rng As Range '2行,15列分の値を格納できる二次元配列 Dim Rst(1 To 2, 1 To 15) Set ws = Worksheets("データ蓄積") With Worksheets("入力画面") .Select n = 0 '.Range("")で指定した範囲の各セル For Each rng In .Range("c7:c21,c23:c37") 'rngがc23になったらnを0にする If rng.Row = 23 Then n = 0 'rngがc21までの場合=1,c22以降の場合=2 k = IIf(rng.Row <= 21, 1, 2) 'rngが空白ではない場合 If rng.Value <> "" Then 'nを1加算する n = n + 1 '値を格納 Rst(k, n) = rng.Value End If Next rng End With g = ws.Cells(Rows.Count, 1).End(xlUp).Row + 1 '結果を出力 ws.Cells(g, 1).Resize(2, 15).Value = Rst End Sub

画像

1人がナイス!しています