Excel “更新”按钮不起作用,因为存在类型不匹配

Excel “更新”按钮不起作用,因为存在类型不匹配,excel,vba,Excel,Vba,rowselect=Search.BN.Value上的类型不匹配出错。我想让用户编辑和更新excel表,excel表被称为“Master”。 错误消息:运行时错误“13”类型不匹配 Private Sub Update_Click() Dim Bname As String Bname = Search.BN.Text Sheets("MASTER").Select Dim rowselect As Integer Dim ans As String rowselect = Searc

rowselect=Search.BN.Value上的类型不匹配出错。我想让用户编辑和更新excel表,excel表被称为“Master”。 错误消息:运行时错误“13”类型不匹配

Private Sub Update_Click()

Dim Bname As String

Bname = Search.BN.Text

Sheets("MASTER").Select

Dim rowselect As Integer
Dim ans As String

rowselect = Search.BN.Value
rowselect = rowselect + 1
Rows(rowselect).Select


Sheets("MASTER").Cells(rowselect, 6) = Search.A.Text
Sheets("MASTER").Cells(rowselect, 7) = Search.Emailto.Text
Sheets("MASTER").Cells(rowselect, 8) = Search.CClist.Text
Sheets("MASTER").Cells(rowselect, 9) = Search.Emailcc.Text

rowselect = rowselect - 1

Unload Me

ans = MsgBox("S/N " & rowselect & "  Successfully Updated...Continue?", vbYesNo, "Update")
If ans = vbYes Then
    Search.Show
Else
    Sheets("MASTER").Select
End If

End Sub

也许是一个测试,看看是否可以转换并声明为变量,以捕获转换时的任何错误。然后测试分支程序是否产生错误。下面是说明性的例子

Public Sub TEST()
    Dim s As String
    'this is illustrative. You would incorporate this so  Search.BN.Value was available
    s = Search.BN.Value
    Dim rowSelect As Variant
    On Error Resume Next
    rowSelect = CLng(s)
    On Error GoTo 0

    If IsError(rowSelect) Then Exit Sub

    'Your other code......
End Sub

发生错误时,Search.BN.value的值是多少?假定它是要隐式转换为数字的文本,对于空字符串literal不会发生这种情况。它会是空白的吗?另外,请使用Long not Integer。请将收到的整个错误消息包括在内?
Dim rowselect As Long。。。rowselect=CLNG(Search.BN.Value)
hi@QHarr。Search.BN.Value是BN textboxhi@Jeeped中的值,错误消息仍然出现:(