Ненормальный выход, когда только одни данные - PullRequest
0 голосов
/ 01 мая 2019

У меня есть следующий код для отображения вывода при выполнении кода.Все было в порядке, кроме вывода, отображаемого, когда доступны только одни данные.

Sub STELStatusCheck_click()
Dim MyArray()
Dim LastRow As Long, LastRow2 As Long
Dim ctr As Long
Dim ws As Worksheet
Application.ScreenUpdating = False
On Error Resume Next

LastRow = Sheet11.Cells(Sheet11.Rows.Count, 2).End(xlUp).Row
LastRow2 = Sheet13.Cells(Sheet13.Rows.Count, 2).End(xlUp).Row

With Sheet11
    ctr = 0
    For i = 4 To LastRow

        If .Cells(i, 18) = "Closed" Then
            If IsError(Application.Match(.Cells(i, 5).Value,  Sheet13.Columns(5), 0)) Then
                ReDim Preserve MyArray(0 To 2, 0 To ctr)
                MyArray(0, ctr) = .Cells(i, 5).Value
                MyArray(1, ctr) = .Cells(i, 6).Value
                MyArray(2, ctr) = "Waiting Installation"
                ctr = ctr + 1
            ElseIf Not IsError(Application.Match(.Cells(i, 5).Value, Sheet13.Columns(5), 0)) And Evaluate("Sumproduct((sktPCE!e6:e" & LastRow2 & "=""" & _
                           .Cells(i, 5) & """)*(sktPCE!u6:u" & LastRow2 & "=""In Service""))") = 0 Then
                ReDim Preserve MyArray(0 To 2, 0 To ctr)
                MyArray(0, ctr) = .Cells(i, 5).Value
                MyArray(1, ctr) = .Cells(i, 6).Value
                MyArray(2, ctr) = "Waiting Installation"
                ctr = ctr + 1
            End If
        End If
    Next i
End With
With UserForm1
    With .ListBox1
        .Clear
        .ColumnHeads = False
        .ColumnCount = 3
        .ColumnWidths = "50;50;50"
        .List = Application.WorksheetFunction.Transpose(MyArray)
        .TopIndex = 0
    End With
    .Show

    End With
    Application.ScreenUpdating = True
    End Sub

1-й снимок - это то, что я сказал ненормальный, и он должен отображать вывод как 2-й снимок.

Ненормальныйвыход
Abnormal output

Желаемый выход
Desired output

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