Excel VBA: Erstes Feld Markiern

Hallo liebe Experten,
Ich habe eine Datei die sieht grob so aus:

Tabellenblatt: [Mappe1]!Tabelle1
 │ A │ B │
───┼────────┼──────────┤
 1 │ Code │ Datum │
───┼────────┼──────────┤
 2 │ 379475 │ 8. Okt. │
───┼────────┼──────────┤
 3 │ 379475 │ 11. Okt. │
───┼────────┼──────────┤
 4 │ 379475 │ 13. Okt. │
───┼────────┼──────────┤
 5 │ 379475 │ 15. Okt. │
───┼────────┼──────────┤
 6 │ 379475 │ 22. Okt. │
───┼────────┼──────────┤
 7 │ 379590 │ 12. Okt. │
───┼────────┼──────────┤
 8 │ 379590 │ 13. Okt. │
───┼────────┼──────────┤
 9 │ 379124 │ 30. Sep. │
───┼────────┼──────────┤
10 │ 379124 │ 5. Okt. │
───┼────────┼──────────┤
11 │ 379124 │ 12. Okt. │
───┼────────┼──────────┤
12 │ 379124 │ 30. Okt. │
───┴────────┴──────────┘
Zahlenformate der Zellen im gewählten Bereich:
A1:A12,B1
haben das Zahlenformat: Standard
B2:B12
haben das Zahlenformat: [$-407]T. MMM.;@

Tabellendarstellung erreicht mit dem Code in FAQ:2363 Danke Reinhard

Ich würde gerne per VBA das jüngste Feld zu zu gehörigen Code finden. Sprich in meinen Fall: A1:B1 und A7:B7 und A9:B9.

Meine Idee ist, den Code per Spezialfilter in ein Array schreiben.
Dann per schleife durch das Array durch gehen, einen Filter setzten über den Code. Über datum Sortieren.
Aber wie komme ich dann in die oberste Zeile? Wenn ich Cells(2,2) anspreche, spreche ich die Zelle an, die trotz Filters ausgeblendet ist.
Meine Frage also kann ich die oberste Zeile direkt ansprechen, trotz Filters?
Oder gibt es eine besser Lösung als die von mir vorgedachte?

Ich hoffe ich konnte mein Problem klar und deutschlich verständlich machen. Danke für Eure Mühen und Eure Hilfe.
Grüße
Winter

P.S. ich benötige eine VBA Lösung, weil das Teil eines größern ganzen ist. Danke

Hallo Winter,

mir unklar warum da A1:B1 gefunden werden soll. In der Datumsgruppenbildung erkenne ich auch keine Systematik. Selbst wenn du mir das erklärst wie man denn eine Datumsgruppe erkennt, wohin soll Vba mit den Ergebnissen des „Findens“?

Gruß
Reinhard

Hallo Winter,

mir unklar warum da A1:B1 gefunden werden soll. In der
Datumsgruppenbildung erkenne ich auch keine Systematik. Selbst
wenn du mir das erklärst wie man denn eine Datumsgruppe
erkennt, wohin soll Vba mit den Ergebnissen des „Findens“?

Hallo
danke für deine schnelle Antwort.

wohin soll Vba mit den Ergebnissen des „Findens“?

entweder die Zelle Färben oder in eine andere Zelle, da bin ich noch nicht Schlüssig.

erkenne ich auch keine Systematik

Da ist auch keine Systematik. Ich habe eine Lsite mit Codes und zugehörigen Daten (Datums, Datumen?) und ich möchte für jeden COde das jüngste Datum finden.
Sorry wenn ich mich unklar ausgedrückt habe.

mir unklar warum da A1:B1 gefunden werden soll.

Weil B1 das jüngste Datum zu dem Code aus A1 ist und Ich glaube B7 das Jüngste Datum zu dem Code aus A7
Ich hoffe das hilft weiter.
Danke für Deine Mühe.
Grüße
Winter

Hallo Winter,

wohin soll Vba mit den Ergebnissen des „Findens“?

entweder die Zelle Färben oder in eine andere Zelle, da bin
ich noch nicht Schlüssig.

„oder“ ist schwierig zu programmieren :smile:
Klär das mal mit dir ab.

erkenne ich auch keine Systematik

Da ist auch keine Systematik. Ich habe eine Lsite mit Codes
und zugehörigen Daten (Datums, Datumen?) und ich möchte für
jeden COde das jüngste Datum finden.

Okay, mein Fehler, jetzt habe ich die Tabelle kapiert.

Sorry wenn ich mich unklar ausgedrückt habe.

mir unklar warum da A1:B1 gefunden werden soll.

Sicher mit B1? da steht doch kein datum drin.

Gruß
Reinhard

Hallo Reinhard,

„oder“ ist schwierig zu programmieren :smile:
Klär das mal mit dir ab.

so schwierig ist das nicht oder?
cells(x,x).Interior.ColorIndex = 3
oder
Cells(y,y).value = cells(x,x).value
Wenn xx meine gesuchte Zelle ist.

Sicher mit B1? da steht doch kein datum drin.

ich Doofkopf B2 meinte ich.

Grüße
und danke für Deine Mühen
Winter

„oder“ ist schwierig zu programmieren :smile:
Klär das mal mit dir ab.

so schwierig ist das nicht oder?
cells(x,x).Interior.ColorIndex = 3
oder
Cells(y,y).value = cells(x,x).value
Wenn xx meine gesuchte Zelle ist.

Hallo Winter,

Sub KleinstesDatum()
Dim Zei As Long, Von As Long, Bis As Long, K As Long, Z As Long
Von = 2
Bis = 2
Range("A:B").Interior.ColorIndex = xlNone
For Zei = 2 To Range("A" & Rows.Count).End(xlUp).Row
 While Cells(Zei, 1) = Cells(Zei + 1, 1)
 Zei = Zei + 1
 Bis = Bis + 1
 Wend
 K = Application.Small(Range("B" & Von & ":B" & Bis), 1)
 Z = Application.Match(K, Range("B" & Von & ":B" & Bis), 0)
 Range(Cells(Von + Z - 1, 1), Cells(Von + Z - 1, 2)).Interior.ColorIndex = 34
 Bis = Bis + 1
 Von = Bis
Next Zei
End Sub

Gruß
Reinhard

Servus,
Danke für deine Hilfe. Ist Deutlich, DEUTLICH kürzer als alles was ich gemacht hätte.

Allerdings erhalte ich in der Zeile:

Z = Application.Match(K, Range(„B“ & Von & „:B“ & Bis), 0)

die Fehler Meldung "Typen unverträglich. "

Leider sind meine VBA Kenntnisse nicht aussreichend um den Fehler abzu fangen.

Grüße
Winter

Allerdings erhalte ich in der Zeile:

Z = Application.Match(K, Range(„B“ & Von & „:B“ & Bis), 0)

die Fehler Meldung "Typen unverträglich. "

Hallo Winter,

nicht nachvollziehbar, hier ist der Code eingebaut:

http://www.hostarea.de/server-10/Oktober-f1ca98e707.xls

Gruß
Reinhard

Salue Reinhard,
schau dir mal das an :
http://www.hostarea.de/server-10/Oktober-8edb9cc342.xls

vielleicht liegt es an mir? Deins funkt.

Grüße

schau dir mal das an :
http://www.hostarea.de/server-10/Oktober-8edb9cc342.xls

vielleicht liegt es an mir? Deins funkt.

Hallo Winter,

es liegt daran daß du in deiner Tabelle Datümer samt Uhrzeit hast und ich nicht.
Ich wußte da auch nicht weiter und habe bei Profis nachgefragt.
Deklariere/Definiere K so
Dim K as variant
und es klappt.

Gruß
Reinhard

Danke für die Schnelle und späte Antwort

Ich wußte da auch nicht weiter und habe bei Profis
nachgefragt.

???

Deklariere/Definiere K so
Dim K as variant

Danke funktioniert.
Wow
Herzlichen Dank.
Grüße Winter
P.S.Die tabelle muss nach IDs sortiert sein, sonst sieht es wunderlich aus :wink:
(klar du vergleichst immer While zelle = nachfolgezelle)

Mir ist zwar immer noch nicht ganzklar was du da machst, aber es funktioniert auch, wenn das Datum in H und die ID in M steht.

Danke
Hallo
Hat die ersten Live testst überstanden.
Funktioniert.
Danke