Office: Auswahl in Dropdown-List in VBA-Variable speichern

Helfe beim Thema Auswahl in Dropdown-List in VBA-Variable speichern in Microsoft Word Hilfe um das Problem gemeinsam zu lösen; Hallo, ich habe eine Dropdown-Liste in Word. Nun die simple Frage: Wenn ich in der Liste den Single-Eintrag z.B. 19025 selektiere, wie kann ich diese... Dieses Thema im Forum "Microsoft Word Hilfe" wurde erstellt von haderleinst49789, 13. Mai 2019.

  1. Auswahl in Dropdown-List in VBA-Variable speichern


    Hallo,
    ich habe eine Dropdown-Liste in Word.
    Nun die simple Frage:
    Wenn ich in der Liste den Single-Eintrag z.B. 19025 selektiere, wie kann ich diese Auswahl in einer Variablen speichern, mit der ich anschließend weiter arbeiten kann?

    z.B: Nummer = Dropdown1.Text

    Nummer = meine Variable
    Dropdown1 = Dropdown Name

    Vielen Dank für die Rückmeldung.

    :)
     
    haderleinst49789, 13. Mai 2019
    #1
  2. Gerhard H Erfahrener User
    Auch hier, lieber Haderlein,

    kommts drauf an, welches Steuerelement du verwendest. Da sich meine Glaskugel in deinem letzten Beitrag offenbar nicht geirrt hat, nehm ich im Folgenden ein Inhaltssteuerelement an. Außerdem hängt es natürlich auch noch davon ab, was "weiter arbeiten" bedeuten soll.

    Das folgende Beispielmakro tritt in Kraft, wenn das angeklickte Steuerelement (CC) wieder verlassen wird. Es liest die gewählte Zahl aus diesem Inhaltssteuerelement aus und fügt sie in ein anderes Inhaltssteuerelement (z.B. Rich-Text) mit dem Tag "Ziel" ein. Einmal als erweiterten Text, einmal als berechnete Zahl. Damit letzteres funktioniert, wurde als Datentyp Variant gewählt.
    Code:
    Bedenke, dass ein OnExit-Makro auf jedes beliebige Inhalts-Steuerelement anspringt. Das ist meistens nicht gewünscht, weshalb man gern als erstes eine Bedingung einfügt, z.B.
    If CC.Tag "Auswahl" then Exit Sub
     
    Gerhard H, 15. Mai 2019
    #2
  3. Hallo Gerhard,

    danke erneut für die Rückmeldung.
    Es handelt sich um ein Dropdown-Inhaltssteuerelement.

    Kurz zu meinem Plan:
    In der Word-File kann ich nun (dank deiner Hilfe), verschiedene Projektnummern auswählen (19025,19026 ...)
    Diese Projektnummern stehen in der Excel-File.

    Nun ist mein Plan, dass ich in der Excelfile die entsprechende Zeile finde, in der die Projektnummer steht.
    In dieser Zeile in unterschiedlichen Spalten stehen weitere Daten wie z.B: Kundenname, Anschrift, Zahlungsziele etc.

    Den z.B. Kundennamen möchte ich wiederum auch in Variablespeichern und dann meinen Textmarken im Word-File eintragen lassen.

    Zusammengefasst: Ich habe viele Daten, die automatisch ausgefüllt werden, sobald man nur die Projektnummer bestimmt.

    Wäre klasse, wenn du hierzu sagen könntest,
    wie der Code für das einspeichern der Projektnummer in eine Variable aussieht (also nicht in ein weiteres Steuerelement).

    Vielen Dank
     
    haderleinst49789, 15. Mai 2019
    #3
  4. Gerhard H Erfahrener User

    Auswahl in Dropdown-List in VBA-Variable speichern

    Hallo Haderlein,

    "wie der Code für das einspeichern der Projektnummer in eine Variable aussieht (also nicht in ein weiteres Steuerelement)"

    Ob du die eingespeicherte Projektnummer später in Textmarken oder in weitere Steuerelemente ausgibst, ist ja egal: Du brauchst beide Verfahren, und beide waren in dem Codeschnipsel enthalten.

    Nach deiner ausführlicheren Erklärung sehe ich aber, dass das gesamte Beispiel, aus dem der vorige Schnipsel stammt, genau das tut, was du möchtest:

    Die gesamte Excel-Liste wird hier in eine zweidimensionale Array Variable eingespeichert. Die erste "Spalte" dieses Arrays wird in das Dropdown eingelesen; die restlichen, zum gewählten Dropdownwert gehörigen Werte, werden aus dieser Variablen ausgelesen und in weitere Inhaltssteuerelemente übergeben (wenn es Textmarken sind, bedarf es nur kleiner Änderungen im Code).

    Weitere Erklärungen findest du im angehängten Word-Dokument. Zum Testen beide Dateien in den selben Ordner stecken. Wenn du Schwierigkeiten bei der Umsetzung hast, wäre es hilfreich, wenn du zwei Musterdokumente hochlädst: Eine Excel-Tabelle mit der Struktur deiner Daten und zwei oder drei fingierte Datensätze und dein Word-Dokument, dem man ansieht, wo die ausgelesenen Werte aus der Exceltabelle hin müssen.
     
    Gerhard H, 15. Mai 2019
    #4
  5. Hallo nochmal,
    vielen Dank für die Rückmeldung.

    Im Anhang habe ich mal die beiden Dateien (Word+Excel) hinzugefügt.

    Mit dem ersten Button "Projektnummern einlesen" möchte ich alle Projektnummern aus der Excel-File (Spalte 2) einlesen.

    Dann möchte ich die Auswahl treffen z.B. "S16-003", drücke auf den Knopf und die restlichen Daten für Test1, Firmenname1 etc. sollen an die entsprechende Position in der Word-FIle eingetragen werden.

    Ob dies mit Textmarken oder weiteren Inhaltssteuerelementen erfolgt, ist offen.
    Am besten sollte es so gestaltet werden, dass man manuell noch Eintragungen vornehmen kann.

    Wäre klasse, wenn du hier helfen könntest.
    Vielen Dank.
     
    haderleinst49789, 15. Mai 2019
    #5
  6. Gerhard H Erfahrener User
    Hallo Haderlein,

    "Mit dem ersten Button "Projektnummern einlesen" möchte ich alle Projektnummern aus der Excel-File (Spalte 2) einlesen."

    Möchtest du wirklich eine Schaltfläche zum Einlesen der Projektnummern im Dokument haben? Die wird dir ja dann auch mitgedruckt. In meinem Lösungsvorschlag braucht es keine Schaltfläche, sondern das Einlesen geschieht automatisch, sobald jemand die Dokumentvorlage doppelklickt, um sich ein neues Dokument zu erstellen.

    Möchtest du wirklich, dass nach jeder Auswahl einer Projektnummer erst auf die Schaltfläche "Daten anpassen" geklickt werden muss, um die restlichen Daten einzulesen? Das wird in meiner Variante automatisch erledigt, sobald im Dropdown eine Projektnummer ausgewählt und das Dropdown verlassen wurde.

    Ich empfehle dir, die Musterlösung weiter zu verfolgen. Mit "wenn du Schwierigkeiten bei der Umsetzung hast" hatte ich übrigens gemeint, dass du es versuchst und erklärst, an welcher Stelle genau du nicht weiterkommst.
    Aber ich hab den Eindruck, dass du das noch gar nicht probiert hast. Also fang mal damit an, dass du...
    • dein Dokument als Dokumentvorlage speicherst (dotm)
    • In der Vorlage dem Dropdown einen Tag verpasst
    • an den gelb unterlegten Stellen Text-Inhaltssteuerelemente einfügst und ihnen ebenfalls Tags gibst
    • die Makros aus dem Musterdokument in deine Dokumentvorlage reinzukopieren und anzupassen (Namen der Tags, Name der Arrayvariable aus dem Modul1, Spaltennummer 2 in der Zeile .DropdownListEntries.Add projektdaten(i, 2).
    Danach gibt selbstverständlich weitere Hilfe.
     
    Gerhard H, 16. Mai 2019
    #6
  7. Hallo nochmal,

    ich habe nun meine Version gebaut (siehe Anhang).
    Sowohl bei deiner Version als auch nun bei meiner Version
    kommt die Fehlermeldung "Typen unverträglichkeit Fehler 13:

    With ActiveDocument
    .SelectContentControlsByTag("Projektname").Item(1).Range.Text = Nummer(i, 3)
    End With

    Entspricht bei deiner Version:
    With ActiveDocument
    .SelectContentControlsByTag("Mitarbeiter").Item(1).Range.Text = mitarbeiterdaten(i, 2)
    ....


    Das Einlesen funktioniert einwandtfrei. Das Starten des Programms, sobald aus der Auswahlliste geklickt wird ebenfalls.
    Es hängt aktuell nur noch an dieser Fehlermeldung.

    Wäre klasse, wenn du mir hoffentlich das letzte Mal helfen kannst.

    Danke dir.
     
    haderleinst49789, 16. Mai 2019
    #7
  8. Gerhard H Erfahrener User

    Auswahl in Dropdown-List in VBA-Variable speichern

    Hallo Haderlein,

    sieht ja schon viel besser aus. Aber du hast in deiner Exceltabelle in der ersten Zeile verbundene Zellen drin. Sowas macht immer Ärger beim Zeilen- oder Spaltenzählen. Ich hab die entfernt. Im Makro Document_New() musste ich dann in der Zeile
    Code:
    die Zeilennummer auf den Wert 2 ändern, weil der erste Datensatz jetzt einheitlich in Zeile 2 steht. Bei mir funktionierts jetzt.

    Im Anhang die bereinigte Excel-Tabelle.

    Übrigens springt die Prozedur Sub Document_New nur an, wenn das Original eine Dokument-Vorlage ist. Da du ein normales Dokument (docm) hast, musst du, wenn du den Automatismus beim Öffnen des Dokuments wünscht, die Kopfzeile auf Sub Document_Open() ändern. Noch besser auf Private Sub Document_Open, damit niemand das Makro über Entwicklertools > Makros sehen kann.
     
    Gerhard H, 16. Mai 2019
    #8
Thema:

Auswahl in Dropdown-List in VBA-Variable speichern

Die Seite wird geladen...
  1. Auswahl in Dropdown-List in VBA-Variable speichern - Similar Threads - Auswahl Dropdown List

  2. Dropdown - bei Auswahl bestimmte Texte in Zeilen einfügen

    in Microsoft Excel Hilfe
    Dropdown - bei Auswahl bestimmte Texte in Zeilen einfügen: Hallo zusammen, ich habe da mal ein kleines Problem. Aktuell arbeite ich an einer Exceltabelle wo ich ein Prüfprotokoll erstelle. Die Auswahl der Komponenten habe ich mit Dropdown-Listen...
  3. Mit Dropdown nur einmal das gleiche Feld aus Liste auswählen

    in Microsoft Excel Tutorials
    Mit Dropdown nur einmal das gleiche Feld aus Liste auswählen: E2[:E6]: DÜ Liste =C$2# (Dropdownfelder) C2: =WENNFEHLER(FILTER(A2:A6;ISTFEHLER(VERGLEICH(A2:A6;E2:E6;0)));"") (Restantenliste) A2:A6: (Auswahllisteneinträge für Unique-Dropdown) ... aufgrund...
  4. Automatisches Befüllen einer Liste nach Auswahl der Kriterien aus Dropdown Listen

    in Microsoft Excel Hilfe
    Automatisches Befüllen einer Liste nach Auswahl der Kriterien aus Dropdown Listen: Hallo Zusammen, ich bin an folgender Aufgabe sehr stark am Verzweifeln und vielleicht kann mir einer weiterhelfen. Ich denke, dass wenn ich an den richtigen komme ist es ein kinderspiel, aber...
  5. Diagramme in Abhängigkeit von DropDown-Auswahl einblenden

    in Microsoft Excel Hilfe
    Diagramme in Abhängigkeit von DropDown-Auswahl einblenden: Hallo, ich hoffe jemand kann mir helfen. Ich habe eigentlich ein simples Problem, finde aber einfach keine Lösung. Ich habe in der Zelle A4 eine Drop and Down Liste. Wenn ich in der Liste zum...
  6. Tabelle füllen mittels Dropdown Auswahl

    in Microsoft Excel Hilfe
    Tabelle füllen mittels Dropdown Auswahl: Hallo, ich schreibe gerade meine BachelorArbeit und verwende für eine Studie dazu Exel 2007. Gerade stehe ich vor einer kleinen Herausforderung. Ich habe eine Tabelle eingerichtet bei der in...
  7. Entwickler-Tools: Auswahl aus DropDown-Liste im Formular automatisch wiederverwenden

    in Microsoft Word Hilfe
    Entwickler-Tools: Auswahl aus DropDown-Liste im Formular automatisch wiederverwenden: Hallo zusammen, ich habe ein Formular in Word 2013 erstellt mit Dropdown-Feldern. Meine Frage: wenn ich eine Auswahl im DropDown-Feld (z.B. die Abteilung oder den Namen) gewählt habe, soll...
  8. Automatische Weiterleitung auf Register bei Auswahl aus einer Dropdown-Liste

    in Microsoft Excel Hilfe
    Automatische Weiterleitung auf Register bei Auswahl aus einer Dropdown-Liste: Guten Abend zusammen, ich habe eine Dropdown-Liste erstellt und habe nun verschiedene Auswahlmöglichkeiten eingearbeitet. Wenn ich nun eine Wahl treffe würde ich gerne automatisch auf die...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden