[gelöst] Makro - Wenn in Zelle Zeit kleiner als dann Zeile löschen
Moderator: Moderatoren
[gelöst] Makro - Wenn in Zelle Zeit kleiner als dann Zeile löschen
Hallo zusammen,
habe noch ein Problemchen und mit Zeitformat kenn ich mich leider (noch nicht) aus.
Ich habe eine Tabelle und gehe da über die Zeilen in einer Spalte drüber.....
In der Spalte sind Zeiten enthalten. Nun möchte ich alle Zeilen löschen, wenn der Wert kleiner 3 Minuten ist.
In der Beispielzelle sehe ich zum Beispiel: 01:06:38
Im Anhang habe ich für Euch die Daten der Zelle aus MRI exportiert.
Meine Libre Version ist: 6.0.7.3
Vielen Dank für Eure Hilfe im voraus...
Grüsse
MavMan
habe noch ein Problemchen und mit Zeitformat kenn ich mich leider (noch nicht) aus.
Ich habe eine Tabelle und gehe da über die Zeilen in einer Spalte drüber.....
In der Spalte sind Zeiten enthalten. Nun möchte ich alle Zeilen löschen, wenn der Wert kleiner 3 Minuten ist.
In der Beispielzelle sehe ich zum Beispiel: 01:06:38
Im Anhang habe ich für Euch die Daten der Zelle aus MRI exportiert.
Meine Libre Version ist: 6.0.7.3
Vielen Dank für Eure Hilfe im voraus...
Grüsse
MavMan
- Dateianhänge
-
- MRI-Feldinformationen.pdf
- (25.05 KiB) 125-mal heruntergeladen
Zuletzt geändert von MavMan am Do, 24.10.2019 11:36, insgesamt 1-mal geändert.
Re: Makro - Wenn in Zelle Zeit kleiner als dann Zeile löschen
Hallo,
worin besteht jetzt die Frage?
1:06:38 bedeutet 1 h, 6 min , 38 s. Das sind also 1+6/60+38/3600=1,1105556 h oder in Tagen: 1,1105556/24=0,0462731.
Kurz: der Zellwert ist die Zeit in Tagen.
Bei 3 min muss also auf einen Wert von 3/60/24=0,002083 (Periode 3!) getestet werden.
worin besteht jetzt die Frage?
1:06:38 bedeutet 1 h, 6 min , 38 s. Das sind also 1+6/60+38/3600=1,1105556 h oder in Tagen: 1,1105556/24=0,0462731.
Kurz: der Zellwert ist die Zeit in Tagen.
Bei 3 min muss also auf einen Wert von 3/60/24=0,002083 (Periode 3!) getestet werden.
Gruß,
mikeleb
mikeleb
Re: Makro - Wenn in Zelle Zeit kleiner als dann Zeile löschen
vielen Dank für die schnelle Antwort. Deine Erklärung habe ich verstanden und wollte es so jetzt lösen - aber es klappt nicht
Liegt es am Format in der Zelle oder ist mein Vergleich auf den Value falsch?
So habe ich es probiert....(im Anhang ist auch ein MRI-Export der Zelle)
Liegt es am Format in der Zelle oder ist mein Vergleich auf den Value falsch?
So habe ich es probiert....(im Anhang ist auch ein MRI-Export der Zelle)
Code: Alles auswählen
Sub ONLINE
'Mit der Hilfe aus de.openoffice.info Community
'20191021 - Initiale Erstellung
blattanzahl = ThisComponent.Sheets.Count
For j = 0 To blattanzahl-1
aktuelles_Blatt = ThisComponent.Sheets.getByIndex(j)
'Start Schleifencode ueber alle Arbeitsblaetter
Dim LocalSettings As New com.sun.star.lang.Locale
cur = aktuelles_Blatt.createCursor()
cur.GotoEndOfUsedArea(True)
letzte_zeile = cur.RangeAddress.EndRow
'unterhalb Tabellenkopf ab Zeile 5 und Spalte F - Zeile loeschen, wenn Wert <= 3 min
For i = 4 To letzte_zeile
If aktuelles_Blatt.getCellByPosition(5, i).Value < "0,002083" Then
aktuelles_Blatt.rows.removeByIndex(i, 1)
End if
Next i
Next j 'Ende Schleifencode ueber alle Arbeitsblaetter
MsgBox "Programmcode durchgelaufen."
End Sub
Re: Makro - Wenn in Zelle Zeit kleiner als dann Zeile löschen
Hallo,
ist ein String.
Den Wert vergleichst du mit
Code: Alles auswählen
"0,002083"
Den Wert vergleichst du mit
Code: Alles auswählen
0,002083
Gruß,
mikeleb
mikeleb
Re: Makro - Wenn in Zelle Zeit kleiner als dann Zeile löschen
die Zeile:
muss lauten:
(mit Punkt)
Gruß
Stephan
Code: Alles auswählen
If aktuelles_Blatt.getCellByPosition(5, i).Value < "0,002083" Then
Code: Alles auswählen
If aktuelles_Blatt.getCellByPosition(5, i).Value < 0.002083 Then
Gruß
Stephan
Re: Makro - Wenn in Zelle Zeit kleiner als dann Zeile löschen
Hallo,
natürlich -(mit Punkt)
Gruß,
mikeleb
mikeleb
Re: Makro - Wenn in Zelle Zeit kleiner als dann Zeile löschen
Ihr seid die besten! Vielen Dank - jetzt funktioniert es einwandfrei.
Dieser Beitrag kann als gelöst markiert werden (weiss nicht wie es geht).
Viele Grüsse
MavMan
Dieser Beitrag kann als gelöst markiert werden (weiss nicht wie es geht).
Viele Grüsse
MavMan