Hallo,
wegen deiner zweiten Frage einfach mal direkt zum Thema collection / dictionary (Dictionary ist meine erste Assotiation bei "eindeutige Bauteilnummern" - ob ein Dictionary sinnvoll ist, habe ich mir noch nicht überlegt.
https://excelmacromastery.com/excel-vba-collections
https://excelmacromastery.com/vba-dictionary
Grundsätzlich könntest du natürlich einfach nach der Spalte TimeStamp sortieren und hättest dann die gesuchte Zeile ganz oben, oder ganz unten. Das geht auch mit VBA, da wäre der erste Schritt der Makrorecorder....
Aber um ein bischen bei deinem Code mit der Schleife zu bleiben:
Eine Zeitpunkt wird excelintern als Gleitkommazahl gespeichert. Also z.B. ist 1.1.2021 11:30 die Zahl 40909,4791666667
40909 ist "so ungefähr" die Anzahl der Tage von 1.1.1900 und die Nachkommastellen geben die Uhrzeit wieder.
Das bedeutet, du kannst nach Datum + Uhrzeit auch mit VBA vergleichen, mit den "normalen Operatoren" > und <.
Vernachlässigen wir zunächst, dass du mehrere Anlagen hast:
in deinem Fall könntest du also einfach das Maximum des Timestamp suchen, was du ja mit < oder > machen kannst. Ich würde dabei sicherstellen, dass der Zellwert auch wirklich ein Datum ist (und nicht zum Beispiel Text). Mit der Funktion cdate() kannst du den Zellwert casten und erhältst ein Datum:
...
dim maxDate as Date
...
maxDate = cdate(1)
' Schleife über Zeilen
Zle = ...
if maxDate < cdate(range("A" & Zle)) then
maxDate = cdate(range("A" & Zle))
... 'Werte für NOK/OK/RW merken/verarbeiten
End If
'Schleifen ende
kommst du klar?
Zweite Frage:
Was habe ich gemacht:
- Objaktkatalog (F2) angeschaut
- Hilfe gelesen
- für mich war VBA mein Einstieg ins Programmieren da war für mich die Seite https://online-excel.de toll. Ich schätze sie auch noch heute sehr, weiß aber nicht, ob es für dich das richtige ist.
- ich habe in Foren nach Stichworten gefragt.
Sorry, der Beitrag ist heute einfach mal ein bisschen konfus..
|