嗨,我有以下excel vba代碼。我擁有的問題是開始「rows(x).select」的代碼部分。當我單步執行代碼時,會在彈出下一個消息框之前選擇該行,但是當我運行代碼時,在彈出消息框之後選擇該行。在消息框彈出之前,我能做些什麼來選擇行嗎?如何在彈出消息框之前運行以前的代碼?
Sub deletedata()
Dim x As String, y As Integer, z As Integer
y = Range("auditstart").Row
z = Range("auditend").Offset(-3, 0).Row
x = InputBox("Please enter the row number wich you wish to delete", "DELETE DATA")
If Not IsNumeric(x) Then
MsgBox "please enter a valid number"
Exit Sub
ElseIf CLng(x) < y Or CLng(x) > z Then
MsgBox "Please enter a row number between " & y & " and " & z
Exit Sub
End If
Rows(x).Select
If MsgBox("Are you sure you want to delete row " & x & " ?", vbYesNo) = vbNo Then
Exit Sub
Else
Cells(x, 3).Select
Worksheets("audit").Unprotect password
ActiveCell = "DELETE"
ActiveCell.Offset(0, 3) = 0
ActiveCell.Offset(0, 4) = 0
ActiveCell.Offset(0, 5) = 0
ActiveCell.Offset(0, 6) = 0
ActiveCell.Offset(0, 7) = Range("counter").Value + 1
Sheets("colours").Unprotect password
Range("counter").Value = ActiveCell.Offset(0, 7).Value
Sheets("colours").Protect password
Worksheets("audit").Protect password
End If
End Sub
這是什麼? Visual Basic? – mumpitz