Sub 縦リストを横リストに変換() Dim i As Long Dim Q As Long Dim Z As Long Dim LastRow As Long Dim myList As Variant

Visual Basic | Excel22閲覧xmlns="http://www.w3.org/2000/svg">50

ベストアンサー

0

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

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

お礼日時:3/4 10:29

その他の回答(2件)

0

セルの個別の読み書きは無しで、配列だけで Sub 縦リストを横リストに変換β() Dim i As Long, k As Long, D, V V = Range("A1", Cells(Rows.Count, 1).End(xlUp)).Value ReDim D(1 To Int(UBound(V) / 5) + 1, 1 To 5) For i = 1 To UBound(V) Step 5 k = k + 1 D(k, 1) = V(i, 1): D(k, 2) = V(i + 1, 1): D(k, 3) = V(i + 2, 1) D(k, 4) = V(i + 3, 1): D(k, 5) = V(i + 4, 1) Next i Cells(1, 4).Resize(UBound(D), 5) = D End Sub

ありがとうございました!私の説明が悪かったのか、デバックが必要な箇所がでてきてしまい、修正する力がありませんでした・・。精進します。本当にありがとうございました。

1

もっとシンプルなコードのほうが解りやすいのでは? Sub 縦リストを横リストに変換Ⅱ() Dim i As Long, ii As Long Const cStp As Long = 5 '項目数 Application.ScreenUpdating = False With Range("D1") For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row Step cStp Cells(i, 1).Resize(cStp).Copy .Offset(ii).PasteSpecial Paste:=xlPasteValues, Transpose:=True ii = ii + 1 Next i End With Application.ScreenUpdating = True End Sub

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