MS-Office-Forum

Zurück   MS-Office-Forum > Microsoft Office > Microsoft Word
Registrieren Forum Hilfe Alle Foren als gelesen markieren

Banner und Co.

Antworten
Ads
Themen-Optionen Ansicht
Alt 15.05.2019, 12:06   #1
haderleinst49789
Neuer Benutzer
Neuer Benutzer
Standard VBA - Dropdown Liste mit Excel Füllen

Hallo Zusammen,

folgende Situation:

In einer word file habe ich ein Dropdown-Menü (Name "Dropdown1").

Dieses Dropdown soll mit den Daten aus Excel (Spalte 1) von Zeile 3 bis letzte beschriebene Zeile, befüllt werden mittels einer Schleife.

Das Öffnen der Excelfile über Word funktioniert einwandtfrei.

Allerdings fehlt mir der Ansatz, wie ich hier anfangen könne, etwa so:

Dim i As Integer

For i = 1 To 1000

Dropdown1.ListEntries.Add Cells(i, 2)

If Cells(i, 2) = "" Then
Exit For
End If

Next


Die zweite Frage wäre, wo ich überhaupt meine Dropdown-Liste in Word mit dem Namen "Dropdown1" deklariere? Mache ich das über "Eigenschaften"-> "Tag"?

Um Hilfe wäre ich dankbar.
Vielen Dank.
haderleinst49789 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 15.05.2019, 13:12   #2
Gerhard H
MOF Guru
MOF Guru
Standard

Hallo Haderlein,

"wo ich überhaupt meine Dropdown-Liste in Word mit dem Namen "Dropdown1" deklariere?"

Das kommt drauf an, was für ein Element du verwendest: Inhaltssteuerelement-Dropdownliste, Active-X-Listenfeld oder ein Kombinationsfeld aus den Formularen aus Vorversionen?
Deine Frage nach dem "Tag" lässt mich auf ein Inhaltssteuerelement tippen, deine Redeweise vom "Namen" der Dropdownliste lässt mich eher vermuten, dass du eins von den beiden letztgenannten verwendest. Inhaltssteuerelemente haben jedenfalls keinen "Namen".

Hier ein Makroschnipsel zur Befüllung eines Inhaltsteuerelement-Kombinationsfeldes mit dem Tag Email. Die Daten aus einem Exceltabellenblatt namens excelsheet. werden in einem Zwischenschritt in eine Arrayvariable (mitarbeiterdaten) eingelesen. Mappe und Blatt wurden vorher deklariert (das hast du ja schon). Das Kombinationsfeld wird gefüllt von Zeile 3 bis zur letzten Zeile der Spalte 1.
Code:

'....
Set excelsheet = excelmappe.sheets("Mitarbeiter")

'gewünschte Zeilen / Spalte-Nr. deklarieren
zeile = 3
spalte = 1
    
    With excelsheet
        'letzte Zeile / feststellen
        letztezeile = .Cells(.Rows.Count, 2).End(-4162).Row
        'Arrayvariable füllen
        mitarbeiterdaten = .Range(.Cells(zeile, spalte), .Cells(letztezeile, spalte))
     End With
    
    'Dropdown bestücken - Inhaltssteuerelement
    With ActiveDocument.SelectContentControlsByTag("Email").Item(1)
    .DropdownListEntries.Clear
        
        For i = LBound(mitarbeiterdaten) To UBound(mitarbeiterdaten)
            .DropdownListEntries.Add mitarbeiterdaten(i, 1)
        Next i

    End With
'....
Falls du die Arrayvariable mitarbeiterdaten auch außerhalb dieser Prozedur verwenden willst, solltest du sie in einem eigenen Modul als Public deklarieren.

Wenn dir das nicht weiterhilft, lade bitte deinen bisherigen Code hoch und teile mit, welches Steuerelement du verwendest.

__________________

Gruß
Gerhard
Gerhard H ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 15.05.2019, 14:25   #3
haderleinst49789
Threadstarter Threadstarter
Neuer Benutzer
Neuer Benutzer
Standard

Hallo Gerhard,
top, super vielen Dank für deine Rückmeldung.
Hat super geklappt mit kleinen Veränderungen.
Damit hat sich das Problem gelöst. Super
haderleinst49789 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Ads
Antworten


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Besucher: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge anzufügen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

vB Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist An.
Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:23 Uhr.



Powered by: vBulletin Version 3.6.2 (Deutsch)
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.

Copyright ©2000-2018 MS-Office-Forum. Alle Rechte vorbehalten.
Copyright ©Design: Manuela Kulpa ©Rechte: Günter Kramer
Eine Verwendung der Inhalte in anderen Publikationen, auch auszugsweise,
ist ohne ausdrückliche Zustimmung der Autoren nicht gestattet.