Как я могу оптимизировать этот макрос, который сортирует и форматирует данные SQL? - PullRequest
0 голосов
/ 09 мая 2019

Я работаю над программой Excel, которая сортирует и форматирует необработанные данные SQL.У меня есть макрос, для обработки данных которого требуется некоторое время, и я бы хотел его оптимизировать.

Этот макрос обрабатывает приблизительно 3500 строк данных и удаляет членства, которые не соответствуют моим параметрам.

Sub MemDel()
    Dim Row As Long
    For Row = Cells(Rows.Count, 1).End(xlUp).Row To 2 Step -1
    With Cells(RowToTest, 1)
    If .Value <> "SILV" _
    And .Value <> "AARP" _
    And .Value <> "REA" _
    And .Value <> "SILVFIT" _
    Then _
    Rows(Row).EntireRow.Delete
    End With
    Next Row
End Sub

1 Ответ

3 голосов
/ 09 мая 2019

Вот как вы бы реализовали предложение @ BigBen:

Sub MemDel()

    Dim ws As Worksheet
    Dim rDel As Range
    Dim CheckCell As Range

    Set ws = ActiveWorkbook.ActiveSheet
    For Each CheckCell In ws.Range("A1", ws.Cells(ws.Rows.Count, "A").End(xlUp)).Cells
        Select Case CheckCell.Value
            Case "SILV", "AARP", "REA", "SILVFIT"   'do nothing
            Case Else:  If rDel Is Nothing Then Set rDel = CheckCell Else Set rDel = Union(rDel, CheckCell)
        End Select
    Next CheckCell

    If Not rDel Is Nothing Then rDel.EntireRow.Delete

End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...