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