我正在创建一个宏来帮助用户通过文本框删除一行。用户需要点击 Eliminar hallazgo(删除结果)按钮。
然后,会出现一个带有空文本框的表单,供用户填写将要删除的行号。
如果用户编写一个 Int,则宏运行正常(我不知道如何优化它)。但是当用户编写不同的东西时,宏会崩溃。
每当用户写任何不同的东西时,我都希望弹出一个 MsgBox,上面写着“请输入一个有效的数字”。
到目前为止,这是我的代码:
Private Sub AceptarButton_Click()
Dim row2Empty As Integer, rangoDel As Range
' Asignar valor escrito por usuario a Variable
row2Empty = TextFila.Value
On Error GoTo InvalidValue:
Exit Sub
Worksheets(5).Activate
If TextFila.Value = True Then
Worksheets(5).Rows(row2Empty).Select
Worksheets(5).Rows(row2Empty).Delete
End If
Unload Me
InvalidValue:
MsgBox "Por favor digite un numero."
Resume Next
End Sub
我真的很困惑如何处理这个错误。
提前致谢,
海梅
最佳答案
处理此要求的最简洁方法是不允许输入除数字以外的任何内容。您可以通过回复 KeyPress
来做到这一点。事件:
Private Sub TextFila_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
'allow only numeric digits and the backspace key
If (KeyAscii < 48 Or KeyAscii > 57) And KeyAscii <> 8 Then KeyAscii = 0
End Sub
这种方法也允许您简化按钮单击事件中的逻辑。
关于excel - 处理 Excel VBA 中的错误 '13'(西类牙语中的变量和文本),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60324641/