0

我有一个工作簿,用户可以在其中添加信息 IE 用户名和密码。

Sheet2 是所有数据的存储位置。我使用列的 A、B 和 C。

我的用户窗体上有一个组合框。我的组合框的原始来源是 A 列。当用户从组合框中选择一个选项时,我希望它从 B 列和 C 列复制值并将值粘贴到另一个工作表中。这是我到目前为止所拥有的:

ActiveSheet.Range("$A$1:$F$3").AutoFilter Field:=1, Criteria1:=ComboBox1.Value
Range("B2:C2").Select
Selection.Copy
Sheets("Displaypage").Select
Range("A1").Select
ActiveSheet.Paste
Sheets("Database").Select
ActiveSheet.Range("$A$1:$F$3").AutoFilter Field:=1
Range("A2").Select

但是当我运行这个时,我得到范围类的 Autofilter 方法失败

有没有人有其他想法?

4

1 回答 1

0

假设您的组合框由 RowSource 属性填充,请尝试一下:

Private Sub ComboBox1_Change()

    Dim cbo As ComboBox
    Dim wsDest As Worksheet
    Dim rngData As Range

    Set cbo = Me.ComboBox1
    Set wsDest = Sheets("Displaypage")
    Set rngData = Range(cbo.RowSource)

    wsDest.Range("A1:B1").ClearContents 'Remove previous data (if any)
    If cbo.ListIndex = -1 Then Exit Sub 'Nothing selected

    rngData.Cells(1).Offset(cbo.ListIndex, 1).Resize(, 2).Copy wsDest.Range("A1")

End Sub
于 2013-08-26T16:31:52.740 回答