Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1644to1648
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 dann

Wenn dann
22.09.2018 04:54:32
Bastian
Hallo zusammen,
ich erkläre es direkt an einem Beispiel, da ich denke, dass es so am verständlichsten ist. Also:
In S7 soll die Formel stehen, diese soll dann prüfen, ob in C7 ein Text steht.
Wenn in C7 ein Text steht, dann soll in F8 der Text "Einsatzmittel überprüfen"
stehen. Wenn in C7 kein Text steht, dann soll F8 leer bleiben.
Das soll dann auch fortlaufend sein, also:
In S8 soll die Formel stehen, diese soll dann prüfen, ob in C8 ein Text steht.
Wenn in C8 ein Text steht, dann soll in F9 der Text "Einsatzmittel überprüfen"
stehen. Wenn in C8 kein Text steht, dann soll F9 leer bleiben. usw...
Das würde sich bis Zeile 10000 oder so fortsetzen.
In Spalte F soll also keine Formel stehen, da da normalerweise die Einträge von Hand eingetragen werden.
Gibt es so eine Formel oder die Möglichkeit überhaupt?
MfG Bastian

21
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Wenn dann ... ohne Formel ?
22.09.2018 05:26:18
Matthias
Hallo
Zitat
Wenn in C8 ein Text steht, dann soll in F9 der Text "Einsatzmittel überprüfen" stehen.
In Spalte F soll also keine Formel stehen, da da normalerweise die Einträge von Hand eingetragen werden.
Gibt es so eine Formel oder die Möglichkeit überhaupt?

Das ist doch ein Widerspruch.
Gruß Matthias
kleiner, dirty trick
22.09.2018 07:05:48
WF
Hi,
schreib in G9 (nicht F9 sondern G9):
=WENN(S8="";"Einsatzmittel überprüfen ";"")
Spalte G rechtsbündig und so schmal formatieren, dass der Text vollständig in F9 erscheint.
WF
AW: Wenn dann
22.09.2018 11:01:38
Sulprobil
Hallo,
Da geht auch VBA, wenn man es mag:
Userbild
Viele Grüße,
Bernd P
Anzeige
AW: Wenn dann
22.09.2018 22:25:50
Bastian
Hallo zusammen,
vielen Dank an alle, für die ganzen tollen Vorschläge. Ich habe mich für die VBA Variante entschieden, da sie für mich irgendwie die Eleganteste Lösung ist.
Jetzt wäre es perfekt, wenn noch der Button verschwinden würde, auf den man erst klicken muss, damit die Prüfung abläuft. Kann man das noch weiter automatisieren? Also sobald ich z.B. in C7 einen Text Eintrage die Prüfung startet bzw. die Prüfung permanent läuft?
MfG Bastian
Einfach mit Präfix, Bedingt & BenutzerFormat
22.09.2018 15:36:41
Luc:-?
Alles kein Problem, Bastian,
solange es für den o.g. u.nfolgd beschriebenen simplen Weg nicht zuviele Zeilen wdn. Mal ausprobieren:
1. Spalte F, falls sie stets nur einen Text enthalten oder leer bleiben soll, mit TextPräfix (Standard ') versehen (in 1.Zelle schreiben und auf alle anderen aufkopieren solange sie noch leer sind → PräfixÜbertragung mit dem FormatPinsel gelingt nur bei Zellen mit Inhalt [außer echten FehlerWerten], nicht bei leeren!). Grund: Leerzellen können nicht formatiert wdn! (s.folgd)
2. Dann dort ein BedingtFormat des Typs 2 (Formel) anlegen →
F7-Bed1: =UND($F7="";ISTTEXT($C7))
…und für den Erfüllungsfall unter Format - Zahlenformat ein benutzerdefiniertes angeben: ;;;"Einsatzmittel überprüfen"
Der auf diese Weise angezeigte Text hat somit eine gewisse Default-Funktion, die nur bei erfüllter, definierter Bedingung wirksam wird. Eine Fml in Spalte S wird somit überflüssig, zumal deren Ergebnis per VBA-subprozedur-unterstützer UDF an Spalte F gesen­det wdn müsste. Andere (reine) VBA-Lösungen sind ebenfalls möglich (vgl Sulprobil), ebenso wie auch das generelle Eintragen einer Fml in F, die solange per VBA wiederhergestellt wird, wie nichts Anderes in die jeweilige Zelle von F eingetragen wird.
Feedback nicht unerwünscht! Gruß, Luc :-?
„Die Intelligenzmenge ist auf diesem Planeten eine Konstante, die Bevölkerung nimmt aber zu!“ Auch deshalb informieren mit …
Anzeige
AW: Geht auch mit Offset + SpecialCells ohne Loop
22.09.2018 18:34:16
Gerd
Gruss Gerd
AW: Geht auch mit Offset + SpecialCells ohne Loop
22.09.2018 18:34:17
Gerd
Gruss Gerd
Bezieht sich sicher nicht auf meinen BT! :-] orT
22.09.2018 18:51:43
Luc:-?
Gruß, Luc :-?
AW: Jein
22.09.2018 18:57:19
Gerd
Auch du bist gegenüber dem Fragesteller um eine Zeile verrutscht, Luc.
Gruss Gerd
AW: Nein, Gerd, ...
22.09.2018 20:42:27
Luc:-?
…mein BT fing hier mit gleichem EinrückAbstand an wie die meiner Vorgänger. Sonst kann das allerdings schon mal vorkommen… ;-]
Luc :-?
AW: F 8 Bed.1 o.T...
22.09.2018 21:01:45
Gerd
Gruss Gerd
Ja, dass hatte ich übersehen, weil mir nicht ...
22.09.2018 23:29:23
Luc:-?
…recht logisch, Gerd,
aber dem Frager ist das ja ohnehin nicht „elegant“ genug…
Luc :-?
AW: Luc:-?
22.09.2018 23:52:57
Bastian
Das sollte keine Kritik an die anderen Lösungen sein!!!
Wenn das so rüberkam tut es mir Leid!
Nur bei der VBA Variante wusste ich so ungefähr was ich zu machen habe. Die andere Lösung entzieht sich leider meinem Verständnis ;-)
MfG Bastian
Anzeige
AW: Einfach mit Präfix, Bedingt & BenutzerFormat
23.09.2018 00:53:46
Bastian
Hi Luc:-?
ich habe natürlich deinen Vorschlag auch probiert. Aber es funktioniert bei mir leider nicht.
Ich habe mal ein Muster der Tabelle hochgeladen mit der Lösung , die ich bisher hatte, die mir aber gar nicht gefällt. Vielleicht geht's dann besser.
https://www.herber.de/bbs/user/124161.xlsx
MfG Bastian
AW: Wenn dann
22.09.2018 22:28:18
Bastian
Hallo zusammen,
vielen Dank an alle, für die ganzen tollen Vorschläge. Ich habe mich für die VBA Variante entschieden, da sie für mich irgendwie die Eleganteste Lösung ist.
Jetzt wäre es perfekt, wenn noch der Button verschwinden würde, auf den man erst klicken muss, damit die Prüfung abläuft. Kann man das noch weiter automatisieren? Also sobald ich z.B. in C7 einen Text Eintrage die Prüfung startet bzw. die Prüfung permanent läuft?
MfG Bastian
Anzeige
AW: Wenn dann
24.09.2018 01:17:10
Werner
Hallo Bastian,
versuch mal:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 4 Then
If Target.Row > 6 Then
If Target.Rows.Count = 1 Then
Select Case Len(Cells(Target.Row, Target.Column))
Case Is > 1: Target.Offset(, 1) = "Einsatzmittel überprüft?"
Case Else: Target.Offset(, 1) = ""
End Select
Else
MsgBox "Keine Mehrfachauswahl."
Application.EnableEvents = False
Application.Undo
Application.EnableEvents = True
End If
End If
End If
End Sub
Der Code gehört ins Codemodul des Arbeitsblattes, auf der er sich auswirken soll.
Rechtsklick auf den Tabellenblattreiter - Code anzeigen - Code rechts ins Codefenster kopieren.
Der Code reagiert auf Änderungen in Spalte D, ab Zeile 7.
Gruß Werner
Anzeige
AW: Wenn dann
24.09.2018 04:33:28
Bastian
Hi Werner,
der Code funktioniert soweit prima, nur das "Einsatzmittel überprüft?" ist eine Zeile zu hoch. Wenn es jetzt eine Zeile tiefer erscheinen würde, ist es genau so wie ich es mir gewünscht habe!
Habe selber mal probiert und die Zahlen verändert, es verschiebt sich zwar in der Spalte, aber es bleibt immer in der selben Zeile. Ich habe zur Verdeutlichung mal die Datei hochgeladen:
https://www.herber.de/bbs/user/124174.xlsm
MfG Bastian
AW: Wenn dann
24.09.2018 05:07:01
Werner
Hallo Bastian,
dann das hier:
Case Is > 1: Target.Offset(, 1) = "Einsatzmittel überprüft?"
Case Else: Target.Offset(, 1) = ""
so ändern:
Case Is > 1: Target.Offset(1, 1) = "Einsatzmittel überprüft?"
Case Else: Target.Offset(1, 1) = ""
Gruß Werner
Anzeige
AW: Wenn dann
24.09.2018 06:29:44
Bastian
Hi Werner,
werde den Code gleich heute Abend ausprobieren. Wird wohl etwas später werden. Werde mich dann melden.
Danke schonmal vorab!
MfG Bastian
AW: Wenn dann
24.09.2018 21:35:22
Bastian
Hi Werner,
habe gerade den Code geändert. Jetzt ist es perfekt!
Vielen Dank! Und schönen Abend!
MfG Bastian
Gerne u. Danke für die Rückmeldung. o.w.T.
24.09.2018 22:16:12
Werner

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige