При удалении строк из многосборного VBA диапазона ListBox удаляется только последняя строка - PullRequest
0 голосов
/ 17 октября 2018

Я действительно поднял голову, чтобы найти ответ, прежде чем спрашивать здесь, но я не смог найти решение.

Я новичок в VBA, я сделал все возможное, но я не мог понять это,Я пробовал массивы, с и так далее, и я не мог, так что, если ответ на мой вопрос уже был дан в другом посте, простите меня, хорошо?Я не смог найти, возможно, заголовок вопроса не так ясен, как я искал ...

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

Пожалуйста, помогите мне.Спасибо всем.

Мой код:

Private Sub cmdBDGDeleteExpense_Click()

Dim UserAnswer As Long
Dim i As Long

UserAnswer = MsgBox("Are you sure you would like to delete this expense?", vbCritical + vbYesNo + vbDefaultButton2, "Delete Expense")

If UserAnswer = 6 Then
    For i = lbxBDGExpensesHistory.ListCount - 1 To 0 Step -1
        If lbxBDGExpensesHistory.Selected(i) Then
            Worksheets("expenses_history").Cells(lbxBDGExpensesHistory.ListCount - (lbxBDGExpensesHistory.ListCount - i) + 2, 1).EntireRow.Delete
        End If
    Next i
Else
    MsgBox "Nothing was deleted!"
End If

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