Word 2003/2007 Dynamische DropDown Liste

Hallo zusammen,

es wird praktiziert und die Codes werden gepostet, aber ich bekomme es einfach nicht hin:
Es geht um das Erstellen von zwei DropDownlisten.
Die Erste beinhaltet Automarken (Audi, BMW, Citroen, etc.)
und in der Zweiten soll in Abhängigkeit der Auswahl des Ersten die Modelle erscheinen.
Z.B. ich wähle im DropDown1 „AUDI“
erscheint im DropDown2 „A1, A3, A4, etc“

ich habe einen ähnlichen Code gefunden:

Sub Unterkategorie()
Dim oFld As FormFields
Set oFld = ActiveDocument.FormFields
Select Case oFld(„kategorie“).Result
Case Is = „obst“
With oFld(„Unterkategorie“).DropDown
.ListEntries.Clear
.ListEntries.Add „Äpfel“
.ListEntries.Add „Birnen“
.Value = 1
End With
Case Is = „käse“
With oFld(„Unterkategorie“).DropDown
.ListEntries.Clear
.ListEntries.Add „Gouda“
.ListEntries.Add „Emmentaler“
.Value = 1
End With

End Select
End Sub

aber der funktioniert entweder nicht, oder was wahrscheinlicher ist: Ich weiß diesen Makro Code nicht in das Dokument einzubinden.

Dennoch habe ich das Gefühl, dass ich nur noch einen kleinen Schritt von der Lösung entfernt bin und mir mindestens EINER von Euch dabei behilflich ist :wink:

Viele liebe Grüße
nullahnungvonnix
(Nomen Est Omen)

aber der funktioniert entweder nicht, oder was
wahrscheinlicher ist: Ich weiß diesen Makro Code nicht in das
Dokument einzubinden.

Hallo 0AvN,

Code ist okay.
Er gehört in ein Standardmodul Modul1 o.ä. deines Docs.
Wenn du kein Modul1 dort hast so klicke im VB-Editor links auf dein Projekt (erkennbar am Namen der Doc), dann oben Einfügen—Modul.
Dort kopierst du den Code rein.

Überprüfe die Namen kategorie, obst, käse im Code und die in deiner Doc auf exakte Schreibweise, Groß/klein und an den namen angehängte Leerzeichen.

Wenn du es nicht hinkriegst so lade dei Doc mal hoch mit fileupload o.ä. s. FAQ:2606

Gruß
Reinhard

Hallo nullahnungvonnix,

wenn du die Steuerlemente aus Formular(Excel 2003) bzw. Legacyformular (Excel2007) im Text verwendest, dann sind verschiedene Einstellungen erforderlich:

  1. Im VBA-Editor fügst du in einem allgemeinen Modul das Makro „Unterkategorie“ ein

  2. unter den Optionen für das Drop-Down-Formularfeld für die Marken

  • Dropdownelemente (Automarken) einfügen
  • Unter „Beenden“ das Makro wählen, das beim Verlassen ausgeführt werden soll - hier „Unterkategorie“
  • Unter „Textmarke“ trägst du den Namen der Combobox ein. z.B. „cboMarke“
  1. unter den Optionen für das Drop-Down-Formularfeld für die Modelle
  • 1 Dropdownelement z.B. „Bitte Modell auswählen“
  • Unter „Textmarke“ trägst du den Namen der Combobox ein. z.B. „cboModell“
  1. Unter „Dokument schützen“ schützt du den Dokumentabschnitt mit den Formularfeldern so, dass nur Formulareingabe möglich ist.

Gruß
Franz

'Code-Vorschlag für die Auswahllisten der Unterkategorie

'Code in einem allgemeinen Modul
Option Explicit

Private Const cstrLeer As String = "Keine Liste vorhanden" 'Text, wen für eine \_
 Marke noch keine Modell-Liste angelegt ist

Sub Unterkategorie()
 Dim oFld As FormFields, objFF As FormField, varListeModell, iIndex As Integer
 Set oFld = ActiveDocument.FormFields
 Select Case oFld("cboMarke").Result
 Case "Audi"
 varListeModell = Array("A1", "A2", "A3", "A5", "A6")
 Case "BMW"
 varListeModell = Array("316", "316i", "635", "750", "ZX")
 Case Else
 varListeModell = Array(cstrLeer)
 End Select

 With oFld("cboModell")
 With .DropDown
 .ListEntries.Clear
 If varListeModell(LBound(varListeModell)) cstrLeer Then
 .ListEntries.Add "Bitte Modell auswählen"
 End If
 For iIndex = LBound(varListeModell) To UBound(varListeModell)
 .ListEntries.Add varListeModell(iIndex)
 Next
 .Value = 1
 End With
 End With
End Sub

Super!!!
Vielen Dank Euch Beiden, das war echt einen große Hilfe.

Angefangen hat es damit, dass diese Dropdownfelder auf 25 Einträge begrenzt sind. Aber irgendwie lassen sich diese Einträge immer unterteilen. Ob das jetzt Automarken, Obst, Käse oder sonstiges Naschzeugs ist.
Der Download des Dokuments findet sich hier:
Vielleicht benötigt ja noch irgendwer schnelle Hilf…

Hallo 0AvN,

Vielen Dank Euch Beiden, das war echt einen große Hilfe.

Problem gelöst? *zweifel*

Angefangen hat es damit, dass diese Dropdownfelder auf 25
Einträge begrenzt sind.

Dropdowns in Word fassen nur 25 Einträge? Aha, wieder was gelernt.

Aber irgendwie lassen sich diese
Einträge immer unterteilen. Ob das jetzt Automarken, Obst,
Käse oder sonstiges Naschzeugs ist.

Was bedeutet jetzt nun diese Unterteilung, kann man dadurch mehr Einträge in eso ein Dropdown bringen?

Vielleicht benötigt ja noch irgendwer schnelle Hilfe.

Ja ich *meld*

Wenn ich mit Word 2000 diese .dot lade werde ich gefragt ob ich die Makros darin akzeptiere. Wenn ich bejahe wird aufgrund der .dot ein neues Dokument angelegt.
Aber ich finde im VB-Editor weder bei der .dot noch bei der neu angelgten doc irgendeinen Makrocode *verwirrt bin*

Gruß
Reinhard

Schönes Wochenende noch
Papa Schlumpf

Naja, wie gesagt Nomes es Omen, ich hab keine Ahnung was ich hier mache. Ich nehm das Zeug und kopiers halt dahin, wo ihr sagt…
Ah, moment, ich versuch mal was…
Tatsächlich, hab mir die Vorlage mal aufs Laptop runtergeladen und da ist auch kein Makro dabei. Kann es sein, dass ich das Makro nur auf dem anderen PC hab, statt es in die Vorlage eingebunden zu haben???

Problem gelöst? *zweifel*

ICH AUCH :smile:

Was bedeutet jetzt nun diese Unterteilung, kann man dadurch
mehr Einträge in eso ein Dropdown bringen?

Indirekt. Stell Dir vor, ein Dropdown das nach 25 Einträgen dicht macht. Audi A1, A2, wie sie alle heißen, dann die ganze Liste BMW Modelle, Citroen, Dacia, Fiat, da sind die 25 gleich voll.
Wenn mir aber das erste Dropdown 25 Marken anzeigt und mir dynamisch ins Zweite 25 Modelle ausgibt, dann reicht mir das.

Tatsächlich, hab mir die Vorlage mal aufs Laptop runtergeladen
und da ist auch kein Makro dabei. Kann es sein, dass ich das
Makro nur auf dem anderen PC hab, statt es in die Vorlage
eingebunden zu haben???

Hallo 0AvN,

ich gehe davon aus daß du es nicht eingebunden hast.
Nicht schlimm, kann man korrigieren.

Grundsätzlich dazu, Word kenne ich nicht so, Excel besser, da gibt es auch normale docs und sehr ungefähr dots. (Ich meine xls und xla)
Da ist sehr empfehlenswert daß du die mappe die du als .dot später speichern willst erstmal als .doc anlegst,

D,h, um etwas in der .dot zu ändern gehst du nicht in in die .dot sondern in die .doc, änderst da was ab, dann speicherst du das als .doc und als .dot.

Kann mich aber auch irren und in Word ticken die Uhren annerster.

was mich aber persönlich interessiert, vielleicht kann mir da Franz oder jmd. helfen, wieso krieg ich bei Öffnen der .dot eine Makroaktivierungsabfrage obwohl kein makro drin ist?
Oder kommt diese Abfrage bei jeder Öffnung einer .dot in Word?

Danke ^ Gruß
Reinhard

Die Vorlage wurde mit Makro erstellt.
Ob die jetzt eingebunden wurde oder nicht, daher die Sicherheitsfrage.

Mich quält jetzt nur noch das Problem, dass ich die Kombination dieser beiden Dropdown mehrfach in meinem Dokument benötige.
benötige ich für jede Dropdowndoppelpack ein eigenes Makro, oder läßt sich das in einem zusammenfassen???

(und ich dachte, die Sache wär bereits in Sack und Tüten…)

o

Hallo 0AvN,

Problem gelöst? *zweifel*

ICH AUCH :smile:

das ist gut, dann sehen wir das ja genauso und zusammen ist man stark, wir werden das Kind schon schaukeln :smile:

Was bedeutet jetzt nun diese Unterteilung, kann man dadurch
mehr Einträge in eso ein Dropdown bringen?

Indirekt. Stell Dir vor, ein Dropdown das nach 25 Einträgen
dicht macht. Audi A1, A2, wie sie alle heißen, dann die ganze
Liste BMW Modelle, Citroen, Dacia, Fiat, da sind die 25 gleich
voll.

Geht es um diese Begrenzung auf 25? Nimm kein Dropdown sondern ein Kombinationsfeld, da haste keine Begrenzung.
Andrerseits, ich weiß ja nicht was du genau vorhast, so ist die idee dafür zwei Boxen zu benutzen doch nicht schlecht.
Im ersten die marke, im zweiten deren Modelle.

Wenn das an den 25 scheitert für die Marken, okay dann halt zwei Kombinationsfelder.

Wenn mir aber das erste Dropdown 25 Marken anzeigt und mir
dynamisch ins Zweite 25 Modelle ausgibt, dann reicht mir das.

Was soll das bringen wenn du von der 26ten marke das 27te Modell angezeigt bekommen willst?

Gruß
Reinhard

Hallo 0AvN,

Die Vorlage wurde mit Makro erstellt.

mir egal wie du die erstellt hast, ich seh dadrin keine makros.
Die Art der Erstellung spielt keine Rolle.

Ob die jetzt eingebunden wurde oder nicht, daher die
Sicherheitsfrage.

Normalerweise ist es so, bei Öffnung einer .doc prüft Word ob da Makros drin sind, wenn ja kommt die Abfrage.
Bei deiner .dot kommt auch diese Abfrage obwohl keine makros drin sind.
Ergo frag ich nach ob Word beim Öffnen einer .dot immer diese Abfrage bringt, egal ob Makros in der .dot sind.

Mich quält jetzt nur noch das Problem, dass ich die
Kombination dieser beiden Dropdown mehrfach in meinem Dokument
benötige.
benötige ich für jede Dropdowndoppelpack ein eigenes Makro,
oder läßt sich das in einem zusammenfassen???

Jain.

(und ich dachte, die Sache wär bereits in Sack und Tüten…)

hatte ich nicht den Eindruck, naja, der Code den ich sah war okay, gibt wohl leichtere Umsetzungsprobleme *grins*

PS: das grins ist nicht auslache sondern anlachen *gg*

Gruß
Reinhard

Was soll das bringen wenn du von der 26ten marke das 27te
Modell angezeigt bekommen willst?

Nenn mir eine Automarke, die 27 Modelle hat :wink:
Nein, für mein Dokument reichen die Klassiker
Merzedes, BMW, Audi, VW, Opel, Fiat, Ford etc…

Mich quält jetzt nur noch das Problem, dass ich die
Kombination dieser beiden Dropdown mehrfach in meinem Dokument
benötige.
benötige ich für jedes Dropdowndoppelpack ein eigenes Makro,
oder läßt sich das in einem zusammenfassen???

Jain.

JAIN???

PS: das grins ist nicht auslache sondern anlachen *gg*

Ach, was das angeht, bin ich recht schmerzfrei, bin ein recht fröhliches Kerlchen und muß manchmal bei dem was ich hier mache
oft genug über mich selber lachen.

Ich klappe jetzt das „Word“ zusammen, schlafe eine Nacht drüber und laß mich überraschen, was Du noch so in Deiner Trickkiste hast.

Gute N8 und danke einstweilen.

Ich klappe jetzt das „Word“ zusammen, schlafe eine Nacht
drüber und laß mich überraschen, was Du noch so in Deiner
Trickkiste hast.

Hallo 0AvN,

derzeit nix denn die Datei kann man nicht mehr runterladen.
Lade nochmal eine datei hoch mit Daten und dem makro.
Vielleicht besser als doc, docx bzw. docm

Gruß
Reinhard