Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

datum in einer Tabelle über ein Makro suchen

2,509 views
Skip to first unread message

W. Völkel

unread,
Sep 13, 2003, 8:50:17 AM9/13/03
to
Ich möchte in einer Tabelle zum aktuellen Datum gelnagen.
Ich habe dies über ein Makro versucht. Eine Zelle
beinhaltet =heute(), was mir das aktuelle Datum
liefert.Ich zhabe nun versucht folgendes Makro zu
erstellen:
Makro aufnehmen: Aktuelles Datum in Suchen kopiert und
suchen. Cursor springt zum Datum in der Tabelle. - So soll
es sein - Suchen schließen und Makro beenden.
Wenn ich das Makro jetzt aufrufe, bekomme ich eine
Fehlermeldung...
Wie kann ich dies korrigieren?

Vielen Dank

W. Völkel

Monika Weber

unread,
Sep 13, 2003, 11:44:33 AM9/13/03
to
Hallo W.

<<<
Ich möchte in einer Tabelle zum aktuellen Datum gelnagen.
Ich habe dies über ein Makro versucht. Eine Zelle
beinhaltet =heute(), was mir das aktuelle Datum
liefert.Ich zhabe nun versucht folgendes Makro zu
erstellen:
Makro aufnehmen: Aktuelles Datum in Suchen kopiert und
suchen. Cursor springt zum Datum in der Tabelle. - So soll
es sein - Suchen schließen und Makro beenden.
Wenn ich das Makro jetzt aufrufe, bekomme ich eine
Fehlermeldung...
>>>

VBA ist in engl. Sprache. Ersetzte das "Heute" durch "Today",
dann sollte es funktionieren.

Sub test1()
Cells.Find(What:="=TODAY()", _
LookIn:=xlFormulas).Activate
End Sub

--
Es liebs Grüessli
Monika Weber [Microsoft MVP für Excel]

http://www.jumper.ch (Office Help Desk)
http://excel.codebooks.de (Das Excel-VBA Codebook)

Wolfgang

unread,
Sep 13, 2003, 1:09:08 PM9/13/03
to
ich bekomme die Fehlermeldung: Laufzeitfehler "91"
wenn ich das Makro "suche ein bestimmtes Datum" starte

Danke!
Wolfgang
>-----Originalnachricht-----

>.
>

Monika Weber

unread,
Sep 13, 2003, 1:37:03 PM9/13/03
to
Hallo Wolfgang,

hast Du den untenstehenden Code, den ich Dir hier
geschickt habe, ausprobiert? Wenn nicht, dann schick
hier mal Deine Codezeilen.

Mit welcher Excel-Version arbeitest Du? Ich arbeite
mit Excel XP (also 2002). Der Code funktioniert
einwandfrei.

--
Es liebs Grüessli
Monika Weber [Microsoft MVP für Excel]

http://www.jumper.ch (Office Help Desk)
http://excel.codebooks.de (Das Excel-VBA Codebook)


"Wolfgang" <wvo...@gwdg.de> schrieb im Newsbeitrag
news:31ed01c37a19$be869d10$a601...@phx.gbl...

Wolfgang

unread,
Sep 13, 2003, 2:04:34 PM9/13/03
to
Hallo Marion !

Ich arbeite mit Excel 2000.
Der Code:
Tastenkombination: Strg+j
'
Range("B3").Select
Selection.Copy
Range("D12").Select
Cells.Find(What:="13. Sep.", After:=ActiveCell,
LookIn:=xlValues, LookAt _
:=xlPart, SearchOrder:=xlByRows,
SearchDirection:=xlNext, MatchCase:= _
False).Activate
End Sub

Kannst Du damit etwas anfangen ?

Gruß
Wolfgang
>-----Originalnachricht-----

>.
>

Wolfgang

unread,
Sep 13, 2003, 2:19:57 PM9/13/03
to
Das Hallo Marion sollte natürlich Hallo Monika heißen!

Wolfgang
>-----Originalnachricht-----

>.
>

Monika Weber

unread,
Sep 13, 2003, 2:22:04 PM9/13/03
to
Hallo Wolfgang,

ja, damit kann ich schon einiges anfangen.

> Ich möchte in einer Tabelle zum aktuellen Datum gelnagen.
> Ich habe dies über ein Makro versucht. Eine Zelle
> beinhaltet =heute(),

> Range("B3").Select
> Selection.Copy
[...]


> Cells.Find(What:="13. Sep.",

Warum hast Du die Zelle B3 kopiert? Ich gehe davon
aus, dass dort das aktuelle Datum drin steht? Kopieren
funktioniert damit jedoch nicht, denn Du kopierst den
"13. Sep." Das ist zwar heute, aber morgen wird der
Inhalt nicht mehr stimmen.

> LookIn:=xlValues

Ausserdem "schaust" Du nach einem Wert (xlValues).
Es handelt sich bei "=Heute()" jedoch um eine Formel
(xlFormulas).

Ich bin mir nicht sicher, ob das Suchen nach Formeln in
der Version 2000 bereits möglich ist ... Drück mal die
Tastenkombination "Strg + F". Das Dialofenster "Suchen"
wird geöffnet.

Gib in der Zeile "Suchen nach:" die Formel "=Heute()" ein.
Unter XP ist in dem Dialogfenster ein DropDown-Feld
"Suchen in" verfügbar. Stelle dort den Wert auf "Formeln" um.

Wenn Du das Ganze aufzeichnest, erhältst Du in etwa diesen
Code:

Sub Makro1()
Cells.Find(What:="=Heute()", _
After:=ActiveCell, _
LookIn:=xlFormulas, _
LookAt:=xlPart, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext, _
MatchCase:=False, _
SearchFormat:=False).Activate
End Sub

Der Code hier kann unter Umständen von Deinem abweichen,
da Du eine andere Version verwendest als ich.

Wichtig jedoch ist, dass Du in der der ersten Codezeile
das "=Heute()" durch "=Today()" ersetzt, sonst kriegst
Du in VBA einen Sprachkonflikt.

Wenn das nicht funktioniert, dann könntest Du alternativ
auch etwas in der Art verwenden:

Sub test()
Dim c As Range
For Each c In ActiveSheet.UsedRange
If c.FormulaR1C1 = "=TODAY()" Then
c.Select
End If
Next c
End Sub

--
Es liebs Grüessli
Monika Weber [Microsoft MVP für Excel]

http://www.jumper.ch (Office Help Desk)
http://excel.codebooks.de (Das Excel-VBA Codebook)

"Wolfgang" <wvo...@gwdg.de> schrieb im Newsbeitrag
news:047c01c37a21$7ccf0f80$a001...@phx.gbl...

Monika Weber

unread,
Sep 13, 2003, 2:23:15 PM9/13/03
to
Hallo Wolfgang,

> Das Hallo Marion sollte natürlich Hallo Monika heißen!

Schon ok. Marion klingt auch ganz nett ;-)

Melanie Breden

unread,
Sep 13, 2003, 2:35:28 PM9/13/03
to
Hallo Wolfgang,

"Wolfgang" schrieb:

>ich bekomme die Fehlermeldung: Laufzeitfehler "91"
>wenn ich das Makro "suche ein bestimmtes Datum" starte

wenn du die Zelle des heutigen Datums markieren willst, verwende folgende Prozedur:

If Not Cells.Find(Date, LookIn:=xlValue) Is Nothing Then _
Cells.Find(Date, LookIn:=xlValue).Activate

Wird keine Zelle gefunden, passiert gar nichts :-)

--
Mit freundlichen Grüßen
Melanie Breden

_____________________
[Microsoft MVP für Excel]

Wolfgang

unread,
Sep 13, 2003, 3:20:58 PM9/13/03
to
Hallo MONIKA!

Jetzt funktioniert es !!!

Vielen DAnk für Deine Mühe und einen schönen Abend!

Wolfgang :-))

>-----Originalnachricht-----

>.
>

Monika Weber

unread,
Sep 13, 2003, 3:23:26 PM9/13/03
to
Hallo Wolfgang,

> Jetzt funktioniert es !!!

Danke für Dein Feedback.

> Vielen DAnk für Deine Mühe und einen schönen Abend!

Gern geschehen.
Es freut mich, wenn ich helfen konnte :-)

Wolfgang

unread,
Sep 13, 2003, 5:57:07 PM9/13/03
to
Hallo Monika!

Leider habe ich mich zu früh gefreut...
Excel findet jetzt zwar das heutige Datum, aber auch nur
dort, wo die Zelle =heute() ist. Das was ich eigentlich
will, nämlich in meiner Kalendertabelle schnell zum
aktuellen Datum zu springen, gelingt nicht mit einem Makro.
Ohne Makro ist es kein Problem, ein eingegenbenes Datum zu
suchen. Über Makro bekomme ich das nicht hin.

Kann es wirklich sein, dass es in Excel 2000 nicht möglich
ist, mit einem Makro ein Datum zu finden ?

Vielleicht fällt Dir ja noch etwas ein.

Auf jedenfall bedanke ich mich nocheinmal für Deine Mühe.

Mit lieben Grüßen

Wolfgang

>-----Originalnachricht-----

>.
>

Monika Weber

unread,
Sep 13, 2003, 6:23:56 PM9/13/03
to
Hallo Wolfgang,

> Ich möchte in einer Tabelle zum aktuellen Datum gelnagen.
> Ich habe dies über ein Makro versucht. Eine Zelle
> beinhaltet =heute(),

um ehrlich zu sein, weiss ich nun echt nicht mehr, was Du
willst. Laut Deiner ersten Aussage hast Du nach einer
Prozedur gesucht, die eine Zelle findet, die =Heute()
beinhaltet (siehe oben).

Falls dies zutrifft, sollte mein Code funktionieren.

> Excel findet jetzt zwar das heutige Datum, aber auch nur
> dort, wo die Zelle =heute() ist. Das was ich eigentlich
> will, nämlich in meiner Kalendertabelle schnell zum
> aktuellen Datum zu springen, gelingt nicht mit einem Makro.

Wenn Du nun, wie neu beschrieben, nicht immer nach
einer Zelle suchst, die =Heute() beinhaltet, sondern einfach
das heutige Datum (egal wie), dann versuchst Du es am besten
mal mit der Lösung, die Dir Melanie geschickt hat.

--
Es liebs Grüessli
Monika Weber [Microsoft MVP für Excel]

http://www.jumper.ch (Office Help Desk)
http://excel.codebooks.de (Das Excel-VBA Codebook)


"Wolfgang" <wvo...@gwdg.de> schrieb im Newsbeitrag

news:02b801c37a41$f9682200$a101...@phx.gbl...

Wolfgang

unread,
Sep 14, 2003, 11:59:33 AM9/14/03
to
Hallo Melanie! Hallo Monika!

Vielen Dank für Eure Hilfe! Ich habe jetzt den (Denk)
Fehler gefunden. Als ich meine Kalendertabelle erstellte,
habe ich nur in A1 1. Jan. geschrieben und in B1 =A1+1. So
ist ist Tabelle entstanden. Für mich steht in Zelle B1
zwar 2. Jan., aber unter Suchen 2. Jan. konnte ich es
nicht finden, da in der Zelle ja nur =A1+1 steht. Wenn ich
in die Zelle per Hand 2. Jan. eingebe, dann findet es auch
das Makro.

Liebe Grüße

Wolfgang
>-----Originalnachricht-----

>.
>

0 new messages