Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.04.2024 18:57:33
17.04.2024 16:56:58
Anzeige
Archiv - Navigation
1676to1680
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
Inhaltsverzeichnis

bestimmten Bereich durchsuchen vba

bestimmten Bereich durchsuchen vba
04.03.2019 13:19:28
Sven
Hallo, da ich eher keine VBA-Kenntnisse habe hoffe ich das ihr mir helfen könnt.
Zur Zeit habe ich ein von mir angepasstes Makro laufen welches in Spalte E das aktuelle Datum sucht und dann alle Zeilen mit älterem Datum ausblendet. Funktioniert auch soweit aber dauert meiner Meinung nach ziemlich. Gibt es eine Möglichkeit das zu beschleunigen? Vielen Dank schon mal
Gruß Sven
Code:

Private Sub Workbook_Open()
Dim lngZeile As Long
Dim ws As Worksheet
Application.ScreenUpdating = False
Set ws = ThisWorkbook.Worksheets("Übersicht - Personal")
For lngZeile = 4 To ws.Cells(Rows.Count, 5).End(xlUp).Row
If IsDate(ws.Cells(lngZeile, 5).Value) Then
If ws.Cells(lngZeile, 5).Value 

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Nachfrage..
04.03.2019 14:54:37
UweD
Hallo
Sind die Datumsangaben aufsteigend sortiert, oder wird durcheinander?
LG UweD
AW: Nachfrage..
04.03.2019 15:07:33
Sven
Hallo,
Datum ist von E23 (01.01.) bis in E418 (31.1. Folgejahr) eingetragen.
Also aufsteigend sortiert?
Ohne Schleife
04.03.2019 15:44:31
UweD
so...
    Dim lngZeile As Long, intZ1 As Integer, lngTreffer As Long
    Dim WS As Worksheet, intSp As Integer, WF
    
    Set WS = ThisWorkbook.Worksheets("Übersicht - Personal")
    Set WF = WorksheetFunction
    intZ1 = 23
    intSp = 5 'Spalte E 
    
    'Reset 
    WS.Rows.Hidden = False

    If WF.CountIf(WS.Columns(intSp), Date) > 0 Then 'Ist das datum vorhanden? 
        lngTreffer = WF.Match(CLng(Date), WS.Columns(intSp), 0) ' in welcher Zeile 
        WS.Rows(intZ1).Resize(lngTreffer - intZ1).EntireRow.Hidden = True ' ab 23 bis eine Zeile davor ausblenden 
    End If
    
    Sheets("Übersicht - Personal").Select
    Range("T21").Select

LG UweD
Anzeige
AW: Ohne Schleife
04.03.2019 16:01:24
Sven
Super und Danke, ist viel schneller!
Aber leider werden jetzt die Spalten von 1 bis 17 wieder eingeblendet,die blieben vorher ausgeblendet?
Wie kann man das noch hinbekommen?
Beste Grüße und Danke für Deine Hilfe
Sven
AW: Ohne Schleife
04.03.2019 17:24:54
Sven
Hab es hinbekommen, läuft super! Vielen Dank für die Hilfe!
Gruß Sven
Prima! Danke für die Rückmeldung. owT
05.03.2019 10:50:13
UweD

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige