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

Wenn Zelle Inhalt, dann X

Forumthread: Wenn Zelle Inhalt, dann X

Wenn Zelle Inhalt, dann X
martin
Hallo Forum,
in meiner Tabelle möchte ich den Zellen der Spalten G,I und K ein X zuweisen, wenn die Nachbarzellen der Spalten H,J und L einen (Text-) Wert beinhalten.
https://www.herber.de/bbs/user/75143.xls
Wie mache ich das?
Danke im Voraus und beste Grüße
Anzeige
AW: Wenn Zelle Inhalt, dann X
03.06.2011 06:46:25
mas
Hallo martin
mal als erster Ansatz
In die Zelle G1 diese Formel
=WENN(ISTKTEXT(H1);FALSCH;"X")
alle anderen entsprechend
mas
AW: Wenn Zelle Inhalt, dann X
03.06.2011 07:25:24
martin
Hallo mas,
die Formel funktioniert soweit aber ich erhalte dann den Wert Falsch.
Es wäre gut, keine Anzeige zu sehen.
Geht das ev. mit VBA?
martin
Anzeige
AW: Wenn Zelle Inhalt, dann X
03.06.2011 07:39:32
ede
Hallo,
dann änder doch einfach die Formel ab:
=WENN(ISTKTEXT(H1);"";"X")
Gruss
AW: Wenn Zelle Inhalt, dann X
03.06.2011 07:55:45
martin
Hallo ede,
klappt super, danke!
Trozdem, gibt es eine VBA-Lösung?
martin
AW: Wenn Zelle Inhalt, dann X
03.06.2011 14:09:48
fcs
Hallo Martin,
grundsätzlich gibt es auch eine VBA-Lösung,
In deiner Beispiel-Datei hab ich entsprechende Makros eingebaut.
Makro "Check_Spalten_H_J_L" im Modul "Mod_Eingabepruefung" prüft alle Daten-Zeilen in den 3 Spalten.
Ereignis-Makro "Private Sub Worksheet_Change(ByVal Target As Range)" unter dem Modul der Tabelle "Tabelle1" prüft bei jeder Eingabe in Zelle(n) ob Eingaben in eine der 3 Spalten gemacht wurden.
Beide Makros verwenden das eigentliche Prüfmakro "Eingabe_Pruefen" als Sub-Routine.
Die von dir eingebaute bedingte Formatierung für die Spalte A war nicht optimal. Insbesondere war sie anfällig gegen das Einfügen/Löschen von ganzen Zeilen. Ich hab dort eine Variante eingebaut, die doppelte Artikelnummern gelb kennzeichnet und Nummern, die nicht aufsteigend sortiert sind rot.
Gruß
Franz
Anzeige
AW: Wenn Zelle Inhalt, dann X
03.06.2011 19:26:33
martin
Hallo Franz,
habe deinen Beitrag jetzt erst gesehen. Ich habe immer nur am Ende der Liste geschaut.
Habe viel rumprobiert und wollte dann auch mit zweien Arbeiten. Habe bis jetzt schon eine Menge hinbekommen als Neuling. Das beschäftigt mich aber schon seit Tagen.
Kannst Du mir weiterhelfen mit den makros?
Gruß
martin
Anzeige
AW: Wenn Zelle Inhalt, dann X
04.06.2011 01:08:05
fcs
Hallo Martin,
da hatte ich versehentlich die angepasste Datei nicht mit meiner Antwort hochgeladen.
Hier ist sie jetzt.
https://www.herber.de/bbs/user/75157.xls
Gruß
Franz
AW: Wenn Zelle Inhalt, dann X
04.06.2011 22:04:58
martin
Hallo Franz,
ich habe den Code in meine Mappe eingebaut und getestet. Er läuft rund.
Das ist alles sehr gut erklärt und hat mir total viel gebracht.
Auf meine bedingten Formatregeln habe ich gar nicht geachtet und habe diese geändert.
Danke für diese tolle Hilfe!
gruss martin
Anzeige
Excel-gut- ?
03.06.2011 08:00:05
robert
Hi,
also bei Deinem Level kannst Du keine Lösung finden, aber VBA soll es sein
VBA-bescheiden schreibst Du......
So eine Formel müsstest Du doch zustandebringen, denn nur so lernt man was.
Nicht immer gleich ins Forum..........
Denk mal drüber nach ;-)
Gruß
robert
AW: Excel/ VBA bescheiden !
03.06.2011 08:34:38
martin
Hallo robert,
entschuldige bitte meine Fehleinschätzung.
Ist mein Level jetzt so richtig angegeben?
Learning bei doing.... denn nur so lernt man was.
Denk mal drüber nach ;-)
Gruß
martin
Anzeige
AW:versuch mal
03.06.2011 09:03:34
hary
Hallo Martin
teste mal dies makro.

Option Explicit
Sub versuch()
Dim spalte As Long
Dim zeile As Long
For spalte = 8 To 12 Step 2
For zeile = 2 To Cells(Rows.Count, spalte).End(xlUp).Row
If Cells(zeile, spalte)  "" Then
Cells(zeile, spalte - 1) = "X"
Else
Cells(zeile, spalte - 1) = ""
End If
Next
Next
End Sub

gruss hary
Anzeige
AW: versuch mal
03.06.2011 09:25:03
martin
Hallo hary,
bin leider erst heute Abend wieder am Rechner. Dann probiere ich es aus.
Danke erst einmal.
martin
AW: AW:versuch mal
03.06.2011 19:02:24
martin
Hallo hary,
habe das makro getestet.
Läuft bei der Makierung der Werte mit X super.
Lösche ich einen oder mehrere Werte, lässt es das X stehen, was ich nicht verstehe.
martin
Anzeige
AW: AW:versuch mal
04.06.2011 10:57:11
hary
Moin Martin
Ich wollte die Schleife so kurz wie moeglich halten und dadurch kammt das.
so gehts:

Dim spalte As Long
Dim zeile As Long
Application.ScreenUpdating = False
For spalte = 8 To 12 Step 2
For zeile = 2 To Cells(Rows.Count, 1).End(xlUp).Row
If Cells(zeile, spalte)  "" Then
Cells(zeile, spalte - 1) = "X"
Else
Cells(zeile, spalte - 1) = ""
End If
Next
Next
Application.ScreenUpdating = False

wobei die evtl. bessere und schnellere Loesung waere:
Code in den Code des Tabellenblattes. Dieser startet sobald in Spalte H J K etwas geaendert wird.

Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
Select Case Target.Column
Case 8, 10, 12
If Target  "" Then
Target.Offset(0, -1) = "X"
Else
Target.Offset(0, -1) = ""
End If
End Select
End Sub

gruss hary
Anzeige
AW: AW:versuch mal
04.06.2011 22:06:00
martin
Hallo Hary,
das ist echt unglaublich, wie kurz man Codes halten kann.
Ich habe nur den Zweiten getestet und der macht alles wie er soll.
Vielen Dank für die prompte Unterstützung!
Gruss martin
AW: Excel/ VBA bescheiden !
03.06.2011 09:48:07
robert
Zitat:
Learning bei doing.... denn nur so lernt man was.
Hi martin,
das machst du aber nicht, wenn du fertige Lösungen einsetzt !
Sollte keine Kritik, sondern Anregung sein ;-)
Gruß
robert
Anzeige
;

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

Infobox / Tutorial

Zelle Inhalt überprüfen und X zuweisen in Excel


Schritt-für-Schritt-Anleitung

Um in Excel den Inhalt einer Zelle zu überprüfen und ein "X" zuzuweisen, wenn in einer Nachbarzelle ein Wert vorhanden ist, kannst du die folgende Formel verwenden:

  1. Öffne deine Excel-Datei.

  2. Wähle die Zelle aus, in der du das "X" anzeigen möchtest, zum Beispiel in Zelle G1.

  3. Gib die folgende Formel ein:

    =WENN(ISTTEXT(H1); "X"; "")

    Diese Formel prüft, ob in Zelle H1 ein Textwert vorhanden ist. Wenn ja, wird "X" angezeigt, andernfalls bleibt die Zelle leer.

  4. Kopiere die Formel nach unten für die anderen Zellen in Spalte G. Wiederhole diesen Schritt für die Spalten I und K, indem du die entsprechenden Nachbarzellen prüfst.


Häufige Fehler und Lösungen

  • Fehler: "FALSCH" wird angezeigt, wenn in der Nachbarzelle kein Wert vorhanden ist.

    • Lösung: Ändere die Formel zu =WENN(ISTTEXT(H1); ""; "X"), um stattdessen ein leeres Feld anzuzeigen.
  • Fehler: Die Formel funktioniert nicht, wenn du mehrere Zellen überprüfst.

    • Lösung: Achte darauf, dass du die Formel in jede Zelle einzeln eingibst oder die Formel korrekt nach unten ziehst.
  • Fehler: Das "X" bleibt stehen, wenn du Werte in der Nachbarzelle löschst.

    • Lösung: Verwende VBA, um die Zellen dynamisch zu aktualisieren. Siehe dazu den Abschnitt zu alternativen Methoden.

Alternative Methoden

  1. VBA-Makro verwenden: Du kannst ein einfaches VBA-Makro erstellen, das die Zellen automatisch aktualisiert, wenn sich Werte ändern. Hier ist ein Beispiel:

    Private Sub Worksheet_Change(ByVal Target As Range)
       If Not Intersect(Target, Me.Range("H:H,J:J,L:L")) Is Nothing Then
           If Target.Value <> "" Then
               Target.Offset(0, -1).Value = "X"
           Else
               Target.Offset(0, -1).Value = ""
           End If
       End If
    End Sub

    Dieses Makro überprüft die Spalten H, J und L und aktualisiert die Nachbarzelle in Spalte G, I oder K entsprechend.

  2. Bedingte Formatierung: Du kannst auch die bedingte Formatierung nutzen, um visuelle Hinweise zu geben, wenn Inhalt vorhanden ist.


Praktische Beispiele

  • Beispiel 1: Wenn in Zelle H1 "Text" steht, wird in Zelle G1 ein "X" angezeigt.
  • Beispiel 2: In einer Liste von Artikeln wird überprüft, ob im Feld Preis (Spalte H) ein Wert steht. Wenn ja, wird in der Spalte Verfügbar (Spalte G) ein "X" gesetzt.

Tipps für Profis

  • Nutze die Tabelle-Funktion in Excel, um dynamische Bereiche zu erstellen, die sich beim Hinzufügen von Daten automatisch anpassen.
  • Experimentiere mit VBA, um komplexere Bedingungen zu prüfen, wie das Überprüfen mehrerer Zellen auf spezifische Werte.
  • Halte deine Formeln einfach und vermeide zu komplexe Verschachtelungen, um die Lesbarkeit und Wartung zu verbessern.

FAQ: Häufige Fragen

1. Wie kann ich überprüfen, ob eine Zelle leer ist?
Du kannst die Funktion =WENN(ISTLEER(H1); "Leer"; "Nicht Leer") verwenden, um zu prüfen, ob eine Zelle leer ist.

2. Kann ich auch nach bestimmten Texten in einer Zelle suchen?
Ja, du kannst die Formel =WENN(ISTFEHLER(SUCHEN("Text"; H1)); ""; "X") verwenden, um zu prüfen, ob ein bestimmter Text in der Zelle enthalten ist.

3. Wie kann ich mehrere Zellen gleichzeitig prüfen?
Verwende eine Schleife in VBA oder eine kombinierte Formel, um mehrere Zellen gleichzeitig zu kontrollieren, zum Beispiel mit =WENN(ODER(ISTTEXT(H1); ISTTEXT(J1)); "X"; "").

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