复制2个单元格并在组合框更改后粘贴不同的工作表

时间:2013-08-26 12:24:56

标签: excel vba excel-vba combobox

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

Sheet2是存储所有数据的地方。我使用列A,B和C.

我的UserForm上有一个组合框。我的组合框的原始来源是A栏。当用户从组合框中选择一个选项时,我希望它复制B列和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方法失败

有没有人有其他想法?

1 个答案:

答案 0 :(得分: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