| | |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS |
| | |
 | Konstruktionsfeedback neu gedacht: CAD-Modelle teilen, kommentieren, verstehen, ein Webinar am 23.06.2026
|
|
Autor
|
Thema: Comboboxen aus Exceltabelle speisen (1932 mal gelesen)
|
chaosg Mitglied
 Beiträge: 2 Registriert: 23.02.2011
|
erstellt am: 08. Mrz. 2011 09:32 <-- editieren / zitieren --> Unities abgeben:         
Hallo erstmal, Ich lese mich schon seit Wochen durch sämtliche Foren und besonders durch dieses und versuche rauszubekommen, wie ich in VBA Comboboxen aus einer Exceltabelle speisen kann. Meine Problemstellung: Ich schreibe (oder eher gesagt "erweitere" die Idee von Stefan) für 14 Zeichnungsvorlagen ein Makro, welches das Schriftfeld ausfüllt. Manche Daten enthalten immer gleiche oder ähnliche Daten, wie z.B. Ersteller oder Material, und diese kann man momentan aus einer Combobox aussuchen, jedoch füge ich (momentan) jeden Unterpunkt einzeln im Quelltext hinzu. Am liebsten würde ich über eine Schleife eine Exceltabelle mit den verschiedenen Daten abfragen, welche man viel bequemer erweitern kann. Ich schaffe es irgendwie nicht eine Exceldatein verdeckt zu öffenen und auf deren Daten zuzugreifen. Danke schonmal im Vorraus
Felix Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
nahe Ehrenmitglied
    
 Beiträge: 1764 Registriert: 18.01.2001 arbeite mit: Dell Precision 7750 i7 2,6 GHz 6 Kerne 32GB RAM 512GB SSD NVIDIA Quadro RTX 4000 ------------------------ SWX-2020 SP5.0 EPDM ---------------- Windows 10 ---------------- VB.net VB VBA ein wenig Swift am Mac
|
erstellt am: 08. Mrz. 2011 10:00 <-- editieren / zitieren --> Unities abgeben:          Nur für chaosg
|
chaosg Mitglied
 Beiträge: 2 Registriert: 23.02.2011
|
erstellt am: 08. Mrz. 2011 10:13 <-- editieren / zitieren --> Unities abgeben:         
|
StefanBerlitz Guter-Geist-Moderator IT Admin (CAx)

 Beiträge: 8756 Registriert: 02.03.2000 SunZu sagt: Analysiere die Vorteile, die du aus meinem Ratschlag ziehst. Dann gliedere deine Kräfte entsprechend und mache dir außergewöhnliche Taktiken zunutze.
|
erstellt am: 08. Mrz. 2011 10:33 <-- editieren / zitieren --> Unities abgeben:          Nur für chaosg
Hallo zusammen, ich hätte da auch noch eine Variante ohne Excel anzubieten, die guten alten Textdateien sind für so etwas auch hervorragend zu gebrauchen und man braucht das Monster Excel nicht gleich  Einfach eine Textdatei zeilenweise mit den Schlüsselwörtern in welche Dropdownliste welcher Wert soll vorbereiten, die kann dann so aussehen (und lässt sich mit jedem beliebigen Texteditor bearbeiten ):
Code: dropdown1=Erster Eintrag DD1 dropdown1=Zweiter Eintrag DD1 dropdown1=Vierter Eintrag DD1 dropdown1=Dritter Eintrag DD1 ;) dropdown2=DD2 juppi dropdown2=Wo bin ich? dropdown2=Licht an! dropdown2=Cataclysmische Erfahrung
Und im Makro dann eine kleine Routine zum Auslesen und zuordnen der Werte zu den Comboboxen:
Code: Sub main() Dim Liste As String Dim zeile As String Dim cmbbox As String Dim cmdeintrag As String ' Pfad zur Liste ermitteln, hart oder z.B. im Verzeichnis des Makros ' ablegen und mit SwApp.GetCurrentMacroPathName den Pfad holen Liste = "I:\test\liste.txt" ' dann Zeilenweise die Liste auslesen und in die Open Liste For Input As #1 While Not EOF(1) Input #1, zeile ' die Zeile am "=" auseinander nehmen cmbbox = Left(zeile, InStr(1, zeile, "=") - 1) cmdeintrag = Mid(zeile, InStr(1, zeile, "=") + 1) ' dann den passenden Comboboxen das zuordnen Select Case cmbbox Case "dropdown1" UserForm1.ComboBox1.AddItem cmdeintrag Case "dropdown2" UserForm1.ComboBox2.AddItem cmdeintrag Case Else MsgBox "Dropdownliste " & cmbbox & " nicht vorhanden" End Select Wend Close #1 ' und gefüllte Userform anzeigen UserForm1.Show End Sub
Ich hab's dann noch als ZIP angehangen zum rumprobieren.Ciao, Stefan ------------------ Inoffizielle deutsche SolidWorks Hilfeseite http://solidworks.cad.de Stefans SolidWorks Blog Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |