0

我正在为我的工作制作一张纸,但我遇到了一些我无法通过在互联网上搜索来解决的问题。

我有 2 张我目前正在使用的床单。

表 1:包含所有信息的数据库;工作表 2:包含从工作表 1 中取出的数据的列表以及使用 UserForm1 添加额外信息的选项。

  • 在 Sheet2 上,我使用超链接使用以下代码启动 UserForm1:

    Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
        If Target.Range.Column = "4" Then
            UserForm1.show
            Exit Sub
        End If
    End Sub
    

在我开始使用 UserForm1 上的代码之前,这一直很好。我在 VBA UserForm1 中做了一个 Vlookup,目标是 Sheet1。现在,只要我单击超链接,就会出现错误,并且调试指的是上面的代码“UserForm1”。

UserForm1 代码:

Private Sub UserForm_Initialize()
  Object = ActiveCell
  TextBox1.Value = Application.WorksheetFunction.VLookup(Object, Sheet1.Range("$B$2:$BW$622"), 1, False)
  Label3 = ActiveCell.Offset(0, 1).Value
  Label5 = ActiveCell.Offset(0, 3).Value
End Sub

Private Sub BUT_Annuleren_Click()
  Unload Me
End Sub

当我使用“Sheets("Sheet1").activate”时也会发生同样的情况。有人可以帮我从多张表格中获取我的 Userform1 中的信息吗?

谢谢您的帮助!

罗恩

4

1 回答 1

0

试试这个,分配对象时不要忘记使用Set关键字。

Private Sub UserForm_Initialize()
    Set Object = ActiveCell
    TextBox1.Value = Application.WorksheetFunction.VLookup(Object, Sheet1.Range("$B$2:$BW$622"), 1, False)
    Label3 = ActiveCell.Offset(0, 1).Value
    Label5 = ActiveCell.Offset(0, 3).Value
End Sub

Private Sub BUT_Annuleren_Click()
    Unload Me
End Sub
于 2013-06-10T06:19:38.387 回答