导出列表框到Excel

我试图导出3个列表框到Excel文件中。 每个列表框必须导出到不同的单元格。

debugging时没有错误。 但它不工作,冻结窗体。

这是我的代码

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click MsExcel = CreateObject("Excel.Application") MsExcel.Workbooks.Open("C:\Users\User\Desktop\11.xlsx") OffS = 0 For Each oItem In ListBox1.Items MsExcel.Range("AB2").Offset(OffS, 0).Value = oItem OffS = OffS + 1 For Each oItemm In ListBox2.Items MsExcel.Range("AC2").Offset(OffS, 0).Value = oItemm OffS = OffS + 1 For Each oItemmm In ListBox3.Items MsExcel.Range("AD2").Offset(OffS, 0).Value = oItemmm OffS = OffS + 1 Next oItemmm Next oItemm Next oItem MsExcel.Visible = True End Sub 

您需要取消嵌套循环!
在您的代码中,ListBox2的循环将针对ListBox1中的每个项目执行,而对于ListBox3则最差!

并且要小心,如果你嵌套循环,你将需要不同的控制/索引(这里你有3个嵌套循环相同的variables)

 Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click MsExcel = CreateObject("Excel.Application") MsExcel.Workbooks.Open ("C:\Users\User\Desktop\11.xlsx") OffS = 0 For Each oItem In ListBox1.Items MsExcel.Range("AB2").Offset(OffS, 0).Value = oItem OffS = OffS + 1 Next oItem OffS = 0 For Each oItemm In ListBox2.Items MsExcel.Range("AC2").Offset(OffS, 0).Value = oItemm OffS = OffS + 1 Next oItemm OffS = 0 For Each oItemmm In ListBox3.Items MsExcel.Range("AD2").Offset(OffS, 0).Value = oItemmm OffS = OffS + 1 Next oItemmm MsExcel.Visible = True End Sub