Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: VBA Dropdown ansprechen+Pflichtfeld setzen

VBA Dropdown ansprechen+Pflichtfeld setzen
27.09.2017 13:24:19
Berndt
Hallo Freunde,
folgende Frage bezieht sich ausnahmsweise auf Word. Ich denke und hoffe doch, damit die Programmierei ziemlich gleich läuft.
Vielleicht könnt ihr helfen.
Also...
Um folgende von mir angelegte Dropdownfelder handelt es sich.
Userbild
Das Eigenschaftfeld schaut beispielhaft so aus.
Userbild
Wie kann jetzt einen Button so definieren, damit dieser vor dem Versenden via Outlook (Makro hab ich bereits) prüft ob diese 3 Dropdown Felder ausgefüllt worden sind?
If  ActiveDocument.FormFields("Dropdown1").Result = "" Or _
ActiveDocument.FormFields("Dropdown2").Result = "" Or _
ActiveDocument.FormFields("Dropdown3").Result = "" Then
MsgBox "Bitte Pflichtfelder (*) ausfüllen!"
Else
'Öffnen von Outlook und einer neuen Email
Set olapp = CreateObject("Outlook.Application")
Set olitem = olapp.createitem(OlMailItem)
End If
End Sub
Das funktioniert augescheinlich nicht.
Ich danke für eure Hilfe.
LG Berndt
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Word <> Excel, daher Word-VBA <> Excel-VBA
27.09.2017 13:39:56
Michael
Berndt,
damit die Programmierei ziemlich gleich läuft
das ist nur in einem sehr eingeschränkten Sinn der Fall; insgesamt braucht es für Word-VBA auf jeden Fall anderes Know-How als für Excel.
Du solltest diese Deine Frage also gezielt in einem Word-(VBA)-Forum stellen, da wirst Du schneller bzw. überhaupt zu antworten kommen.
LG
Michael
Anzeige
AW: VBA Dropdown ansprechen+Pflichtfeld setzen
27.09.2017 13:46:42
JoWE
Hallo Berndt,
kannst Du die Word-Datei hochladen?
Deine Dropdownlisten spricht Du z.B. so an:
ActiveDocument.ContentControls.Count ' müsste bei Dir dann 3 ergeben
ActiveDocument.ContentControls(1).Title ' müsste bei Dir einen Leerstring ergeben
ActiveDocument.ContentControls(1).Range.Text ' ergibt den gewählten Eintrag von Dropdown1
Gruß
Jochen
Anzeige
Danke
27.09.2017 14:11:30
Berndt
Es funktioniert. Danke für deine Hilfe :-)
AW: Danke dito oT
27.09.2017 14:13:10
JoWE
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

VBA Dropdown in Excel ansprechen und Pflichtfelder setzen


Schritt-für-Schritt-Anleitung

Um in Excel ein Dropdown-Feld zu erstellen und sicherzustellen, dass es als Pflichtfeld behandelt wird, kannst du die folgenden Schritte befolgen:

  1. Dropdown erstellen:

    • Wähle die Zelle aus, in der das Dropdown-Menü erscheinen soll.
    • Gehe zu Daten > Datenüberprüfung.
    • Wähle Liste aus dem Dropdown-Menü und gib die Werte für das Dropdown ein.
  2. VBA-Editor öffnen:

    • Drücke ALT + F11, um den VBA-Editor zu öffnen.
  3. Neues Modul hinzufügen:

    • Klicke mit der rechten Maustaste im Projektfenster und wähle Einfügen > Modul.
  4. VBA-Code schreiben:

    • Füge den folgenden Code in das Modul ein, um die Dropdown-Werte zu überprüfen:
    Sub CheckDropdowns()
       If Range("A1").Value = "" Or Range("A2").Value = "" Or Range("A3").Value = "" Then
           MsgBox "Bitte alle Pflichtfelder ausfüllen!"
       Else
           'Fahre mit dem weiteren Code fort
       End If
    End Sub
  5. Makro ausführen:

    • Du kannst das Makro über Entwicklertools > Makros ausführen. Achte darauf, dass du das richtige Makro auswählst.

Häufige Fehler und Lösungen

  • Fehler: "Typenübereinstimmung":

    • Lösung: Stelle sicher, dass die Zellreferenzen korrekt sind und dass die Dropdown-Listen vorhanden sind.
  • Fehler: MsgBox erscheint nicht:

    • Lösung: Überprüfe, ob das Makro korrekt ausgeführt wird und keine vorherigen Fehler im Code vorhanden sind.

Alternative Methoden

Du kannst auch die Worksheet_Change-Ereignisprozedur verwenden, um Dropdowns in Echtzeit zu überprüfen, während der Benutzer die Auswahl trifft:

Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("A1:A3")) Is Nothing Then
        If Range("A1").Value = "" Or Range("A2").Value = "" Or Range("A3").Value = "" Then
            MsgBox "Bitte alle Pflichtfelder ausfüllen!"
        End If
    End If
End Sub

Praktische Beispiele

Nehmen wir an, du hast ein Dropdown in den Zellen A1, A2 und A3. Um sicherzustellen, dass diese Felder ausgefüllt sind, kannst du den oben genannten Code verwenden. Wenn du ein Formular erstellst, das diese Daten an einen E-Mail-Client senden soll, wird die Überprüfung der Dropdowns besonders wichtig.


Tipps für Profis

  • Verwende benannte Bereiche für die Dropdown-Listen, um die Wartbarkeit zu erhöhen.
  • Nutze Fehlerbehandlung in deinem VBA-Code, um potenzielle Probleme elegant zu handhaben.
  • Teste dein Makro gründlich in verschiedenen Szenarien, um sicherzustellen, dass es in allen Fällen funktioniert.

FAQ: Häufige Fragen

1. Wie kann ich mehrere Dropdowns in einer Zeile ansprechen?
Verwende die Range-Objekte, um auf mehrere Zellen gleichzeitig zuzugreifen, z.B. Range("A1:A3").Value.

2. Was ist der Unterschied zwischen Dropdown in Excel und Word?
Excel verwendet Datenüberprüfung, während Word mit Formularfeldern oder Inhaltssteuerelementen arbeitet. Achte darauf, dass die VBA-Syntax entsprechend angepasst wird.

3. Kann ich die Dropdown-Überprüfung automatisieren?
Ja, du kannst die Überprüfung in Makros oder sogar in UserForms einfügen, um den Benutzerfluss zu optimieren.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige