Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
912to916
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
912to916
912to916
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Zeitspanne per VBA filtern

Zeitspanne per VBA filtern
01.10.2007 19:00:44
Nils
Hallo nochmal
Sorry, ich bin einfach nicht schnell genug mit der Umsetzung. Mein letzter Beitrag war schon wieder im Archiv. Das letzte Makro (s.u.) habe ich getestet:
1. Wenn ich mit das Filterkriterium im Debugger ansehe, steht dort eine Zahl (Internes Format für Excel, ich weiß nicht wie man das nennt).
2. Diese wird ich in die Variable für den Filter aufgenommen, schaue ich jedoch nach Durchlaufen des Makros in den Filter, ist dieser leer!
3. Übernehme ich die Zahl auf dem Debugger und füge diese manuell in den benutzerdefinierten Filter, werden nur exakt der eine Satz gefiltert. Das Kriterium >= findet keine Berücksichtigung.
Es ist zum Verzweifeln. Liegt das irgendeiner Exceleinstellung? Wie komme ich hier weiter?
Nachmals Dank und Gruß
Nils
Hi
Hast schon recht mit der Mailadresse. So kann es vermutlich auch nicht weniger werden mit den Spams.
Ich habe eine importierte und als Excel gesicherte Datei hoch geladen. Vielleicht ist das ja hilfreich.
https://www.herber.de/bbs/user/46363.xls
Dank und Gruß
Nils
Hallo Nils,
lass mal dieses makro drüberlaufen.
' **********************************************************************
' Modul: Modul1 Typ: Allgemeines Modul
' **********************************************************************
Option Explicit

Sub FilterLast48()
Dim dblMin As Double
Dim lngEnd As Long, lngR As Long
Dim a As Variant
On Error Resume Next
Application.ScreenUpdating = False
With ActiveSheet
If .AutoFilterMode Then .Range("A1").CurrentRegion.AutoFilter
lngEnd = .Cells(Rows.Count, 1).End(xlUp).Row
.Range("A1:M" & lngEnd).NumberFormat = "General"
.Range("IV1") = 1
.Range("IV1").Copy
.Range("A1:M" & lngEnd).PasteSpecial Paste:=xlPasteValues, Operation:=xlMultiply
Application.CutCopyMode = False
a = .Range("A1:A" & lngEnd)
For lngR = 2 To UBound(a, 1)
a(lngR, 1) = CDate(a(lngR, 1))
Next
.Range("A1:A" & lngEnd) = a
.Range("A1:A" & lngEnd).NumberFormat = "dd.mm.yyyy hh:mm"
.Range("IV1").Clear
dblMin = Application.Max(.Range("A1:A" & lngEnd)) - 2
If dblMin =" & dblMin
.Columns.AutoFit
End With
Application.ScreenUpdating = True
End Sub


Gruß Sepp

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeitspanne per VBA filtern
01.10.2007 19:22:37
Josef
Hallo Nils,
deine Datei wird bei mir mit dem Makro korrekt gefiltert.
Welches Ergebnis erhältst du?
Gruß Sepp

AW: Zeitspanne per VBA filtern
01.10.2007 22:00:49
Nils
Hi. Ja, bei der Datei funktioniert es bei mir auch.
Wenn ich aber z.B. die Datei
https://www.herber.de/bbs/user/46472.txt
öffne, alle Formatierungen so belasse und dann das Makro ausführe, funktioniert es nicht.
Und mehr habe ich mit der anderen nicht gemacht! Ausser als xls gespeichert.
Gruß und Dank
Nils

Anzeige
AW: Zeitspanne per VBA filtern
01.10.2007 22:07:29
Josef
Hallo Nils,
wie importierst du die Datei?
Gruß Sepp

AW: Zeitspanne per VBA filtern
01.10.2007 22:29:00
Nils
Hi Sepp
Im Grunde ist das ja kein Import. Ich verwende den Datei öffnen Dialog.
Excel: Datei öffen / Datei auswählen / Datentyp: getrennt / Trennzeichen: Tabstopp und Semikolon / Texterkennungszeichen: " / Datenformat der Spalten: Standard / fertigstellen.
Quelle der Datei sollte doch eigentlich egal sein? In den meisten Fällen öffne ich diese von einem Netzlaufwerk.
Dank und Gruß
Nils

AW: Zeitspanne per VBA filtern
01.10.2007 22:51:32
Josef
Hallo Nils,
dann gibt doch beim Öffnen das Format der ersten Spalte als Datum an, danach Autofilter "Top 10" und die obersten 48 Elemente einstellen.
Gruß Sepp

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige