Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1804to1808
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

Entrag in Spalte B gibt wert in Spalte C

Entrag in Spalte B gibt wert in Spalte C
20.01.2021 12:54:54
DanteMan
Hallo Forum,
ich hätte wieder einmal ein (vermutlich kleines) Problem das ich aber leider nicht gelöst bekomme (nicht mal im Ansatz). :(
Hier mal beschrieben was ich möchte:
in einer Spalte (z.B. "B") sollen die werte 1-3 eingetragen werden.
Wenn dies passiert soll er in der Nachbarzelle folgendes schreiben:
Wenn 1 dann "Start" & das aktuelle Datum
Wenn 2 dann "Pause" & das aktuelle Datum
Wenn 3 dann "Stop" & das aktuelle Datum
Das Datum soll dann immer das von dem Zeitpunkt der Eingabe sein und sich beim wieder öffnen der ExcelTabelle NICHT aktualisieren.
Ich hatte es über eine Formel gelöst, hier dann aber das Problem mit der Aktualisierung vom Datum. Deshalb würde ich es nun doch mit VBA machen in der Hoffnung dass das Datum bleibt.
Die Formel sah/sieht so aus:
=WENN(B10=1;$A$4&TEXT(HEUTE();" TT.MM.JJJJ");WENN(B10=2;$A$5&TEXT(HEUTE();" TT.MM.JJJJ"); WENN(B10=3;$A$6&TEXT(HEUTE();" TT.MM.JJJJ");WENN(B10="";""))))
Ich hoffe das mir hier wer weiterhelfen kann. Ich komm einfach nicht drauf :(.
Gruß
Dante

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: mit WAHL() ...
20.01.2021 13:10:15
neopa
Hallo Dante,
... so: =WENNFEHLER(WAHL(B1;"Start ";"Pause ";"Stop ")&TEXT(HEUTE();"TT.MM.JJ");"")
Gruß Werner
.. , - ...
AW: mit WAHL() ...
20.01.2021 13:22:08
Werner
Hallo Namensvetter,
aber da aktualisiert sich doch das Datum, was doch nicht sein soll.
Gruß Werner
AW: da hast Du völlig Recht ...
20.01.2021 13:31:15
neopa
Hallo Werner,
... soweit hatte ich gar nicht gelesen :-( sorry, Dante
Gruß Werner
.. , - ...
AW: da hast Du völlig Recht ...
20.01.2021 13:59:12
DanteMan
Hallo Werner & Werner :D (etwas verwirrend beim lesen der Posts :))
Vielen Dank für Eure sehr schnellen Antworten!!!
@Werner: Ich werden den Code später am Tag mal testen und dann RM geben ;).
@Werner: Kein Problem. Ich hätte es in diesem Fall zwar auch lieber mit einer Formel gemacht, aber das läuft ja leider nicht.
Also nochmal vielen Dank, und ich gebe später dann noch bescheid ob es geklappt hat.
Gruß
Dante
Anzeige
AW: Entrag in Spalte B gibt wert in Spalte C
20.01.2021 13:19:43
Werner
Hallo,
so:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 2 Then
If Target.Count = 1 Then
If Target.Offset(, -1) = "" Then
Select Case Target
Case 1: Target.Offset(, -1) = "Start: " & Date
Case 2: Target.Offset(, -1) = "Pause: " & Date
Case 3: Target.Offset(, -1) = "Ende: " & Date
End Select
End If
End If
End If
End Sub
Der Code gehört ins Codemodul des Tabellenblattes, auf dem er sich auswirken soll.
Rechtsklick auf den Tabellenblattreiter - Code anzeigen - Code rechts ins Codefenster kopieren.
Gruß Werner
Anzeige
AW: Entrag in Spalte B gibt wert in Spalte C
20.01.2021 16:46:24
DanteMan
Hallo Werner!
Also: Recht Herzlichen Dank! Funktioniert hervorragend! Ich musste nur das "minus" raus löschen da ich Case 1-3 rechts neben der Zelle brauch. Das habe ich geschafft;).
Hatte dann noch versucht mit Interior.ColorIndex die Zellen entsprechend einzufärben, mich dann aber dafür entschieden dies mit bedingter Formatierung zu machen. War für mich leichter, im Code habe ich es natürlich nicht hinbekommen. Aber egal, das passt so. Nur eine bescheidene Frage noch:
In wieweit mus ich "Target.Column" modifizieren damit diese Funktion quasi für jede 2. Spalte bis Spalte Z funktioniert? Wenn das überhaupt geht.
Muchas Gracias und noch einen schönen Tag,
Dante
Anzeige
AW: Entrag in Spalte B gibt wert in Spalte C
20.01.2021 17:00:21
Werner
Hallo,
so:
If Target.Column > 1 And Target.Column 
Gruß Werner
AW: Entrag in Spalte B gibt wert in Spalte C
20.01.2021 17:01:53
DanteMan
Habe eine Möglichkeit gefunden, bin mir aber sicher das es hier was eleganteres gibt.
Ich habe quasi
If Target.Column = 2 Or 4 Or 6...bis 26 Then
Lustiger/komischerweiße funktioniert das auch über die Spalte 26 hinaus und auch in den ungeraden Spalten.
Aber so lass ich es nun, für meine Zwecke ausreichend.
Nur die elegantere Lösung würde mich noch interessieren :D
CU
Dante
dazu solltest du vielleicht...
20.01.2021 19:21:30
Werner
Hallo,
...einfach nur alle Beiträge lesen.
Gruß Werner
AW: Entrag in Spalte B gibt wert in Spalte C
20.01.2021 19:58:37
Daniel
Hi
Naja, jede Zahl ungleich 0, die anstelle eines Wahrheitswertes verwendet wird, wird als WAHR interpretiert und geht damit in die OR-Verknüpfung ein.
Ein tatsächlicher Vergleich findet nur beim ersten Mal statt.
Somit ergibt dein Ausdruck immer WAHR als ergebnis.
Korrekt wäre:
If target.Column = 2 or Target.Colum = 4 or Target.Column = 6 Or ... Or Target.Column = 26
Etwas eleganter wäre das sicherlich schon vorgestellte
Select Case Target.Column
Case 2, 4, 6,..., 26
Hier der Code
Ende Select
Oder
If Target.Column 
Gruß Daniel
Anzeige
Natürlich Stop anstatt Ende
20.01.2021 13:21:10
Werner
AW: Natürlich Stop anstatt Ende
22.01.2021 06:50:19
DanteMan
Danke Euch beiden fürs Helfen!
Perfekt.
@Werner: Da haben unsere Einträge einmal mehr oder weniger zeitgleich statt gefunden. Deshalb die Frage wo eine Minute früher Deine Antwort kam :).
Normal lese ich schon alles und frage auch erst wenn ich es gelesen habe und dennoch nicht verstehe ;)!
Also nochmals vielen Dank und ein schönes Wochenende!
Gerne u. Danke für die Rückmeldung. o.w.T.
22.01.2021 08:52:11
Werner

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige