Excel VBA удаляет много разных строк

Мое приложение использует Mura CMS, и я столкнулся с этой проблемой. Однако решением было несоответствие пароля между моим локальным сервером mysql и паролем в файлах конфигурации. Как только я их синхронизировал, он работал.

0
задан Ben 5 March 2019 в 03:21
поделиться

2 ответа

' collect rows to be deleted into range r

' Alternate loop construct using iterator (partial code - diff only)
' Dim i as Range
' For Each i in <column range> ' i.e. <EraseCol>2:<EraseCol>10000
'     If i.value Then
'         If r Is Nothing Then
'             Set r = i
'         Else
'             Set r = Union(r, i)
'         End If
'     End If
' Next i

' No need to step backward, this will only scroll up one time.
For i = firstDataRow to LastRow
    If Cells(i, eraseCol).Value Then
        If r Is Nothing Then
            Set r = Rows(i)
        Else
            Set r = Union(r, Rows(i))
        End If
    End If
Next i
r.EntireRow.Delete ' NO UNDO - wipes undo buffer
0
ответ дан Ted D. 5 March 2019 в 03:21
поделиться

Вы близко. Дайте этому шанс:

For i = LastRow To firstDataRow Step -1
    ' collect all rows to be deleted in range r
    If Cells(i, eraseCol).Value Then 
        If r is Nothing Then set r = cells(i,eraseCol) else: Set r = union(r,Cells(i,eraseCol))
    End If
Next

r.EntireRow.Delete

N.B - поскольку вы собираете только ячейки в диапазоне, вы можете зацикливаться вперед, если хотите; но цикл в обратном направлении все равно будет работать

0
ответ дан Scott Holtzman 5 March 2019 в 03:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: