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

Laufzeitfehler '91' ??

Laufzeitfehler '91' ?
06.10.2005 19:35:31
Josef
Guten Tag zusammen,
kann mir bitte jemand bei dem unten stehenden Makro helfen, folgende Fehlermeldung zu erklären?
"LAUFZEITFEHLER '91'
Objektvariable oder With-Blockvariable nicht festgelegt.

Falls ihr mich für bekloppt erklären wollt, könnt ihr ja immer noch die Aussage verweigern. Falls mir trotzdem jemand helfen kann, wäre ich sehr dankbar.

Private Sub Workbook_Open()
Dim wks As Worksheet
Dim iRow As Long
Dim d As Variant
Dim Datum1, Jahr1, Monat1
For Each wks In Worksheets
If wks.Name Like "AA#*" Then
Monat1 = Month(Date)
Jahr1 = Year(Date)
Datum1 = DateSerial(Jahr1, Monat1, 1)
Set d = Columns(1).Find(What:=Datum1, LookIn:=xlValues, LookAt:=xlWhole)
iRow = d(1, 1).Row
Application.Goto wks.Cells(iRow, 1), True
End If
Next wks
Sheets("Auswertung").Select
End Sub

Gruss Josef

17
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Laufzeitfehler '91'
06.10.2005 19:42:53
Nepumuk
Hi,
kannst du so vermeiden:
Private Sub Workbook_Open()
    Dim wks As Worksheet
    Dim iRow As Long
    Dim d As Variant
    Dim Datum1, Jahr1, Monat1
    For Each wks In Worksheets
        If wks.Name Like "AA#*" Then
            Monat1 = Month(Date)
            Jahr1 = Year(Date)
            Datum1 = DateSerial(Jahr1, Monat1, 1)
            Set d = Columns(1).Find(What:=Datum1, LookIn:=xlValues, LookAt:=xlWhole)
            If Not d Is Nothing Then
                iRow = d(1, 1).Row
                Application.Goto wks.Cells(iRow, 1), True
            Else
                MsgBox "Nix gefunden"
            End If
        End If
    Next wks
    Sheets("Auswertung").Select
End Sub


Gruß
Nepumuk

Anzeige
AW: Laufzeitfehler '91'
06.10.2005 20:00:36
Josef
Hallo Nepumuk,
"Nix gefunden" ist die Meldung, sobald ich die Mappe starte.
Ich habe nicht die Ahnung um den Fehler zu lokalisieren, oder zu beseitigen.
Danke schon mal
Gruss Josef
AW: Laufzeitfehler '91'
06.10.2005 20:03:53
Nepumuk
Hi,
ist das ein richtiges Datum (manuell eingetippt), oder steckt eine Formel dahinter?
Gruß
Nepumuk

AW: Laufzeitfehler '91'
06.10.2005 22:27:00
Josef
Hallo Nepumuk,
das Datum wird durch Fomeln eingestellt. =Jahr(Heute() usw.
Gruss Josef
AW: Laufzeitfehler '91'
06.10.2005 22:57:50
Nepumuk
Hallo Josef,
dann hast du schlechte Karten mit der Find - Methode. Ist denn keine Logik in dem Tabellenaufbau, an dem man sich orientieren könnte?
Gruß
Nepumuk

Anzeige
AW: Laufzeitfehler '91' ?
06.10.2005 19:50:41
Leo
Hi,
Option Explicit

Private Sub Workbook_Open()
Dim wks As Worksheet
Dim iRow As Long
Dim d As Variant
Dim Datum1, Jahr1, Monat1
Monat1 = Month(Date)
Jahr1 = Year(Date)
Datum1 = DateSerial(Jahr1, Monat1, 1)
For Each wks In Worksheets
If wks.Name Like "AA#*" Then
Set d = wks.Columns(1).Find(What:=Datum1, LookIn:=xlValues, LookAt:=xlWhole)
If Not d Is Nothing Then
iRow = d(1, 1).Row
Application.Goto wks.Cells(iRow, 1), True
Else
MsgBox "Nix gefunden"
End If
End If
Next wks
Sheets("Auswertung").Select
End Sub

Versteh es aber nicht, wenn am Ende sowieso Sheets("Auswertung") selectiert wird?
mfg Leo
Anzeige
AW: Laufzeitfehler '91' ?
06.10.2005 19:53:23
Nepumuk
Hi Leo,
wenn du anschließend so eine Tabelle anklickst, ist das Datum schon vorgewählt.
Gruß
Nepumuk

AW: Laufzeitfehler '91' ?
06.10.2005 19:55:12
Leo
Hi,
ist mir inzwischen auch aufgefallen.
mfg Leo
AW: Laufzeitfehler '91' ?
06.10.2005 20:43:19
Josef
Hallo Nepumuk und Leo,
es wird keine Fehlermeldung angezeigt, es wird aber auch kein Datum auf den 1. des aktuellen Monats in die erste Zeile gescrollt. Habe das Makro in 'DIESE ARBEITSMAPPE'
kopiert. Muß ich denn sonst noch etwas beachten?
Die Mappe hat 40 TB und in jedem Blatt, steht in Spalte A ein Jahreskalender. Das TB 'Auswertung' wird deshalb selectiert, weil sonst nach dem Datum scrollen, das TB 43 angezeigt wird. Es ist kein(!) Blattschutz aktiviert.
Gruss Josef
Anzeige
AW: Laufzeitfehler '91' ?
06.10.2005 22:24:28
Iwanowitsch
Hi,
ist sich nicht Fehler in die folgende Zeile?
Set d = Columns(1).Find(What:=Datum1, LookIn:=xlValues, LookAt:=xlWhole)
Muss nicht heissen so?
Set d = Columns(1).Find(What:=Datum1, LookIn:=xlFormulas, LookAt:=xlWhole)
Vielleicht?
Iwanowitsch
AW: Laufzeitfehler '91' ?
06.10.2005 22:37:54
Josef
Hallo Iwanowitsch,
das funktioniert auch nicht. Danke für deine Mühe.
Gruss Josef
AW: Laufzeitfehler '91' ?
06.10.2005 23:05:47
Leo
Hi,
ich hab das jetzt mal nachgebaut, mein Code arbeitet auch bei durch Formel erzeugtes Datum. Steht bei dir der 1. des Monats ganz oben? Wenn ja, teste es mal mit dem 20.
des Monats.
mfg Leo
AW: Laufzeitfehler '91' ?
06.10.2005 23:35:00
Nepumuk
Halt, zurück.
Ich habe nach Date an Stelle von Datum1 gesucht. Das ganze funktioniert aber nur, wenn das Datum mit TT.MM.JJJJ formatiert ist.
Gruß
Nepumuk
AW: Makro läuft sauber, aber Zusatzfrage
07.10.2005 00:12:03
Josef
Hallo Nepumuk,
nachdem ich die Formatierung auf TT.MM.JJJJ gestellt habe, funktioniert alles einwandfrei. Vielen Dank für deine Hilfe.
Habe aber noch eine Frage. Das Programm wird täglich neu gestartet und damit natürlich auch die Workbook_Open. Damit die Prozedur nicht täglich sondern nur einmal im Monat gestartet wird, bräuchte ich noch so etwas wie einen Ein/Ausschalter. Oder, dass direkt beim Starten schon festgestellt wird, dass der Monat noch immer derselbe ist. Ist das ohne großen Aufwand möglich?
Gruss Josef
Gruss Josef
Anzeige
AW: Laufzeitfehler '91' ?
07.10.2005 00:01:47
Leo
Hi,
mit deinem Code den 06.10.2005, mit meinem den 01.10.2005, logisch.
mfg Leo
AW: Makro läuft einwandfrei!
07.10.2005 00:26:31
Josef
Hallo Leo,
auch dein Makro läuft jetzt einwandfrei. Der 1. des Monats steht nun auch in der ersten Zeile. Ich hatte versehentlich einen Punkt hinter ein IF gemacht.

Vielen Dank für deine Hilfe.
Vielleicht hast Du noch eine Idee, dass man das Makro nur dann laufen lässt, wenn ein neuer Monat begonnen hat?!
Gruß Josef

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige