Как вставить 11 пустых строк после каждого уникального значения - PullRequest
1 голос
/ 18 января 2020

Я создал код для 1 пустой строки, но мне нужно изменить его на 11 пустых строк. У меня 4000 значений в строке. мне нужно вставить 11 строк после каждого уникального значения, найденного в строке A

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 пустых строк.

До:

enter image description here

После:

enter image description here

1 Ответ

0 голосов
/ 18 января 2020

Поцарапайте мой последний ответ, согласно вашим последним комментариям (и скриншотам):

"У меня 4000 значений в строке A. Мне нужно 11 строк между каждым значением строки"

И:

«В моих данных значение, присутствующее в строке, будет уникальным (т. Е.) Диапазон A: 4000 строк являются уникальными»

Для меня это звучит так, как будто все ваши ценности уникальны. Тогда не нужно ничего проверять:

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...