1つの空白行のコードを作成しましたが、11の空白行に変更する必要があります。A行に4000の値があります。A行で見つかった一意の値ごとに11行を挿入する必要があります
Sub AddBlankRows()
'
Dim iRow As Integer, iCol As Integer
Dim oRng As Range
Set oRng = Range("a1")
iRow = oRng.Row
iCol = oRng.Column
Do
'
If Cells(iRow + 1, iCol) <> Cells(iRow, iCol) Then
Cells(iRow + 11, iCol).EntireRow.Insert shift:=x1Down
iRow = iRow + 2
Else
iRow = iRow + 1
End If
'
Loop While Not Cells(iRow, iCol).Text = ""
'
End Sub
したがって、このコードは、一意の値ごとに1つの空白行を挿入しています。11行の空白行に変更したいと思います。
前:
後:
あなたの最後のコメント(およびスクリーンショット)に従って、私の最後の答えをスクラッチします:
「行Aに4000個の値があります。各行の値の間に11行が必要です」
そして:
「私のデータでは、A行に存在する値は一意になります(つまり)範囲A:A4000行が一意になります」
これは、私には、すべての値が一意であるように読めます。それ以上何もテストする必要はありません:
Sub Test()
Dim lr As Long, x As Long, ws As Worksheet
'Set your worksheet as variable
Set ws = ThisWorkbook.Worksheets("Sheet1")
'Get last used row of column A and fill array
lr = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row
'Loop backwards
For x = lr + 1 To 3 Step -1
ws.Rows(x).Resize(11).Insert xlShiftDown
Next x
End Sub
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加