当前位置: 首页 > 知识库问答 >
问题:

VBA-用户表单-组合框-选择工作簿/工作表

郭德惠
2023-03-14

我最近问了另一个问题,这帮助我在“组合框”用户表单中达到了一定的程度,但现在需要更多的帮助才能让我完成这一任务。

我创建了一个用户表单,它有2个组合框,1个显示所有打开的Excel工作簿,1个显示所选工作簿的工作表。

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

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

我担心我的知识不是很好,因为我刚开始,虽然我认为我在某个地方接近正确的路线。

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

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个答案

黄毅
2023-03-14

这是处理对象的错误方法。这就是你想要的吗?

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
 类似资料: