将列表框中的项目导出到Excel中的范围

所以我已经search谷歌和论坛后(包括堆栈)试图找出这个问题。 我想要做的是有一个ActiveXbutton将列表框的内容导出到Excel中的范围。

下面是我添加ListBox1到ListBox2项目的代码。 当所有需要的项目被移动到ListBox2后,所述的ActiveXbutton(SomeButton_Click)将把列表框2中的所有项目导出到从范围(“a1”)开始的“Sheet15”。

(请注意,这是一个不在实际表单中的ActiveX列表框,它在工作表中)

Public Sub BTN_MoveSelectedRight_Click() Dim iCtr As Long Dim n As Long, lRow As Long Dim cStartCell As Range For iCtr = 0 To Me.ListBox1.ListCount - 1 If Me.ListBox1.Selected(iCtr) = True Then Me.ListBox2.AddItem Me.ListBox1.List(iCtr) End If Next iCtr For iCtr = Me.ListBox1.ListCount - 1 To 0 Step -1 If Me.ListBox1.Selected(iCtr) = True Then Me.ListBox1.RemoveItem iCtr End If Next iCtr End Sub 

下面是将执行导出的button:

 Public Sub SomeButton_Click() 'What code can I put here to perform the export to abovementioned range? End sub 

任何帮助将非常感激,因为我花了几个小时试图弄清楚(尽pipe我不想实际承认这一点,这是真的)

谢谢!

在这里输入图像说明

干得好:

 Public Sub SomeButton_Click() Dim v v = Sheet15.ListBox2.List Sheet15.[a1].Resize(UBound(v)) = v End Sub 

如果列表框位于不同的工作表上,则需要对其进行调整。

编辑#1

这个更好:

 Public Sub SomeButton_Click() With Sheet15 .[a1].Resize(.ListBox1.ListCount) = .ListBox1.List End With End Sub