excel vba工作表更改编译错误

时间:2017-03-16 01:13:24

标签: excel vba excel-vba

我正在尝试更改工作表,只要sheet4.cells(“b2”)中有值,然后它引用sheet2,并将匹配行中的信息返回到文本框中。我把它作为测试来运行它,一旦我这样做将有100多个文本和复选框。当一个值输入“B2”时,我得到一个编译错误,找不到方法或数据成员,突出显示Private Sub Worksheet_Change(byVal target as Range)。代码

Dim i As Variant, id As Long, j As Variant, flag As Boolean

Private Sub clearform()

For j = 1 To 2
    Sheet4.Controls("textbox" & j).Value = ""
Next j

End Sub

Private Sub Worksheet_Change(ByVal Target As Range)

If Range("b2").Value <> "" Then

    If IsNumeric(Sheet4.Cells("b2")) Then
        i = 0
        id = Sheet4.Cells("b2").Value

        Do While Sheet2.Cells(i + 1, 1).Value <> ""

            If Sheet2.Cells(i + 1, 1).Value = id Then
               For j = 1 To 2
                  Sheet2.Cells(i + 1, j).Value = Sheet4.Controls("textbox" & j).Value

               Next j

           End If

            i = i + 1

        Loop

    Else
        clearform
    End If

End If

End Sub

0 个答案:

没有答案