Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Hilfe bei Gruppenfeld Auslesen VBA

Forumthread: Hilfe bei Gruppenfeld Auslesen VBA

Hilfe bei Gruppenfeld Auslesen VBA
30.04.2021 09:40:06
Simon
Guten Morgen zusammen,
ich stehe gerade vor einer wahrscheinlich sehr einfachen Herausforderung, komme aber mangels VBA Kenntnissen seit einigen Tagen nicht weiter und konnte im Netz keine vergleichbaren VBA Programmcodes finden.
Hier die Beispieldatei dazu zum Download: https://www.herber.de/bbs/user/145868.xlsx
Ich möchte, dass mit Klick auf die Schaltfläche 9 im Gruppenfeld 4 geprüft wird, ob der Optionsbutton "Ja" angeklickt wurde, wenn ja soll in Zelle E16 ein X geschrieben werden. Wurde der Button "Nein" angeklickt soll ein zuvor geschriebenes X wieder gelöscht werden.
Könnt Ihr mich hierbei mit einem Code-Beispiel unterstützen?
Vielen Dank vorab und viele Grüße
Simon
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Hilfe bei Gruppenfeld Auslesen VBA
30.04.2021 09:47:17
ChrisL
Hi Simon
https://www.herber.de/bbs/user/145869.xlsx
Ich würde vorschlagen, dass du die Steuerelemente direkt mir einer Zelle verknüpfst (rechte Maustaste). Damit sparst du den Klick auf die Schaltfläche.
cu
Chris
AW: Hilfe bei Gruppenfeld Auslesen VBA
30.04.2021 10:00:06
Simon
Guten Morgen Chris,
durch die Zellverknüpfung erhalte ich die Werte 1 oder 2 in die betreffende Zelle geschrieben, nicht aber ein X oder eine leere Zelle.
Dieses Beispielmakro soll nachher in ein deutlich umfangreicheres Makro überführt werden und in die Zielzelle soll keine Formel eingetragen werden.
Die Zielzelle wird anschließend von einem anderen Programm ausgelesen und muss daher den Wert X oder eben eine leere Zelle aufweisen.
Sorry, aber mit der Zellverknüpfung bekomme ich nicht die Lösung die ich brauche.
Dennoch vielen Dank für den ersten Tipp.
Viele Grüße
Simon
Anzeige
AW: Hilfe bei Gruppenfeld Auslesen VBA
30.04.2021 09:58:12
Nepumuk
Hallo Simon,
verknüpfe doch einfach die Optionsfelder mit einem Makro.
Ansonsten:
Code:

[Cc]

Public Sub Test() If Tabelle1.Shapes("Option Button 7").ControlFormat.Value = xlOn Then Range("E16").Value = "X" ElseIf Tabelle1.Shapes("Option Button 8").ControlFormat.Value = xlOn Then Range("E16").Value = Empty Else Range("E16").Value = Empty End If End Sub

Gruß
Nepumuk
Anzeige
AW: Hilfe bei Gruppenfeld Auslesen VBA
30.04.2021 10:02:36
Daniel
Hi
ich würde auch so wie Chris vorgeschlagen die Optionbuttons mit einer Ausgabezelle verknüpfen (Kontextmenü - Steuerelement formatieren - Steuerung - Zellvernküpfung)
du bekommst dann in dieser Zelle eine 1 für "ja" und eine 2 für "nein", was du dann per weitere Formel in "x" und "" umsetzen kannst.
z.B. mit =Wahl(D16;"x";"") wenn D16 die Zelle ist, mit der du die Buttons verknüpft hast.
Gruß Daniel
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Auslesen eines Gruppenfeldes in Excel mit VBA


Schritt-für-Schritt-Anleitung

Um ein Gruppenfeld in Excel auszulesen und den Wert einer Zelle basierend auf der Auswahl eines Optionsbuttons zu ändern, kannst du den folgenden VBA-Code verwenden:

  1. Öffne deine Excel-Datei und drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Füge ein neues Modul hinzu: Rechtsklick auf „VBAProject (DeinDateiname)“ > Einfügen > Modul.
  3. Kopiere den folgenden Code und füge ihn in das Modul ein:
Public Sub Test()
    If Tabelle1.Shapes("Option Button 7").ControlFormat.Value = xlOn Then
        Range("E16").Value = "X"
    ElseIf Tabelle1.Shapes("Option Button 8").ControlFormat.Value = xlOn Then
        Range("E16").Value = Empty
    Else
        Range("E16").Value = Empty
    End If
End Sub
  1. Passe die Namen der Optionsbuttons („Option Button 7“ und „Option Button 8“) sowie die Zielzelle (E16) nach Bedarf an.
  2. Schließe den VBA-Editor und gehe zurück zu Excel.
  3. Verknüpfe die Schaltfläche mit dem Makro „Test“ durch einen Rechtsklick auf die Schaltfläche und wähle „Makro zuweisen“.

Wenn du jetzt auf die Schaltfläche klickst, wird das Gruppenfeld ausgewertet und die Zelle E16 entsprechend aktualisiert.


Häufige Fehler und Lösungen

  • Fehler: Der Code funktioniert nicht.

    • Stelle sicher, dass du die richtigen Namen für die Optionsbuttons verwendest. Überprüfe auch, ob die Zelle E16 korrekt angegeben ist.
  • Fehler: Keine Änderung in der Zelle E16.

    • Überprüfe, ob das Makro beim Klicken auf die Schaltfläche tatsächlich ausgeführt wird. Du kannst dies testen, indem du eine MessageBox im Code hinzufügst.

Alternative Methoden

Eine alternative Methode zum Auslesen des Gruppenfeldes in Excel ist die Zellverknüpfung. Dies kann jedoch zu unerwünschten Werten (1 oder 2) in der Zelle führen. Du kannst dann eine zusätzliche Formel verwenden, um diese Werte in ein „X“ oder eine leere Zelle umzuwandeln:

=WENN(D16=1;"X";"")

In diesem Fall ist D16 die Zelle, mit der die Buttons verknüpft sind. Diese Methode ist weniger flexibel, bietet jedoch eine einfache Möglichkeit, ohne VBA auszukommen.


Praktische Beispiele

Angenommen, du hast ein Excel-Dokument, in dem du ein Gruppenfeld mit den Optionen "Ja" und "Nein" hast. Du möchtest die Zelle E16 auf „X“ setzen, wenn „Ja“ gewählt wird, und leeren, wenn „Nein“ gewählt wird.

Verwende den oben angegebenen VBA-Code, um dies zu erreichen. Teste das Makro, indem du die Auswahl änderst und die Schaltfläche klickst.


Tipps für Profis

  • Wenn du das Gruppenfeld in einem großen Excel-Dokument verwendest, achte darauf, dass die Steuerelemente klar benannt sind. Dies erleichtert die Fehlersuche und Wartung des Codes.
  • Nutze die Möglichkeit, die Sichtbarkeit von Gruppenfeldern zu steuern, um das „excel gruppenfeld unsichtbar“ zu machen, wenn es nicht benötigt wird. Dies kann durch die Einstellung der Visible-Eigenschaft in VBA erreicht werden.

FAQ: Häufige Fragen

1. Kann ich mehrere Gruppenfelder gleichzeitig auslesen? Ja, du kannst mehrere Gruppenfelder im gleichen Makro auslesen, indem du für jedes Gruppenfeld eine If-Bedingung hinzufügst.

2. Was, wenn ich keine VBA-Kenntnisse habe? In diesem Fall kannst du die Zellverknüpfungsmethode verwenden, um die Werte zu steuern, auch wenn dies etwas weniger flexibel ist.

3. Wie kann ich sicherstellen, dass meine Makros immer ausgeführt werden? Aktiviere in den Excel-Optionen die Makrosicherheit, um sicherzustellen, dass Makros immer ausgeführt werden können, und speichere deine Datei im .xlsm-Format.

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