2015-12-14 68 views
1

我使用的是vb窗體。如何將列表框中的所有項目導出到excel中vb

我想導出所有的項目在ListBox1中使用按鈕excel文件,但問題在於它僅導出第一項

我想導出所有爲Lis​​tBox項目

這裏我的代碼

Imports Microsoft.Office.Interop 

    Public Class Form1 
    Dim MsExcel As Excel.Application 
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles  Button1.Click 
    MsExcel = CreateObject("Excel.Application") 

    MsExcel.Workbooks.Add() 

    MsExcel.Range("A1").Value = ListBox1.Items 

    MsExcel.Visible = True 
End Sub 
End Class 
+1

也許我弄錯了,但不會'ListBox1.List'是一個具有所有數據(行和列)的2D數組?如果不使用複製/粘貼剪貼板,您需要輸出正確的範圍...有10行和2列,您需要輸出到Range(「A1:B10」)或更好地使用Range (單元格(1,1),單元格(10,2))' –

回答

2

你需要遍歷項目,並增加你在打印該行:

Imports Microsoft.Office.Interop 

Public Class Form1 
Dim oItem As Object 
Dim OffS As Integer 
Dim MsExcel As Excel.Application 
Dim Wb As Excel.Workbook 
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles  Button1.Click 
    MsExcel = CreateObject("Excel.Application") 

    Set Wb = MsExcel.Workbooks.Open("Path_of_File") 
    OffS = 0 
    For Each oItem In ListBox1.Items 
     Wb.Sheets(1).Range("A1").Offset(OffS, 0).Value = oItem 
     OffS = OffS + 1 
    Next oItem 

    Wb.SaveAs 
    DoEvents 
    Wb.Close 
    MsExcel.Visible = True 
    End Sub 
End Class 
+0

非常感謝你,它工作得很好..我可以問你如何使它保存在一個特定的Excel文件..不是一個新的Excel文件 – bod

+0

只是改變''MsExcel.Workbooks.Add()'到'MsExcel.Workbooks.Open(Path_Of_The_Excel_File)';) – R3uK

+0

或''將'MsExcel.Workbooks.Add()'設置爲一個變量(對象),稍後將' .SaveAs'和'.Close False' –

相關問題