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

Forumthread: Schaltfläche zum Wechsel von zwei Werten

Schaltfläche zum Wechsel von zwei Werten
zwei
Hallo zusammen,
ich habe gerade eine Tabelle, in der in Zell Z4S9 nur "Stadt" oder "Land" stehen soll. Standardmäßig ist hier "Stadt" ausgewählt.
Nun hätte ich gern einen Makro, der dafür sorgt, dass bei einem Klick auf die entsprechende Schaltfläche der andere Wert, also "Land" eingetragen wird. Bei einem weitern Klick auf die Schalftfläche soll dann wieder "Stadt" in der Zell Z4S9 stehen u.s.w.
Wer kann mir helfen.
Gruße
Jürgen
Anzeige

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

Betreff
Benutzer
Anzeige
AW: Schaltfläche zum Wechsel von zwei Werten
05.02.2012 16:31:20
zwei
Hallo Jürgen,
warum machst Du es nicht mit Daten, Gültigkeit?

AW: Schaltfläche zum Wechsel von zwei Werten
05.02.2012 17:18:34
zwei
Hallo Jürgen,
oder mache es ohne Button mit Doppelklick in der Zelle. Josef seinen Code angepast.
Option Explicit
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Address = "$B$1" Then
Target.Value = IIf(Target.Value = "Stadt", "Land", "Stadt")
Cancel = True
End If
End Sub
Gruß Hajo
Anzeige
AW: Schaltfläche zum Wechsel von zwei Werten
05.02.2012 16:31:29
zwei

Hallo Jürgen,

Sub ToggleValue()
With Range("I4")
.Value = IIf(.Value = "Stadt", "Land", "Stadt")
End With
End Sub


« Gruß Sepp »

Anzeige
AW: Schaltfläche zum Wechsel von zwei Werten
05.02.2012 18:58:11
zwei
Hallo Sepp!
Vielen Dank für deine Lösung. Genau so etwas habe ich gesucht!!! Vielen Dank!
Die Zelle, in die der Wert geschrieben wird, wird später in einem ausgeblendeten Bereich liegen, daher ist eine direkte Ansprache in dem Feld nicht möglich. Ansonsten ist die andere Idee aber auch nicht schlecht!
Viele Grüße
Jürgen
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Schaltfläche zum Wechseln von Werten in Excel


Schritt-für-Schritt-Anleitung

  1. Öffne Excel und gehe zu dem Arbeitsblatt, in dem Du die Zelle (z.B. Z4S9) hast, die entweder "Stadt" oder "Land" enthalten soll.

  2. Drücke Alt + F11, um den VBA-Editor zu öffnen.

  3. Füge ein neues Modul hinzu, indem Du mit der rechten Maustaste auf „VBAProject (DeineDatei)“ klickst und „Einfügen“ > „Modul“ auswählst.

  4. Kopiere den folgenden Code in das Modul:

    Sub ToggleValue()
       With Range("Z4S9")
           .Value = IIf(.Value = "Stadt", "Land", "Stadt")
       End With
    End Sub
  5. Schließe den VBA-Editor und gehe zurück zu Excel.

  6. Füge eine Schaltfläche ein, indem Du auf „Entwicklertools“ > „Einfügen“ > „Schaltfläche (Formularsteuerung)“ klickst und sie auf Deinem Arbeitsblatt platzierst.

  7. Wähle das Makro „ToggleValue“ zu, wenn Du dazu aufgefordert wirst.

  8. Klicke auf die Schaltfläche, um zwischen "Stadt" und "Land" zu wechseln.


Häufige Fehler und Lösungen

  • Fehler: Die Schaltfläche funktioniert nicht.

    • Lösung: Stelle sicher, dass das Makro aktiviert ist und dass Du die Schaltfläche richtig mit dem Makro verknüpft hast. Prüfe auch, ob die richtige Zelle (Z4S9) referenziert wird.
  • Fehler: Der Wert in Zelle Z4S9 ändert sich nicht.

    • Lösung: Überprüfe, ob der Wert in Zelle Z4S9 bereits "Stadt" oder "Land" ist. Achte darauf, dass die Zelle nicht geschützt ist.

Alternative Methoden

Eine Alternative zur Verwendung einer Schaltfläche ist das Doppelklicken in der Zelle:

  1. Öffne den VBA-Editor wie zuvor beschrieben.

  2. Wähle das Arbeitsblatt aus, in dem sich die Zelle befindet (z.B. Z4S9).

  3. Füge den folgenden Code in das Arbeitsblatt-Modul ein:

    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
       If Target.Address = "$Z$4$S$9" Then
           Target.Value = IIf(Target.Value = "Stadt", "Land", "Stadt")
           Cancel = True
       End If
    End Sub
  4. Schließe den VBA-Editor und teste das Doppelklicken in der Zelle.


Praktische Beispiele

Hier ist ein einfaches Beispiel, wie Du den Code anpassen kannst, um eine andere Zelle zu verwenden:

Sub ToggleValueExample()
    With Range("A1") ' Ändere A1 in die gewünschte Zelle
        .Value = IIf(.Value = "Stadt", "Land", "Stadt")
    End With
End Sub

Du kannst diesen Code in das Modul einfügen und die Zelle entsprechend anpassen.


Tipps für Profis

  • Nutze den „Entwicklertools“-Tab in Excel, um die Schaltfläche besser zu gestalten.
  • Du kannst zusätzliche Bedingungen hinzufügen, um mehr als zwei Werte zu toggeln, indem Du eine Select Case-Struktur im VBA-Code verwendest.
  • Überlege, ob Du die Zelle, in die der Wert geschrieben wird, dynamisch ändern möchtest, um flexibler zu sein.

FAQ: Häufige Fragen

1. Wie kann ich den Code anpassen, um mehr als zwei Werte zu wechseln?
Du kannst eine Select Case-Anweisung verwenden, um mehrere Werte zu verarbeiten.

2. Was mache ich, wenn der „Entwicklertools“-Tab nicht sichtbar ist?
Aktiviere ihn über „Datei“ > „Optionen“ > „Menüband anpassen“ und setze ein Häkchen bei „Entwicklertools“.

3. Funktioniert dies in Excel Online?
Leider sind VBA-Makros nicht in Excel Online verfügbar. Du kannst jedoch ähnliche Funktionen mit Power Automate oder anderen Excel-Funktionen erstellen.

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