Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.04.2024 18:57:33
17.04.2024 16:56:58
Anzeige
Archiv - Navigation
1216to1220
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

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
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
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
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
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
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

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige