| | |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| | |
 | Hannover Messe 2026 - Diese Lösungen prägen die Zukunft der Industrie: PNY präsentiert Anwendungen für KI, Edge-Computing und das Metaversum, eine Pressemitteilung
|
|
Autor
|
Thema: Listbox von .xlsx Datei füllen + ColumnHead (2633 mal gelesen)
|
axi92 Mitglied Konstrukteur
  
 Beiträge: 685 Registriert: 20.02.2010 Inventor 2014 64bit SP2 Vault Basic 2014 64bit SP1 HP Z200 Win 7 64bit 16GB RAM CPU: i5 3,2GHz GPU: Nvidia Quadro K600
|
erstellt am: 12. Aug. 2015 10:35 <-- editieren / zitieren --> Unities abgeben:         
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= Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
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.
------------------ MFG Chris Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
axi92 Mitglied Konstrukteur
  
 Beiträge: 685 Registriert: 20.02.2010 Inventor 2014 64bit SP2 Vault Basic 2014 64bit SP1 HP Z200 Win 7 64bit 16GB RAM CPU: i5 3,2GHz GPU: Nvidia Quadro K600
|
erstellt am: 14. Aug. 2015 08:25 <-- editieren / zitieren --> Unities abgeben:         
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= Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Mignon Mitglied Student

 Beiträge: 43 Registriert: 10.12.2015 Inventor Prof. 2015 Windows 7, 64 bit
|
erstellt am: 08. Jan. 2016 08:28 <-- editieren / zitieren --> Unities abgeben:          Nur für axi92
|
axi92 Mitglied Konstrukteur
  
 Beiträge: 685 Registriert: 20.02.2010 Inventor 2014 64bit SP2 Vault Basic 2014 64bit SP1 HP Z200 Win 7 64bit 16GB RAM CPU: i5 3,2GHz GPU: Nvidia Quadro K600
|
erstellt am: 15. Jan. 2016 08:59 <-- editieren / zitieren --> Unities abgeben:         
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= Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |