こんにちは私は以下のVBAコードを持っています。私が持っている問題は、 "行(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