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

Suchen und automatisch eintragen

Suchen und automatisch eintragen
18.05.2004 09:35:19
Michael
Hallo liebe Forumer,
ich habe ein Problem, welches ich bisher auch mit der Suche im Archiv noch nicht lösen konnte.
Ich möchte gerne täglich eine große Tabelle mittels Makro durchsuchen (10 Spalten und z.Zt. 18.000 Zeilen, täglich größer werdend) und wenn ein bestimmter Datumswert in einer der Zellen C, D, E oder F gefunden wurde, soll in der gleichen Zeile in Spalte K das Wort „Abgelaufen“ automatisch eingetragen werden.
Den Suchbegriff (das Datum TT.MM.JJJJ) würde ich gerne mittels einer Box INPUTBOX???? eingeben da dieses Datum immer variabel ist.
Könnt Ihr mir helfen? Vielen Dank schon einmal im voraus.
Gruß
Michael

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Suchen und automatisch eintragen
18.05.2004 10:09:18
Oberschlumpf
Hallo Michael
Versuch es mal so:


Sub DatumSuchen()
    
    Dim ldDatum As Date, lstrDatum As String, lrZelle As Range, lstrDummy As String
    
        Do Until CDate(ldDatum)
            lstrDatum = InputBox("Geben Sie bitte ein Datum ein. [TT.MM.JJJJ]", "Datumsuche")
                If lstrDatum = "" Then Exit Sub
                If Not IsDate(lstrDatum) Then
                        lstrDummy = MsgBox("Geben Sie ein GÜLTIGES Datum ein!", vbCritical, "Datum nicht korrekt")
                        lstrDatum = ""
                    Else
                        ldDatum = CDate(lstrDatum)
                End If
        Loop
    
        For Each lrZelle In Range("C:C")
            If ldDatum = lrZelle.Value Then
                lrZelle.Offset(0, 8).Value = "Abgelaufen"
            End If
            
            If ldDatum = lrZelle.Offset(0, 1).Value Then
                lrZelle.Offset(0, 8).Value = "Abgelaufen"
            End If
            
            If ldDatum = lrZelle.Offset(0, 2).Value Then
                lrZelle.Offset(0, 8).Value = "Abgelaufen"
            End If
            
            If ldDatum = lrZelle.Offset(0, 3).Value Then
                lrZelle.Offset(0, 8).Value = "Abgelaufen"
            End If
        Next
End Sub


Code eingefügt mit Syntaxhighlighter 2.5




In diesem Code wird als Grundlage vollständig die Spalte C und in Abhängigkeit von C werden auch die Spalten D, E und F durchsucht (4 x 65536 Zellen).
Zu Testzwecken habe ich auf ca. 10.000 Zeilen in den entsprechenden Zellen das Datum 01.01.2004 eingetragen und mit Hilfe des Makros nach diesem Datum suchen lassen.
Nach ca. 6 - 8 Sekunden war in allen Zeilen, in denen das gesuchte Datum vorkommt, in Spalte K das Wort "abgelaufen" eingetragen.
Ich habe einen P IV mit 2,66 GHz.
Konnte ich helfen?
Ciao
Thorsten
Anzeige
AW: Suchen und automatisch eintragen
18.05.2004 10:34:31
Michael
Hallo Thorsten,
du konntest nicht nur,NEIN DU HAST mir seeeeehr geholfen. Funktioniert super gut und 18000 Zeilen werden von meinem PC 2,6HGz in ca. 15-20 Sekunden vollständig durchsucht und der Wert eingetragen.
Nochmals vielen vielen Dank
Gruß
Michael

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige