使用userform提取数据

时间:2011-05-09 20:50:21

标签: excel vba

我正在尝试使用用户表单提取数据。

以下是Excel列的结构:

sheet1:  
column 1|column 2|column 3|column 4|column 5  
Sheet2:  
column 1|column 2| ......................................... column xx  

两列中的列1相同。我想要一个下拉列表从第1列中选择任何值,这些字段应该根据第1列的选定值显示在用户窗体中。

第1列|第1列第2列|第2列------第2页的第xx列|第1栏第4,5,5页

以下是我创建的代码,但无法选择所需的数据

Private Sub ComboBox1_Change()

  Application.ScreenUpdating = False    
  Dim CL As Object

  Worksheets(2).Select

  For Each CL In Worksheets(2).Range("A2:A20")
    If CL = ComboBox1.Text Then
      Range(ActiveCell, ActiveCell.Offset(0, 4)).Copy Destination:=ActiveCell.Offset(0, 5)    
    End If
  Next

  Worksheets(2).Select
End Sub 

Private Sub UserForm_Activate()
  ComboBox1.RowSource = ("A2:A20")
End Sub

1 个答案:

答案 0 :(得分:0)

怎么样......

Private Sub ComboBox1_Change()

  Application.ScreenUpdating = False    
  Dim CL As Excel.Range

  For Each CL In Worksheets(2).Range("A2:A20")
      If CL = ComboBox1.Text Then
          '# CL.Resize(0, 5).Copy Destination:=CL.Offset(0, 5)
          '# Or even better...
          CL.Offset(0, 5).Resize(0, 5).Value = CL.Resize(0, 5)
      End If
  Next

  Application.ScreenUpdating = True
End Sub 

Private Sub UserForm_Activate()
    ComboBox1.RowSource = "A2:A20"
End Sub

我像以前一样离开了副本的目的地,虽然我不确定这是实现了什么......