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

Forumthread: Excel: Wenn bestimmter Text in Zelle, dann

Excel: Wenn bestimmter Text in Zelle, dann
14.03.2017 09:17:42
Pascal
Hallo liebes Forum,
habe folgendes Problem.
Im Excel-Sheet welches im Anhang zu finden ist, gibt es eine Spalte D "Bemerkungen". In dieser Spalte lassen die einzelnen Zellen jeden Wert zu, jedoch gibt es über einen Dropdown die Möglichkeit einen vordefinierten Text auszuwählen.
Wenn ich nun diesen vordefinierten Text auswähle ("Keine Rückmeldung erwartet") soll in Spalte H das Wort "Ja" erscheinen. Jedoch besitzt die Spalte H auch eine Dropdown-Liste mit den Worten "Ja" und "Nein" doch im Gegensatz zur Spalte D werden hier nur diese beiden Werte zugelassen.
Das heißt ich kann dort keine Wenn-Dann-Formel eintragen. Zusätzlich soll wenn Die Spalten E und F beide leer sind das Wort "Nein" in die Spalte H eingetragen werden.(Bei allen Fällen Immer innerhalb einer Zeile)
Gibt es da eine Möglichkeit so etwas hinzubekommen?
Aller beste Grüße,
Pascal
https://www.herber.de/bbs/user/112161.xlsx
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Excel: Wenn bestimmter Text in Zelle, dann
14.03.2017 09:26:47
Rainer
Hallo Pascal,
warum musst du ein Dropdown anwenden auf eine Zelle, wo der Wert durch eine Formel bestimmt werden soll?
Gruß,
Rainer
AW: Excel: Wenn bestimmter Text in Zelle, dann
14.03.2017 11:42:08
Pascal
Der Wert muss nicht über die Formel bestimmt werden. Der Grund ist, das beides Möglich sein soll da es auch Fälle gibt in denen man individuell entscheiden muss.
Standard:
•Sind die Spalten E und F leer Spalte H = "Nein"
•Beinhaltet Spalte D den Text "Keine Rückmeldung erwartet" Spalte H = "Ja"
Zusätzlich soll man die Zellen der Spalte H auch selbst von NEIN auf JA stellen können über das Dropdown. Über VBA sollte das doch funktionieren, nur leider bin ich da nicht bewandert genug.
Vielen Dank!
Pascal
Anzeige
AW: Excel: Wenn bestimmter Text in Zelle, dann
15.03.2017 02:42:11
Rainer
Hallo Pascal,
na das macht schon eher Sinn, dass du eigentlich eine VBA Lösung im Sinn hast.
Der Code gehört in die 2. Tabelle mit dem Namen "Tabelle1":

Private Sub Worksheet_Change(ByVal Target As Range)
Check_Col_H
End Sub
Private Sub Check_Col_H()
StartRow = 2
LastRow = ActiveSheet.Cells(Rows.Count, 3).End(xlUp).Row 'in Spalte C habe ich eine  _
fortlaufende Nummer für jeden Vorgang eingefügt
For i = StartRow To LastRow
If Range("H" & i) = "" Then
If Range("D" & i) = "Keine Rückmeldung erwartet" Then Range("H" & i) = "Ja"
End If
If Range("H" & i) = "" Then
If Range("E" & i) = "" Then
If Range("F" & i) = "" Then
Range("H" & i) = "Nein"
End If
End If
End If
Next i
End Sub
Da ich den Aufbau nicht kenne habe ich Variablen für erste Zeile ("StartRow") und letzte Zeile ("LastRow") eingetragen.
Die letzte Zeile wird jetzt aus Spalte C ermittelt, wo ich fortlaufende Nummern eingetragen habe. Das musst du anpassen, "(Rows.Count, 3)" beschreibt Spalte 3 = Spalte C
Gruß,
Rainer
Anzeige
;

Forumthreads zu verwandten Themen

Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Excel: Wenn bestimmter Text in Zelle, dann


Schritt-für-Schritt-Anleitung

Um in Excel eine Zelle abhängig von einem bestimmten Text in einer anderen Zelle zu füllen, kannst du VBA verwenden. Hier ist eine Schritt-für-Schritt-Anleitung:

  1. Öffne deine Excel-Datei und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Füge ein neues Modul hinzu:

    • Rechtsklicke auf "VBAProject (deineDatei.xlsx)".
    • Wähle Einfügen > Modul.
  3. Kopiere den folgenden VBA-Code in das Modul:

    Private Sub Worksheet_Change(ByVal Target As Range)
        Check_Col_H
    End Sub
    
    Private Sub Check_Col_H()
        Dim StartRow As Long
        Dim LastRow As Long
        StartRow = 2 ' Die erste Zeile, die überprüft werden soll
        LastRow = ActiveSheet.Cells(Rows.Count, 3).End(xlUp).Row ' Letzte Zeile in Spalte C
    
        For i = StartRow To LastRow
            If Range("H" & i) = "" Then
                If Range("D" & i) = "Keine Rückmeldung erwartet" Then
                    Range("H" & i) = "Ja"
                End If
                If Range("E" & i) = "" And Range("F" & i) = "" Then
                    Range("H" & i) = "Nein"
                End If
            End If
        Next i
    End Sub
  4. Passe den Code an:

    • Stelle sicher, dass die Spalten und Zeilen mit deiner Tabelle übereinstimmen (z.B. Spalte C für fortlaufende Nummern).
  5. Speichern und schließe den VBA-Editor.

  6. Teste die Anwendung, indem du einen Text in Spalte D eingibst und die Ergebnisse in Spalte H überprüfst.


Häufige Fehler und Lösungen

  • Fehler: Makro wird nicht ausgeführt
    Lösung: Stelle sicher, dass die Makros aktiviert sind. Gehe zu Datei > Optionen > Trust Center > Einstellungen für das Trust Center und aktiviere die Makros.

  • Fehler: "Nein" wird nicht angezeigt
    Lösung: Überprüfe, ob die Zellen in Spalte E und F leer sind. Wenn nicht, wird "Nein" nicht angezeigt.


Alternative Methoden

Falls du keine VBA-Lösungen verwenden möchtest, kannst du auch eine WENN-Formel verwenden, allerdings wird diese in einer Dropdown-Zelle nicht direkt unterstützt:

=WENN(D2="Keine Rückmeldung erwartet"; "Ja"; WENN(UND(E2=""; F2=""); "Nein"; ""))

Diese Formel kannst du in eine Hilfsspalte einfügen und dann die Ergebnisse manuell in Spalte H übertragen.


Praktische Beispiele

Angenommen, du hast folgende Werte in deinen Spalten:

D E F H
Keine Rückmeldung erwartet
Keine Rückmeldung erwartet Text
Text
  • Wenn du in D1 „Keine Rückmeldung erwartet“ eingibst und E1 und F1 leer sind, erscheint in H1 „Ja“.
  • Wenn du in D2 „Keine Rückmeldung erwartet“ eingibst und E2 nicht leer ist, bleibt H2 leer, bis du manuell „Ja“ oder „Nein“ wählst.

Tipps für Profis

  • Nutze Datenüberprüfung, um sicherzustellen, dass die Eingaben in Spalte D nur aus vordefinierten Werten bestehen.
  • Du kannst die Arbeitsmappe so einstellen, dass sie beim Öffnen die Makros automatisch aktiviert, um die Nutzung zu erleichtern.
  • Experimentiere mit weiteren VBA-Funktionen, um die Logik zu erweitern, z.B. nach mehreren Bedingungen zu suchen.

FAQ: Häufige Fragen

1. Kann ich den VBA-Code anpassen, um mehrere Texte zu überprüfen?
Ja, du kannst weitere If-Bedingungen im Check_Col_H-Sub einfügen, um mehrere Texte zu überprüfen und die entsprechenden Werte zu setzen.

2. Funktioniert das auch in Excel Online?
VBA-Makros sind in Excel Online nicht verfügbar. Du musst eine Desktop-Version von Excel verwenden, um diese Funktionalität zu nutzen.

3. Was ist, wenn ich mehr als zwei Dropdown-Optionen benötige?
Du kannst die Logik im VBA-Code anpassen, um mehr Optionen zu berücksichtigen und entsprechende Werte in Spalte H zu setzen.

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