Office: (Office 2010) Dropdownmenü mit einem Text Verknüpfen

Helfe beim Thema Dropdownmenü mit einem Text Verknüpfen in Microsoft Word Hilfe um das Problem gemeinsam zu lösen; Hallo Monika, gehen tut das schon, auch wenn ich keinen Vorteil gegenüber einer Checkbox erkennen kann. Ich hab ein Musterdokument angefügt. Dieses Thema im Forum "Microsoft Word Hilfe" wurde erstellt von daniel1940, 25. April 2012.

  1. Gerhard H
    Gerhard H Erfahrener User

    Dropdownmenü mit einem Text Verknüpfen


    Hallo Monika,

    gehen tut das schon, auch wenn ich keinen Vorteil gegenüber einer Checkbox erkennen kann. Ich hab ein Musterdokument angefügt.
     
    Gerhard H, 22. Februar 2017
    #16
  2. Hallo Gerhard

    Das stimmt so gesehen ergibt das wirklich keinen Vorteil gegenüber der Checkbox. Ich habe mich unklar ausgedrückt.

    Was mir vorschwebt ist ein Dokument in welchem ich ein Dropdown-Feld habe, in welchem z.B. mehrere Städtenamen ausgewählt werden können. Nun sind zu jeder Stadt längere Texte vorhanden. Es könnten darin auch Kontrollkästchen vorkommen (siehe Barcelona). Wenn ich nun also z.B. London im Dropdown-Feld auswähle soll mir Word nur den Text über London anzeigen sowie evtl. Einleitungs- und Schlusstext. Die Texte über die anderen Städte soll Word ausblenden.

    Den Vorteil sähe ich darin, dass dies Benutzerfreundlicher wäre mit einem Dropdown-Feld statt mit mehreren Checkboxen.

    Im angehängten Dokument habe ich versucht das ganze mal in etwa darzustellen. Für die einzelnen Städte habbe ich bereits Textmarken eingefügt.
     
    Rockmami, 23. Februar 2017
    #17
  3. Gerhard H
    Gerhard H Erfahrener User
    Hallo Monika,

    im Anhang dein Dokument als Dokumentvorlage.
    Das dort enthaltene Makro setzt voraus, dass es außer den Städte-Textmarken keine weiteren Textmarken im Dokument gibt. Ansonsten muss man die Sache anders aufzäumen.
     
    Gerhard H, 23. Februar 2017
    #18
  4. Dropdownmenü mit einem Text Verknüpfen

    Hallo Zusammen

    Genau so habe ich mir das vorgestellt. Besten Dank Gerhard.

    Ich versuche jeweils das Makro zu verstehen. Kann mir jemand sagen, was bei den rot markierten Stellen genau passiert resp. was dies bedeutet? Danke.

    Sub nurEineStadt()
    Dim wahlStadt As String
    Dim i As Integer


    'Lcase wandelt in Kleinbuchstaben um;
    'so werden Unterschiede in der Groß-Kleinschreibung
    'im Dropdown und in den Textmarken ignoriert:
    wahlStadt = LCase(Me.ComboBox1.Value)

    With ActiveDocument

    For i = 1 To .Bookmarks.Count

    If .Bookmarks(i).Name = wahlStadt Then
    .Bookmarks(i).Range.Font.Hidden = False
    Else
    .Bookmarks(i).Range.Font.Hidden = True
    End If
    Next i
    End With
    End Sub
     
    Rockmami, 24. Februar 2017
    #19
  5. Gerhard H
    Gerhard H Erfahrener User
    Hallo Monika,

    steht in deinem VBA-Buch nichts darüber? Dann wirf es weg. Ich hol ein wenig aus, weil das doch was Grundlegendes ist.

    Die Variablendeklaration
    In den Zeilen, die mit Dim beginnen, teilt man dem Makro mit, welche Variablen man zu verwenden gedenkt und welchen Typ sie haben werden. Eine Variable kannst du dir vorstellen wie eine Schublade mit einer Aufschrift (einem beliebig wählbaren Variablen-Namen), in die man etwas hineinlegen kann (einen "Wert"), der aber einen bestimmten Typ haben muss: Text, Ganzzahl, Kommazahl, Datum...).

    Dim wahlstadt as String

    bedeutet also: Es wird eine Schublade mit der Aufschrift wahlStadt vorgemerkt, in die nur Texte (String) reingelegt werden dürfen. Auf VBAisch: Es wird eine Variable vom Typ String dimensioniert. Die Variable mit dem Namen i darf laut Dimensionierung nur Ganzzahlen (Integer) enthalten.

    Die Variable wahlStadt bekommt hier ihren Wert zugewiesen:

    wahlStadt = Me.ComboBox1.Value

    Sie steht ab dem Moment für den Text (Wert), der aktuell im Dropdownfeld ausgewählt wurde, also z.B. London.

    Die Schleife

    For i = 1 To ....
    '...
    Next i


    Hier wird angewiesen, dass eine Schleife (beginnend bei 1) so oft durchlaufen werden soll, wie nach dem To vermerkt ist:

    i = 1
    Der Variable mit dem Namen i wird der Wert 1 zugewiesen. Bei jedem Durchgang wird dieser Wert um 1 erhöht.

    Bookmarks.Count
    liefert die Anzahl der Textmarken im Dokument. In deinem Beispiel sind das vier, so dass der Schleifenkopf so zu verstehen ist:
    Mach vier Durchgänge, beginne dabei bei 1. Prüfe in jedem Durchgang, wie der Name der ersten, der zweiten usw. Textmarke lautet.
    Wenn der Textmarkennamen identisch ist mit dem Wert der Variablen wahlStadt, dann blende diesen Text ein, andernfalls aus.
     
    Gerhard H, 24. Februar 2017
    #20
  6. Hallo Gerhad

    Besten Dank für die ausführliche und anschauliche Erklärung.

    Der Begriff "wahlStadt" ist also ein Begriff der nur im Visual Basic (in der Makrossprache) vorkommt. Ansonsten nirgends im Word-Dokument selber.

    Und hast du ausser dem Makro einfügen, noch was anderes am Dokument verändert?

    Bei meinem Versuch das ganze in einem neuen Dokument nachzubauen, hat es noch nicht funktioniert, ich werde es weiter probieren.

    Falls ich die Textmarken gross geschrieben hätte, hätte man den LCase Teil auch weglassen können ist das korrekt? Würde dann im Makro stehen?

    wahlStadt = Me.ComboBox1.Value

    anstelle

    wahlStadt = LCase(Me.ComboBox1.Value)

    -> Sehe ich das richtig, dass diese Variable auch x y ode z heissen könnte? Oder sind da nur einige Buchstaben geeignet, da andere mit anderen Makrobefehlen einen Konflikt ergeben würden.

    Ich hoffe ich stresse dich nicht mit meinen vielen Fragen und bedanke mich nochmals für deine Unterstüzung.
     
    Rockmami, 24. Februar 2017
    #21
  7. Gerhard H
    Gerhard H Erfahrener User
    Hallo Monika,

    nein, du stresst mich nicht, im Gegenteil: Du bist ein willkommenes Opfer meiner Erklärungswut ;-)

    Ich beginne vom Ende her:

    i = 1
    Ja, das könntest du auch x nennen oder Hansi. Da bist du frei. Für die Zählschleifen haben sich halt i oder j einfach eingebürgert. Wenn man sie sieht, denkt man gleich: Aha, eine Variable zum Hochzählen.

    wahlstadt = LCase(...)
    Wenn du die Groß/Klein-Schreibweise der Textmarkennamen und die der Combobox-Einträge genau gleich gestaltest, kann das LCase entfallen und übrig bleibt, wie du richtig siehst: wahlStadt = Me.ComboBox1.Value

    Variablennamen
    Bei Variablen-Namen bist du wie gesagt grundsätzlich frei, aber man nimmt praktischerweise "sprechende Namen", zum Beispiel, damit man sich gleich wieder erinnert, wofür die Variable steht, wenn man sein Makro nach einem Jahr wieder mal durchliest.

    Übrigens gibt es da noch eine Konvention, die ich für mich selber meistens ignoriere: Viele Makroschreiber setzen vor den Makronamen noch ein Kürzel des Typs, also z.B. strWahlStadt oder strStadt für Variablen vom Typ String.

    Wie du richtig erkannt hast, kommt "wahlStadt" nicht im Dokument selber vor, denn es ist ja nur ein Variablenname, der im Makro definiert wurde und sonst nirgends.

    Änderungen im Dokument
    Ich hab nur eine Schönheitssache eingebaut: Bei dir waren zwischen den einzelnen Textmarken immer leere Absätze eingetippt. Das bewirkt dort, wo wegen der Ausblendung zwei leere Absätze zusammenkommen, unschöne Leerflächen. Ich hab die deshalb gelöscht und statt dessen die Absätze mit den Textmarken mit einem größeren Absatzabstand Nach versehen.
    Mit der Funktionsweise des Makros hat das aber nichts zu tun. Wenn du es in deinem Dokument nicht zum laufen bringst, muss was anderes schuld sein. Lad es bei Bedarf einfach hoch.
     
    Gerhard H, 24. Februar 2017
    #22
  8. Dropdownmenü mit einem Text Verknüpfen

    Hallo Gerhard

    Dann ist uns ja beiden geholfen. *grins

    Juhui, ich konnte das ganze nachbauen, und es hat funktioniert. Habe auch die Variante ohne LCase ausprobiert, es klappt.

    Gemäss deinen Anpasungen, erscheinen nun auch alle Textmarke an der selben Stelle was viel besser aussieht. Dies hilft mir auch bei einem anderen Projekt.

    Vielen Dank und schönes Wocheende.
     
    Rockmami, 25. Februar 2017
    #23
Thema:

Dropdownmenü mit einem Text Verknüpfen

Die Seite wird geladen...
  1. Dropdownmenü mit einem Text Verknüpfen - Similar Threads - Dropdownmenü Text Verknüpfen

  2. Zusätzliche Bedingung mit WennFalsch(Wenn(Oder Funktion

    in Microsoft Excel Hilfe
    Zusätzliche Bedingung mit WennFalsch(Wenn(Oder Funktion: Hallo liebe Office Gemeinde, ich bräuchte mal eure Hilfe, mit dem allmächtigen Google bin ich nicht weitergekommen: Ich habe von meinem Vorgänger eine wunderbare Excel Stundenzettel Vorlage...
  3. DropDownMenü kopieren mit ändernen Quellenbezug

    in Microsoft Excel Hilfe
    DropDownMenü kopieren mit ändernen Quellenbezug: Hallo zusammen. ich habe eine Tabelle erzeugt, wo ein dropdownmenü nur werte wiedergibt, wenn das vorher ausgewählte Thema im ersten dropdownmenü ausgewählt wurde. Nun möchte ich das bis zur...
  4. Dynamisches Diagramm mit DropdownMenü

    in Microsoft Excel Hilfe
    Dynamisches Diagramm mit DropdownMenü: Hallo zusammen, ich würde gerne ein dynamisches Diagramm erstellen mit verschiedenen Dropdown möglichkeiten (kein pivot). Dropdown 1: Monat auswählen --> gruppierte Säulen von Anlage 1 und...
  5. Dropdownmenü auf Liste mit Makrosteuerung

    in Microsoft Excel Hilfe
    Dropdownmenü auf Liste mit Makrosteuerung: Hallo zusammen, ich hoffe es geht euch allen gut! Ich habe mal wieder ein Problem welches ich selber nicht lösen kann :( Liste B: Tabelle (C6:C65) bei welcher ich mittels Button (Makro...
  6. Datentabelle mit Namen verknüpfen und mittels Dropdownmenü auswählen

    in Microsoft Excel Hilfe
    Datentabelle mit Namen verknüpfen und mittels Dropdownmenü auswählen: Moin zusammen. Ich soll ein Inventurblatt anfertigen, da bei jedem Mitarbeiter nicht benötigte Ausrüstung aussortiert werden soll. Damit nicht für jeden Mitarbeiter ein eigenes Blatt von Grund auf...
  7. Interaktion mit Anhängen aus dem Dropdownmenü führt zu unerwartetem Verhalten in Outlook ...

    in Microsoft Outlook Tutorials
    Interaktion mit Anhängen aus dem Dropdownmenü führt zu unerwartetem Verhalten in Outlook ...: Interaktion mit Anhängen aus dem Dropdownmenü führt zu unerwartetem Verhalten in Outlook für Mac Outlook 2016 für Mac Mehr... Weniger...
  8. Word 2016 Duplizieren von Dropdown inhalten

    in Microsoft Word Hilfe
    Word 2016 Duplizieren von Dropdown inhalten: Guten Tag zusammen, ich grüble seit Tagen darüber wie ich einen Dropdown Inhalt an verschiedenen Stellen wiederholen kann wenn ich ihn nur einmal auswähle. Ich möchte den Inhalt des Dropdown...
  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