Ich habe eine Listbox und möchte dort von einem Excel Dokument daten einlesen die Daten habe ich schon eingelesen bekommen mein einziges Problem ist noch der ColumnHead der ist bei mir leer ich bekomme dort keine Daten hinein.
Code: Dim oxls As Object Dim oxlsdoc As Excel.Workbook Set oxls = CreateObject("Excel.Application") Set oxlsdoc = oxls.Workbooks.Open("C:\Inventor_WS\Makros\nw_data.xlsx") With ListBox1 .ColumnCount = 8 .ColumnWidths = "4cm;1.4cm;1.4cm;1.4cm;1.4cm;1.4cm;1.4cm;1.4cm" .ColumnHeads = True .List = oxlsdoc.Sheets("Tabelle1").Range("A2:H16").Value '.RowSource = oxlsdoc.Sheets("Tabelle1").Range("A2:H16") End With
So lese ich derzeit die Daten ein mit RowSource habe ich wo gelesen geht der Header aber das war in einem Excel VBA Forum und in Excel ist das Dokument ja schon offen und es wurde nur die Tabelle und die Range angegeben. Was hier mit dem oxlsdoc Objekt davor einfach nicht funktioniert da er mir sagt das es der falsche Datentyp ist den er erwartet.
------------------ Grüße aus Wien Philipp Email: Base64 Encoded: cGhpcHNfOTJAeWFob28uZGU=
Chris 31 Mitglied Konstrukteur und Mädchen für alles
Beiträge: 575 Registriert: 23.04.2013
Inventor 2013/2015 Windows 7 64 bit 16GB RAM nVidia Quadro 600
erstellt am: 13. Aug. 2015 10:43 <-- editieren / zitieren --> Unities abgeben: Nur für axi92
Hi Philipp,
dass deine Header leer sind könnte natürlich viele Ursachen haben. Liest er denn den Rest vernünftig ein und befüllt die Liste? Ist die Range richtig angegeben?
Was du unten meinst, mit dem oxlsdoc Objekt, verstehe ich ehrlich gesagt nicht.
Jaja es passt alles wenn ich die Range mit dem Header angebe sind es normale Datensätze aber der Header sieht ja anders aus. Ich hab auch wo gelesen das man mit .List den Header gar nicht befüllen kann sondern nur mit RowSource wobei mir da aber der Fehler mit dem Datentyp kommt.
------------------ Grüße aus Wien Philipp Email: Base64 Encoded: cGhpcHNfOTJAeWFob28uZGU=
Ja habe ich ich hab einzelne listboxen erstellt: Ich hoffe ich habe nichts vergessen zu kopieren^^
Code: Dim oxls As Object Dim oxlsdoc As Excel.Workbook Set oxls = CreateObject("Excel.Application") Set oxlsdoc = oxls.Workbooks.Open("C:\Inventor_WS\Makros\nw_data.xlsx") With ListBox1 .ColumnCount = 1 .ColumnWidths = "1.4cm" .ColumnHeads = False .List = oxlsdoc.Sheets("Tabelle1").Range("B1:B16").Value '.RowSource = oxlsdoc.Sheets("Tabelle1").Range("A2:H16") End With With ListBox2 .ColumnCount = 1 .ColumnWidths = "4cm" .ColumnHeads = False .List = oxlsdoc.Sheets("Tabelle1").Range("A1:A16").Value End With With ListBox3 .ColumnCount = 1 .ColumnWidths = "1.4cm" .ColumnHeads = False .List = oxlsdoc.Sheets("Tabelle1").Range("C1:C16").Value End With With ListBox4 .ColumnCount = 1 .ColumnWidths = "1.4cm" .ColumnHeads = False .List = oxlsdoc.Sheets("Tabelle1").Range("D1:D16").Value End With With ListBox5 .ColumnCount = 1 .ColumnWidths = "1.4cm" .ColumnHeads = False .List = oxlsdoc.Sheets("Tabelle1").Range("E1:E16").Value End With With ListBox6 .ColumnCount = 1 .ColumnWidths = "1.4cm" .ColumnHeads = False .List = oxlsdoc.Sheets("Tabelle1").Range("F1:F16").Value End With With ListBox7 .ColumnCount = 1 .ColumnWidths = "1.4cm" .ColumnHeads = False .List = oxlsdoc.Sheets("Tabelle1").Range("G1:G16").Value End With With ListBox8 .ColumnCount = 1 .ColumnWidths = "1.4cm" .ColumnHeads = False .List = oxlsdoc.Sheets("Tabelle1").Range("H1:H16").Value End With oxlsdoc.Close oxls.Quit
------------------ Grüße aus Wien Philipp Email: Base64 Encoded: cGhpcHNfOTJAeWFob28uZGU=