Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Bestimmtes Datum suchen

Forumthread: Bestimmtes Datum suchen

Bestimmtes Datum suchen
13.12.2002 17:03:46
Philipp
Hallo zusammen

Ich möchte aus meiner Tabelle die Zellen eines bestimmten Zeitraums auslesen und dann die ganze Zeile in eine in eine andere Tabelle kopieren.per VBA

z.B. Datum von "01.01.00" bis "01.01.02" ---lasse ich per UForm eingeben

ich habs zu umständlich gelöst, indem eine Schleife jede Zelle kontrolliert und dann die activecell.row kopiere.
Keine besonders schöne Lösung. Habt ihr einen anderen Ansatz?
Auf Beiträge würde ich mich freuen.

Do Until irow = Zende

If Cells(irow + 6, icolumn + 4) >= v And _ 'v = von
Cells(irow + 6, icolumn + 4) <= b _ 'b = bis aus UForm
Then

Gruss Phill


Anzeige

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

Betreff
Datum
Anwender
Anzeige
Re: Bestimmtes Datum suchen
13.12.2002 17:14:16
Georg_Zi
Hallo Philipp

Leider hast Du nichts zu dem Aufbu Deiner Tabelle geschrieben.
Sind die Daten sortiert
gibt es nur in einer Spalte Datum

Darum können wir Dir nur ein Ansatz geben. Suuche das Erste und letzte Datum und ermittle die Zeile


Option Explicit

Sub Philipp()
Dim ObZelle As Object
Dim LoErsteZeile As Long
Dim Loletztezeile As Long
Set ObZelle = Cells.Find(What:=CDate("01.01.01"), LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False)
If Not ObZelle Is Nothing Then
LoErsteZeile = Zelle.Row
Else
Exit Sub
End If
Set ObZelle = Cells.Find(What:=CDate("01.01.02") + 1, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False)
If Not ObZelle Is Nothing Then Loletztezeile = Zelle.Row - 1
End Sub

Code eingefügt mit: Excel Code Jeanie

Code Jeanie
Frage
Das Umsetzen nach Html klappt perfekt, auch die Ansicht in den Foren ist gegeben. Bei manchen Foren kann man aber anscheinend nicht den dargestellten Code nach VBA rückkopieren. Warum?
Antwort
Dies liegt nicht an der Code Jeanie !!! Manche Foren interpretieren anscheinend < pre > < /pre > Tags nicht richtig und erzeugen am Zeilenende einen weichen Zeilenumbruch anstatt eines harten Zeilenumbruches. Dies führt dazu, dass im VBA-Editor die Zeilen hintereinander geschrieben werden. Zum Rückkopieren in solchen Fällen: Fügen Sie den kopierten Code aus dem Forum nach Word ein, kopieren Sie ihn dort wieder und fügen Sie ihn dann im VBA - Editor ein

Gruß Georg

Anzeige
Re: Bestimmtes Datum suchen
13.12.2002 17:20:50
Philipp
Meine Tabelle ist so aufgebaut.
Aber schon mal vielen Dank!


Name G 1.2. NU § 5.1
Abbing Aug 02 Feb 04 Feb 01
Abedini Dez 03 Mrz 04 Aug 02
Abraham Feb 01 Apr 04 Dez 03
Aug 02 Mai 04 Feb 01
Adakei Dez 03 Jun 04 Aug 02
Adlan Feb 01 Jul 04 Dez 03 usw...

Re: Bestimmtes Datum suchen
13.12.2002 17:24:46
Georg_Zi
Hallo Philipp

das sagt mir nichts.

Unter Features steht wie eine Tabelle im Forum dargestellt werden. Vielleicht wird es damit übersichtlicher. Aber ich vermute schon das in meheren Spalten Datums stehen. Nach welcher Spalte soll es dann gehen.

Gruß Georg.

Anzeige
Re: Bestimmtes Datum suchen
13.12.2002 17:34:45
Philipp
Es geht um sehr viele Spalten etwa 50.
Ich lasse die Zellen Spaltenweise durchsuchen. Wenn er auf ein Datum inerhalb des Zeitraumes trifft kopiert er die kompl. Zeile.
Dann fängt er wieder bei Spalte "B2" an. Ich hoffe du kannst mit der Beschreibung etwas anfangen.


Beim einfügen muss ich noch üben
13.12.2002 17:35:49
Philipp
Immer 2 Spalten gehören zusammen.
Anzeige
Re: Bestimmtes Datum suchen
13.12.2002 17:41:21
Hajo
Hallo Philipp

hast Du mein makro mal getestet. Wird die erste und letzte Zeile richtig erkannt??

Gruß Hajo

;

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

Infobox / Tutorial

Bestimmtes Datum in Excel suchen und ausgeben


Schritt-für-Schritt-Anleitung

  1. Daten vorbereiten: Stelle sicher, dass deine Daten in einer strukturierten Tabelle angeordnet sind. Die Spalten sollten Datumswerte enthalten, die in einem einheitlichen Format vorliegen.

  2. VBA-Editor öffnen: Drücke ALT + F11, um den Visual Basic for Applications (VBA) Editor zu öffnen.

  3. Modul erstellen: Klicke auf Einfügen und wähle Modul, um ein neues Modul zu erstellen.

  4. VBA-Code einfügen: Verwende den folgenden Code, um ein bestimmtes Datum zu suchen und die dazugehörige Zeile auszugeben:

    Option Explicit
    
    Sub DatumSuchen()
       Dim ObZelle As Object
       Dim LoErsteZeile As Long
       Dim LoletzteZeile As Long
       Dim v As Date, b As Date
    
       ' Beispiel: Datum von "01.01.01" bis "01.01.02"
       v = CDate("01.01.01")
       b = CDate("01.01.02")
    
       Set ObZelle = Cells.Find(What:=v, LookIn:=xlFormulas, _
       LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
       MatchCase:=False)
    
       If Not ObZelle Is Nothing Then
           LoErsteZeile = ObZelle.Row
       End If
    
       Set ObZelle = Cells.Find(What:=b + 1, LookIn:=xlFormulas, _
       LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
       MatchCase:=False)
    
       If Not ObZelle Is Nothing Then
           LoletzteZeile = ObZelle.Row - 1
       End If
    
       ' Hier kannst du den Bereich kopieren oder weiterverarbeiten
    End Sub
  5. Makro ausführen: Schließe den VBA-Editor und führe das Makro aus, um die gewünschten Zeilen zu finden.


Häufige Fehler und Lösungen

  • Fehler: Keine Ergebnisse gefunden
    Lösung: Überprüfe, ob die Datumswerte in der richtigen Formatierung vorliegen und ob du das korrekte Suchkriterium verwendest.

  • Fehler: Falsche Zeilen werden kopiert
    Lösung: Stelle sicher, dass du die richtigen Grenzen für den Datumsbereich festgelegt hast. Der Code sollte die Suche nach dem ersten und letzten Datum korrekt umsetzen.


Alternative Methoden

  • Filter verwenden: Du kannst die Filterfunktion von Excel nutzen, um nur die Zeilen mit bestimmten Datumswerten anzuzeigen. Gehe zu Daten > Filtern und wähle die gewünschten Datumswerte aus.

  • SVERWEIS-Funktion: Wenn du nur einen Wert basierend auf einem bestimmten Datum suchen möchtest, kannst du die SVERWEIS-Funktion nutzen. Beispiel:

    =SVERWEIS("01.01.01", A1:C100, 2, FALSCH)

Praktische Beispiele

  1. Beispiel für Datumsbereich: Angenommen, du hast eine Tabelle mit den Spalten A (Name) und B (Datum). Du möchtest alle Zeilen finden, in denen das Datum zwischen dem 01.01.2020 und dem 31.12.2020 liegt. Passe den VBA-Code entsprechend an.

  2. Excel-Daten suchen: Wenn du nach einem bestimmten Datum in einer bestimmten Spalte suchst, kannst du den Code so anpassen, dass er nur diese Spalte durchsucht.


Tipps für Profis

  • Verwende Option Explicit am Anfang deines Codes, um sicherzustellen, dass alle Variablen deklariert sind. Dies hilft, Fehler zu vermeiden.

  • Nutze die Debug.Print-Anweisung, um den Wert von Variablen während der Ausführung zu überprüfen, was die Fehlersuche erleichtert.

  • Experimentiere mit verschiedenen LookIn-Einstellungen in der Find-Methode, um die besten Ergebnisse zu erzielen.


FAQ: Häufige Fragen

1. Wie kann ich mehrere Datumswerte gleichzeitig suchen?
Du kannst eine Schleife einbauen, die durch ein Array von Datumswerten iteriert, um mehrere Werte zu suchen.

2. Funktioniert dieser Ansatz in allen Excel-Versionen?
Ja, dieser VBA-Code sollte in den meisten Excel-Versionen funktionieren, solange die Version VBA unterstützt. Achte darauf, dass die Datumsformate korrekt sind.

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