VBA - Userform - Combobox - 选择工作簿/工作表

时间:2015-05-13 09:35:03

标签: excel-vba combobox vba excel

我最近问了另一个问题,这个问题帮助我通过我的组合框来解决问题。用户形式,但现在需要更多的帮助让我上线。

我创建了一个包含2个组合框的userform,1显示所有打开的excel工作簿,1显示所选工作簿的工作表。

我尝试创建一个按钮,该按钮使用工作表框下选择的值来复制指定工作表中的数据。

  • 我遇到的问题是将工作表组合框(Cb_Ws)值与VBA命令相关联,该命令将在点击时关联。按钮,选择该工作表,然后复制特定范围,例如工作表(" Cb_Ws.Value")范围(" X77:X84&#34)。复制

我担心我的知识并不是很好,因为我开始时虽然我认为我在某个接近正确的位置。

这是我到目前为止所获得的代码:

Option Explicit

Dim wb As Workbook
Dim ws As Worksheet

Private Sub Cb_Wb_Change()
Me.Cb_Ws.Clear
On Error Resume Next
For Each ws In Workbooks(Me.Cb_Wb.Value).Worksheets
Me.Cb_Ws.AddItem ws.Name
Next ws
End Sub

Private Sub CommandButton1_Click()

Dim Worksheets as (Cb_Ws.Value)

Worksheets.Range("X77:X84").Copy

End Sub


Private Sub UserForm_Initialize()

For Each wb In Application.Workbooks
Me.Cb_Wb.AddItem wb.Name
Me.Label2.Caption = "Select WorkSheet:"
Me.Label1.Caption = "Select Workbook:"
Next wb

End Sub

1 个答案:

答案 0 :(得分:0)

这是一种处理对象的错误方法。这是你在尝试什么?

Private Sub CommandButton1_Click()
   Dim ws As Worksheet

   Set ws = Workbooks(Cb_Wb.Value).Sheets(Cb_Ws.Value)

   ws.Range("X77:X84").Copy
End Sub