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

Formel Hilfe

Formel Hilfe
31.12.2022 19:19:22
Bernd
Hallo liebe Excel-Gemeinde,
ich bearbeite eine Exceltabelle zur Zeiterfassung. Es klappt auch soweit, bis auf eine Funktion. In C3 ist die Anfangszeit z.B 8:30Uhr in D3 die Endzeit z.B. 16:30Uhr, in E3 eine Pause von z.B. 30Minuten und in F3 die 8Stunden Minus Pause. Jetzt kommts, in G3 soll ein Ja ,JA ,ja (Eingabe der 3 Möglichkeiten sollten berücksichtigt werden) für Urlaub. Nach der Eingabe von ja oder Ja oder JA, soll der Inhalt von C3, D3, E3, gelöscht (nicht unsichtbar) werden. Eine Lösung wenn "text ja", dann und VBA ClearContents wäre sehr nett. Im Internet habe ich leider keinen funktionierenden Lösungsansatz gefunden. Vielen Dank und einen guten Rutsch ins warme 2023.
LG Bernd

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Bsp.Datei, Ja,JA oder ja
31.12.2022 20:06:44
 Matthias
Hallo,
übrigens:
ich benutze für Urlaub immer "U"
Nur meine Meinung (& nicht persönlich gemeint!)
In einer Zeiterfassung sollte auch niemand mit VBA "rumwurschteln"
Auch generell hat in einem Zeiterfassungsprogramm niemand Zugriff zu haben.
MfG Matthias
AW: Bsp.Datei, Ja,JA oder ja
01.01.2023 10:33:23
Bernd
Hallo Matthias, danke für den Tipp!
AW: Bsp.Datei, Ja,JA oder ja
01.01.2023 11:17:15
DirkR
Hallo Bernd,
versuche mal folgendes:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim lngRow As Long
lngRow = 3 'Target.Row
If Not Intersect(Target, Cells(lngRow, 7)) Is Nothing And LCase(Cells(lngRow, 7).Value) = "ja" Then _
Range(Cells(lngRow, 3), Cells(lngRow, 5)).ClearContents
End Sub
Wenn du bei lngRow = 3 die 3 mit Target.Row ersetzt würde der Code variable auf die jeweilige Zeile passen.
Hilft dir das weiter?
Gruß Dirk
Anzeige
AW: Bsp.Datei, Ja,JA oder ja
01.01.2023 12:07:25
Bernd
Hallo Dirk,
vielen Dank für die Antwort. Kannst Du mir erklären was dieser Code im einzelnen macht?
LG
Bernd
AW: Bsp.Datei, Ja,JA oder ja
01.01.2023 12:38:17
DirkR
Hallo Bernd,
ich versuche es mal...
Ereignis wird ausgelöst, wenn im Tabellenblatt eine Veränderung eintritt durch:

Private Sub Worksheet_Change(ByVal Target As Range)
End Sub
Danach wird die Variable lngRow definiert und ein Zahlenwert zugeschrieben.
In dem Beispiel die Zahl 3.
Dann wird geprüft, ob die veränderte Zelladresse die Richtige ist (Zelle G3):
If Not Intersect(Target, Cells(lngRow, 7)) Is Nothing
und dann, ob der Zellinhalt ja entspricht:
And LCase(Cells(lngRow, 7).Value) = "ja" Then
LCase macht aus dem Zellinhalt kleine Zeichen, also "ja".
Unabhängig der Gross- und Kleinschreibung.
Wenn Zelladresse und Zellinhalt dann beides richtig ist, wird der Zellbereich gelöscht:
Range(Cells(lngRow, 3), Cells(lngRow, 5)).ClearContents
Da die Variable lngRow der Zahl 3 entspricht, ist der Bereich dann C3:E3.
lngRow entspricht also der Zeile.
Die Zahl nach dem Komma entspricht der Spalte.
Ich hoffe, ich habe es verständlich erklärt... :-)
Gruß DirkR
Anzeige
AW: Bsp.Datei, Ja,JA oder ja
01.01.2023 13:03:20
Bernd
Hallo Dirk,
besser geht es nicht. Vielen Dank für die Erklärung. Wenn ich den Code in den VBA Editor kopiere und in G3 ein ja eingebe, tut sich leider nichts.
Ich habe es mal mit diesem Code durch verändern ausprobiert und damit hat es soweit für C3,D3,E3 funktioniert. Aber wie bekomme ich die Zellen C4 bis C33, D4 bis D33 und E4 bis E33 untergebracht. Muß ich für jede Zeile einen Code mit veränderten Werten schreiben?

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("G3")) Is Nothing Then
Select Case Range("G3").Value
Case "JA", "Ja", "ja"
Range("C3:D3:E3").ClearContents
End Select
End If
End Sub

Anzeige
AW: Bsp.Datei, Ja,JA oder ja
01.01.2023 13:07:04
DirkR
Hallo Bernd versuche es mal so:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim lngRow As Long
lngRow = Target.Row
If Not Intersect(Target, Cells(lngRow, 7)) Is Nothing And LCase(Cells(lngRow, 7).Value) = "ja" Then Range(Cells(lngRow, 3), Cells(lngRow, 5)).ClearContents
End Sub
Gruß DirkR
AW: Bsp.Datei, Ja,JA oder ja
01.01.2023 13:17:49
Bernd
Du bist der Held,
es funktioniert!! Lieben Dank.
Darf ich dich, wenn ich mit meinem begrenzten Excel-Wissen nicht mehr weiterkomme, direkt über dieses Forum kontaktieren?
Lieben Gruß, Gesundheit und ein Gutes 2023!
Bernd
AW: Bsp.Datei, Ja,JA oder ja
01.01.2023 13:20:37
DirkR
Hallo Bernd,
ganz ehrlich weiß ich gar nicht, ob das direkte kontakten über das Forum geht...
Du kannst es aber gerne versuchen.
Dir auch ein gutes 2023.
Gruß DirkR
Anzeige
AW: Formel Hilfe
01.01.2023 10:57:54
RPP63
Moin Bernd!
Nun, in einer Zelle kann halt nur eine Formel oder ein Wert stehen.
Du kannst ja, wenn in der Spalte ein U (natürlich nicht Ja, ja oder JA) steht, per bedFor ein knalliges rot vergeben (oder in einer Zusatzspalte die Priorität per Formel setzen).
Als Formel der bedFor:

=Anzahl2(C3:E3)*(G3="U")
Gruß Ralf
AW: Formel Hilfe
01.01.2023 12:20:46
Bernd
Hallo Ralf,
vielen Dank, ich habe schon eine Bedingte Formatierung, welche die Zeile wo ein ja steht einfärbt und mit zählenwenn, die Urlaubstage addiert. Ich möchte nur in den Zellen wo ein JA oder U steht, die Zellen C3,D3,E3 bis C33,D33,E33 gelöscht werden. Leider sind da meine Möglichkeiten in Excel begrenzt.
LG
Bernd
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige