Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: kleineren Wert in Spalte suchen und markieren

kleineren Wert in Spalte suchen und markieren
11.11.2016 18:08:35
Peter
Hallo Ihr Excelspezialisten,
benötige wieder einmal dringend Eure Hilfe.
Ich habe in einer Spalte (A) die geöffneten Dateien aufgelistet.
Alle diese Dateien lauten wie etwa diese:
KontoVers102016_testFörder_Laufend_ab 01.01.2015.xlsm
KontoVers102016_testFörder_Laufend_ab 01.01.2017.xlsm
KontoVers102016_testFörder_Laufend_ab 01.01.2018.xlsm
Es soll nun per Makro die markiert werden, die um ein Jahr niedriger ist, als die mit dem höchsten Datum (2018).
Besten Dank für Eure Hilfe.
Gruss Peter
Anzeige

18
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: kleineren Wert in Spalte suchen und markieren
11.11.2016 18:58:59
Bastian
Nun ja da gibt es viele Möglichkeiten mit filter oder ohne hier wenn in der ersten zeile nix steht
Sub Bla()
With ActiveWorkbook.Worksheets("Tabelle1")
.Rows("1:1").AutoFilter
.AutoFilter.Sort.SortFields.Clear
.AutoFilter.Sort.SortFields.Add Key:=Range("A1"), SortOn:=xlSortOnValues, Order:= _
xlDescending, DataOption:=xlSortNormal
With .AutoFilter.Sort
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
.Rows("1:1").AutoFilter
.Range("A3").Select
End With
End Sub
Du könntest auch einfach den Makro recorder benutzen ;)
Gruß Basti
Anzeige
AW: kleineren Wert in Spalte suchen und markieren
11.11.2016 19:12:48
Peter
Hallo Basti,
besten Dank für Deine Hilfe.
Leider funktioniert es nicht so wie ich das benötige.
Es soll die Spalte nicht umsortiert werden. Im übrigen ist in der ersten Zeile eine Überschrift.
Wenn ich die Sortierreihenfolge ändere funktioniert allerdings das Makro nicht.
Kennst Du noch eine andere Lösung?
Gruss Peter
Anzeige
AW: kleineren Wert in Spalte suchen und markieren
11.11.2016 19:13:47
Bastian
Lade immer eine Bsp datei doch das ist besser sonst macht man alles doppelt =)
Gruß Basti
AW: kleineren Wert in Spalte suchen und markieren
11.11.2016 19:16:31
Peter
Hallo Basti,
Datei anbei:https://www.herber.de/bbs/user/109360.xlsm
Gruss Peter
AW: kleineren Wert in Spalte suchen und markieren
11.11.2016 19:18:01
Bastian
Aber es steht nicht immer das höchste datum ganz unten in der Spalte ?
Anzeige
AW: kleineren Wert in Spalte suchen und markieren
11.11.2016 19:27:06
Peter
Hallo Basti,
das Verzeichnis in Spalte A ist das einlesen der geöffneten Dateien. Diese könnten auch mal anders sortiert sein. Eigentlich geht es darum, dass die Datei mit dem Datum 01.01.2018 die Datei ist die
offen bleibt. Die nächst jüngere 01.01.2017 wird geschlossen.
In meiner bisherigen Datei habe ich über div. Zellen die Datei KontoVers102016_testFörder_Laufend_ab 01.01.2018.xlsm als variablen Begriff und aufgrund dieser Daten soll die nächst jüngere gefunden und
markiert werden.
Ich hoffe das ist so verständlich und hilfreich.
Gruss Peter
Anzeige
AW: kleineren Wert in Spalte suchen und markieren
11.11.2016 19:52:08
Bastian
Kleiner Fehler noch bitte das ändern
Gruß Basti
Zweiter = DateAdd("YYYY", -1, Erster)

Anzeige
AW: kleineren Wert in Spalte suchen und markieren
11.11.2016 20:56:24
Peter
Hallo Basti,
komme heute nicht mehr dazu das anzusehen und zu prüfen. Wünsche Dir noch ein schönes Wochenende.
Morgen werde ich das mit Sicherheit prüfen und melde mich dann wieder.
Erstmal besten Dank für Deine Hilfe.
Gruss Peter
AW: kleineren Wert in Spalte suchen und markieren
12.11.2016 05:50:36
Peter
Hallo Bastian,
guten Morgen,
ich habe Dein Makro getestet. Funktioniert einwandfrei. Besten Dank für Deine Hilfe.
Wünsche Dir noch ein schönes Wochenende.
Gruss Peter
Anzeige
AW: kleineren Wert in Spalte suchen und markieren
11.11.2016 22:10:30
fcs
Hallo Peter,
hier eine Variante. dabei wird beim Vergleich der Datums-Texte in den Dateinamen ähnlich verfahren.
LG
Franz
Sub Suche_1_Jahr_aeltere_Datei()
Dim wks As Worksheet, Zeile As Long
Dim strNameJung As String, strNameAlt As String
Dim strTeilJung As String, strTeilAlt As String
Dim DatumJung As Date, DatumAlt As Date, TextDatum As String
Set wks = ActiveSheet 'ActiveWorkbook.Worksheets("Tabelle1")
With wks
'Name derVergleichsdatei aus Zellinhalten ermitteln
strNameJung = .Range("D1").Text & "_" & .Range("E1").Text & "_" & .Range("F1").Text _
& "_ab " & .Range("G1").Text & ".xlsm"
'Dateiname ohne Datum und Erweiterung
strTeilJung = Left(strNameJung, InStrRev(strNameJung, ".") - 11)
TextDatum = Mid(strNameJung, InStrRev(strNameJung, ".") - 10, 10)
If IsDate(TextDatum) Then
DatumJung = CDate(TextDatum)
For Zeile = 2 To .Cells(.Rows.Count, 1).End(xlUp).Row
strNameAlt = .Cells(Zeile, 1).Text
'Vergleichsdateiname ohne Datum und Erweiterung
strTeilAlt = Left(strNameAlt, InStrRev(strNameAlt, ".") - 11)
If LCase(strTeilJung) = LCase(strTeilAlt) Then
TextDatum = Mid(strNameAlt, InStrRev(strNameAlt, ".") - 10, 10)
If IsDate(TextDatum) Then
DatumAlt = CDate(TextDatum)
If Day(DatumJung) = Day(DatumAlt) _
And Month(DatumJung) = Month(DatumAlt) _
And Year(DatumJung) - Year(DatumAlt) = 1 Then
.Activate
.Cells(Zeile, 1).Select
Exit For
End If
End If
End If
Next
Else
MsgBox "Dateiname & """ & strNameJung & """ enthält kein gültiges Datum"
End If
End With
End Sub

Anzeige
AW: kleineren Wert in Spalte suchen und markieren
12.11.2016 05:47:14
Peter
Hallo Franz,
guten Morgen,
besten Dank für Deine Hilfe.
Funktioniert einwandfrei.
Wünsche Dir ein schönes Wochenende.
Gruss Peter
AW: kleineren Wert in Spalte suchen und markieren
11.11.2016 23:06:00
Anton
Hi Zusammen,
hab auch noch eine Lösung mit Array:
Sub EinJahrNiedrigerMarkieren()
Dim VarDat()
Dim lngZeileMax As Long
Dim intZ As Long
Dim z As Long
Dim VarDatLast As Long
With Tabelle1
.Range("A:A").Interior.ColorIndex = xlColorIndexNone
lngZeileMax = .Cells(.Rows.Count, 1).End(xlUp).Row
intZ = 0
For lngzeile = 1 To lngZeileMax
ReDim Preserve VarDat(intZ)
VarDat(intZ) = Split(.Range("A" & lngzeile), " ")(1)
intZ = intZ + 1
Next lngzeile
lngzeile = 0
For i = LBound(VarDat) To UBound(VarDat)
VarDat(i) = Left(VarDat(i), Len(VarDat(i)) - 5)
Next i
i = 0
z = 1
VarDatLast = UBound(VarDat)
For i = LBound(VarDat) To UBound(VarDat)
If DateDiff("yyyy", VarDat(i), VarDat(VarDatLast)) = 1 Then
.Cells(z, 1).Interior.ColorIndex = 4
End If
z = z + 1
Next i
End With
End Sub
VG Anton
Anzeige
AW: kleineren Wert in Spalte suchen und markieren
12.11.2016 05:30:58
Peter
Hallo Anton,
guten Morgen,
habe Dein Makro getestet - leider geht es nicht.
Fehlermeldung Laufzeitfehler 13 Typen unverträglich in Zeile
If DateDiff("yyyy", VarDat(i), VarDat(VarDatLast)) = 1 Then
Vielleicht kannst Du das nochmals ansehen.
Besten Dank
Gruss Peter
AW: kleineren Wert in Spalte suchen und markieren
12.11.2016 09:47:46
Bastian
Ja des halb immer in der ersten Frage Bsp Datei hoch laden da ja keiner weiß ob du nun eine überschrift hast ;) die Bsp Datei hat er bestimmt nicht gesehen in der anderen nachtricht
änder mal.
For lngzeile = 1 To lngZeileMax
ReDim Preserve VarDat(intZ)
VarDat(intZ) = Split(.Range("A" & lngzeile), " ")(1)
intZ = intZ + 1
Next lngzeile
in
For lngzeile = 2 To lngZeileMax
ReDim Preserve VarDat(intZ)
VarDat(intZ) = Split(.Range("A" & lngzeile), " ")(1)
intZ = intZ + 1
Next lngzeile

Gruß BAsti
Anzeige
AW: kleineren Wert in Spalte suchen und markieren
12.11.2016 10:32:33
Anton
Moin Basti,
danke fürs Verbessern! Das sollte es eigentlich sein :)
VG Anton
AW: kleineren Wert in Spalte suchen und markieren
12.11.2016 12:04:53
Peter
Hallo Anton,
besten Dank für Deine Hilfe.
Funktioniert einwandfrei.
Wünsche noch ein schönes Wochenende.
Gruss Peter
AW: kleineren Wert in Spalte suchen und markieren
12.11.2016 12:08:04
Peter
Hallo Basti,
nochmals besten Dank für Deine Hilfe.
Ja, stimmt es wäre besser gleich eine Musterdatei hochzuladen.
Wünsche Dir noch ein schönes Wochenende.
Gruss Peter
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige