嵌套的If語句有些問題,導致Do循環錯誤。如果我簡化我的If塊到一個項目,它工作正常。 (我通常在VS中使用C#.NET)。這應該是Excel中簡單表單的一部分,以幫助數據輸入。Excel VBA err:循環沒有做
Private Sub cbDelete_Click()
If tbName.Value = "" Then
MsgBox "Sorry, please navigate to a non-blank row."
Exit Sub
End If
Dim i As Integer
i = 3
Do While ThisWorkbook.Worksheets("Non-SR").Range("A" & i).Value <> ""
'MsgBox ThisWorkbook.Worksheets("Non-SR").Range("A" & i).Value
If (tbName.Value = ThisWorkbook.Worksheets("Non-SR").Range("A" & i).Value) Then
If (dpDateSubmited.Value = ThisWorkbook.Worksheets("Non-SR").Range("B" & i).Value) Then
If (tbLocation.Value = ThisWorkbook.Worksheets("Non-SR").Range("C" & i).Value) Then
If (tbBU.Value = ThisWorkbook.Worksheets("Non-SR").Range("D" & i).Value) Then
If (tbTitle.Value = ThisWorkbook.Worksheets("Non-SR").Range("E" & i).Value) Then
If (tbDescription.Value = ThisWorkbook.Worksheets("Non-SR").Range("F" & i).Value) Then
If (tbStatus.Value = ThisWorkbook.Worksheets("Non-SR").Range("G" & i).Value) Then
ThisWorkbook.Worksheets("Non-SR").Rows(i).Delete Shift:=xlUp
Exit Sub
End If
i = i + 1
Loop
MsgBox "Item not found!"
End Sub
New fixed code:
Private Sub CommandButton1_Click()
If tbName.Value = "" Then
MsgBox "Sorry, please navigate to a non-blank row."
Exit Sub
End If
Dim i As Integer
i = 3
Do While ThisWorkbook.Worksheets("Non-SR").Range("A" & i).Value <> ""
'MsgBox ThisWorkbook.Worksheets("Non-SR").Range("A" & i).Value
If (tbName.Value = ThisWorkbook.Worksheets("Non-SR").Range("A" & i).Value) And _
(dpDateSubmited.Value = ThisWorkbook.Worksheets("Non-SR").Range("B" & i).Value) And _
(tbLocation.Value = ThisWorkbook.Worksheets("Non-SR").Range("C" & i).Value) And _
(tbBU.Value = ThisWorkbook.Worksheets("Non-SR").Range("D" & i).Value) And _
(tbTitle.Value = ThisWorkbook.Worksheets("Non-SR").Range("E" & i).Value) And _
(tbDescription.Value = ThisWorkbook.Worksheets("Non-SR").Range("F" & i).Value) And _
(tbStatus.Value = ThisWorkbook.Worksheets("Non-SR").Range("G" & i).Value) Then
ThisWorkbook.Worksheets("Non-SR").Rows(i).Delete Shift:=xlUp
Exit Sub
End If
i = i + 1
Loop
MsgBox "Item not found!"
End Sub
感謝所有的幫助。 -RickH
封閉代碼所有的'IF'都帶有'End If'。 – Jeeped
看起來你有很多沒有「End If」的「If」語句。 當語句全部位於同一行時,「If」只會在沒有「End If」的情況下運行。 –
不知道我在哪裏放置結束如果在所有的線上。它是一個完整的邏輯結構,其中一切都需要真實地去除行。任何故障再次循環到頂部。 –