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

Forumthread: Cells.Find

Cells.Find
26.05.2003 12:17:51
Megatron (Jens)
Hallo,
ich benötige wiedermal Eure Hilfe!

Ich möchte, dass beim Start meiner Datei als aktive Zelle die Zelle ausgewählt wird, in der das heutige Datum steht.
Dabei treten zwei Probleme auf:
1. Funktioniert das untere Makro zwar bei der Aufzeichnung, aber nicht wenn ich es neu starte. Sieht irgendjemand einen Fehler?

Private Sub Workbook_Open()
Worksheets("Tabelle1").Activate
Range("A1").Select
Cells.Find(What:="26.05.2003", After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False).Activate
End Sub

2. Gibt es eine Möglichkeit mittels des Cells.Find Befehls eine Variable einzugeben ("=heute()").

Kennt irgendjemand eine Lösung (wäre auch über Alternativvorschläge erfreut!).

Gruß
Jens

Anzeige

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

Betreff
Datum
Anwender
Anzeige
heutiges Datum finden mit Cells.find
26.05.2003 12:29:46
Boris

Hi Jens,

so sollte es gehen:

Die Zelle mit dem heutigen Datum wird selektiert.

Gruß Boris


Re: Cells.Find
26.05.2003 12:29:49
Nike

Hi,
versuchs mal so:

Private Sub test()
Dim rngFind As Range
Set rngFind = Worksheets("Tabelle1").Cells.Find(What:=Date, After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
False)
If Not rngFind Is Nothing Then
rngFind.Activate
End If
End Sub


Bye

Nike

Anzeige
Re: Cells.Find
26.05.2003 12:37:02
xxx

Hallo,
versuchs mal so:
Cells.Find(What:=Date, After:=ActiveCell, LookIn:=xlvalues, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False).Activate

Gruß aus'm Pott
Udo

Danke!
26.05.2003 12:37:48
Megatron (Jens)

Danke die beiden Varianten funktionieren super (auch wenn ich felsenfest davon überzeugt bin, dass ich zumindest eine schon mal ausprobiert habe und keinen Erfolg hatte!).

Es würde mich aber trotzdem interessieren was an meiner Suchfunktion (abgesehen davon, dass sie nicht variabel war), falsch war. Immerhin hat es beim Aufzeichnen ja auch funktioniert.

Noch einmal herzlichen Dank!!!
Gruß
Jens

Anzeige
(... und da sagt wieder einer, ...
26.05.2003 16:01:47
Franz W.

er hätte von VBA keine Ahnung ;-))), auch noch mit Fehlerbehandlung!!). Hab mir den Tipp schon aufgehoben, Boris, danke

Beste Grüße
Franz

;
Anzeige

Infobox / Tutorial

Zelle mit heutigem Datum finden in Excel mit VBA


Schritt-für-Schritt-Anleitung

Um die Zelle mit dem heutigen Datum in Excel zu finden, kannst Du den Cells.Find Befehl verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung:

  1. Öffne den Visual Basic for Applications (VBA) Editor in Excel (Alt + F11).

  2. Füge ein neues Modul hinzu.

  3. Kopiere und füge folgenden Code ein:

    Private Sub Workbook_Open()
       Worksheets("Tabelle1").Activate
       Dim rngFind As Range
       Set rngFind = Cells.Find(What:=Date, LookIn:=xlFormulas, LookAt:=xlPart, _
                                 SearchOrder:=xlByRows, SearchDirection:=xlNext, _
                                 MatchCase:=False)
       If Not rngFind Is Nothing Then
           rngFind.Activate
       End If
    End Sub
  4. Schließe den VBA-Editor und speichere die Datei.

  5. Schließe die Excel-Datei und öffne sie erneut, um das Makro zu aktivieren.


Häufige Fehler und Lösungen

  • Fehler: Das Makro wird nicht ausgeführt, wenn die Datei geöffnet wird.
    Lösung: Stelle sicher, dass das Makro im ThisWorkbook-Bereich gespeichert ist und dass die Makros in Excel aktiviert sind.

  • Fehler: Es wird keine Zelle mit dem aktuellen Datum gefunden.
    Lösung: Überprüfe, ob das heutige Datum im richtigen Format vorliegt. Möglicherweise musst Du What:=Date anpassen, um das Datum korrekt zu finden.


Alternative Methoden

Falls der Cells.Find Befehl nicht wie gewünscht funktioniert, kannst Du auch die Range.Find Methode verwenden:

Private Sub test()
    Dim rngFind As Range
    Set rngFind = Worksheets("Tabelle1").Range("A1:A100").Find(What:=Date, _
                               LookIn:=xlValues, LookAt:=xlPart, _
                               SearchOrder:=xlByRows, SearchDirection:=xlNext, _
                               MatchCase:=False)
    If Not rngFind Is Nothing Then
        rngFind.Activate
    End If
End Sub

Diese Methode sucht nur in einem bestimmten Bereich und kann die Suche beschleunigen.


Praktische Beispiele

  1. Aktives Blatt verwenden:

    Set rngFind = ActiveSheet.Cells.Find(What:=Date, LookIn:=xlFormulas)
  2. Variable für das gesuchte Datum:

    Dim todayDate As String
    todayDate = Format(Date, "dd.mm.yyyy")
    Set rngFind = Cells.Find(What:=todayDate, LookIn:=xlFormulas)

Diese Beispiele zeigen, wie Du den cells.find Befehl flexibel einsetzen kannst, um verschiedene Suchkriterien zu verwenden.


Tipps für Profis

  • Verwendet immer Option Explicit am Anfang Deines Codes, um sicherzustellen, dass alle Variablen deklariert sind.
  • Achte darauf, dass Du die richtigen LookIn und LookAt Parameter wählst, um die gewünschten Ergebnisse zu erhalten.
  • Teste Deinen Code schrittweise mit der F8-Taste im VBA-Editor, um Probleme schnell zu identifizieren.

FAQ: Häufige Fragen

1. Warum funktioniert mein Cells.Find nicht?
Es kann an falschen Parametern oder dem Format der gesuchten Daten liegen. Überprüfe die Parameter und das Format des Wertes.

2. Kann ich Cells.Find in einer bestimmten Zeile oder Spalte verwenden?
Ja, Du kannst Cells.Find auf einen bestimmten Bereich wie Range("A1:A100") anwenden, um die Suche einzugrenzen.

3. Wie finde ich nach einer Zelle, die nicht sichtbar ist?
Verwende LookIn:=xlValues und stelle sicher, dass die Zelle nicht ausgeblendet oder gelöscht wurde.

4. Gibt es eine Möglichkeit, nach einem Teilstring zu suchen?
Ja, setze LookAt:=xlPart, um nach Teilstrings in den Zellen zu suchen.

Nutze die vba cells.find Funktion effektiv, um in Deinen Excel-Daten schnell die gewünschten Informationen zu finden!

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