Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.04.2024 18:57:33
17.04.2024 16:56:58
Anzeige
Archiv - Navigation
1016to1020
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
Inhaltsverzeichnis

Fehlermeldung mit Match(CDbl)

Fehlermeldung mit Match(CDbl)
28.10.2008 10:27:44
CaOs1979
Hallo zusammen,
bekomme folgende Fehlermeldung beim Öffnen meiner Excel-Datei, seit ich eine Funktion eingebaut habe, die dazu dient, von vier Tabellenblättern in der Mappe auf den ersten zwei Tabellenblättern die Spalte mit dem aktuellen Datum bei öffnen automatisch auszuwählen:
Laufzeitfehler 1004:
Die Match-Eigenschaft des WorksheetFunction-Objektes kann nicht zugeordnet werden.
Was mache ich falsch bzw. weiß jemand Rat?
Hier mein Code:

Private Sub Workbook_Open()
''#Alle Arbeitsblätter zur Benutzung wieder freigeben
'For Each ws In Worksheets
'    ws.Unprotect Password:=("?_?")
'    ws.EnableAutoFilter = True 'ermöglicht Autofilter
'    ws.EnableOutlining = True 'ermöglicht Gruppierung/Gliederung
'Next ws
''#Prozedur zum Spalten ausblenden
'For Each ws In Worksheets
'    ws.Columns("GN").EntireColumn.Hidden = True
'    ws.Columns("GP").EntireColumn.Hidden = True
'    ws.Columns("GR").EntireColumn.Hidden = True
'    ws.Columns("GT").EntireColumn.Hidden = True
'    ws.Columns("GV").EntireColumn.Hidden = True
'    ws.Columns("GX").EntireColumn.Hidden = True
'Next ws
''#Prozedur für Blattschutz setzen und das Ermöglichen von Gruppierungen und Autofiltern
'For Each ws In Worksheets
'    ws.EnableAutoFilter = True 'ermöglicht Autofilter
'    ws.EnableOutlining = True 'ermöglicht Gruppierung/Gliederung
'    ws.Protect Password:=(?_?"), userinterfaceonly:=True, DrawingObjects:=False, Contents:= _
True, AllowFormattingCells:=True
'Next ws
''#Blendet die Zeilen- und Spaltenbeschriftungen aus
'ActiveWindow.DisplayHeadings = False
''#Blendet die Bearbeitungsleiste aus
'Application.DisplayFormulaBar = False
'#aktiviert die Spalte mit dem aktuellen Datum
Dim aktuell As Integer
With Worksheets(IIf(Month(Date) > 6, 2, 1) & ". HJ " & Year(Date))
aktuell = WorksheetFunction.Match(CDbl(Date), .Rows(2), 0)
Application.GoTo .Cells(5, aktuell), True
End With
End Sub


Danke für jede, schnelle Hilfe!
Carsten

14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Fehlermeldung mit Match(CDbl)
28.10.2008 10:35:48
Peter
Hallo Carsten,
gerade beim Match kommt es darauf an, den NICHT GEFUNDEN Fall abzufangen.
Hast du einmal geprüft, ob das, was du suchst vorhanden ist?
Normalerweise sollte ein On Error GoTo Fehler helfen.
Gruß Peter
AW: Fehlermeldung mit Match(CDbl)
28.10.2008 10:41:00
CaOs1979
Hallo Peter,
erstmal danke für Deinen Hinweis. Allerdings muss ich zugeben, dass ich damit jetzt doch überfordert bin a.G. meiner bsiherigen Erfahrungen.
Wie bzw. wo baue ich diesen "on error goto" ein? als festen codebaustein? Könntest Du mir hier evtl. weiterhelfen?
Viele Dank schon vorab!
Carsten
AW: Fehlermeldung mit Match(CDbl)
28.10.2008 11:29:00
Beverly
Hi Carsten,
versuche es mal so

With Worksheets(IIf(Month(Date) > 6, 2, 1) & ". HJ " & Year(Date))
On Error Resume Next
aktuell = WorksheetFunction.Match(CDbl(Date), Rows(2), 0)
Application.Goto Cells(5, aktuell), True
On Error GoTo 0
End With




Anzeige
AW: Fehlermeldung mit Match(CDbl)
28.10.2008 11:35:00
Peter
Hallo Carsten,
als Beispiel nur das Suchen mit Match:
Option Explicit

Public Sub MatchMuster()
Dim aktuell As Integer
On Error GoTo NichtGefunden
'MsgBox IIf(Month(Date) > 6, 2, 1) & ". HJ " & Year(Date)
With Worksheets(IIf(Month(Date) > 6, 2, 1) & ". HJ " & Year(Date))
aktuell = WorksheetFunction.Match(CDbl(Date), .Rows(2), 0)
Application.Goto .Cells(5, aktuell), True
End With
Exit Sub
NichtGefunden:
MsgBox "Die Fehler-Nummer ist:  " & Err.Number & Chr(10) & Chr(10) & _
"Die Beschreibung sagt:  " & Err.Description, _
48, "   Hinweis für " & Application.UserName
End Sub


Gruß Peter

Anzeige
AW: Fehlermeldung mit Match(CDbl)
28.10.2008 13:12:08
CaOs1979
Hallo KArin, hallo Peter,
vielen Dank, habe es ausprobiert: jetzt überspringt er und die Mappe öffnet sich.
Aber damit hätte ich ja noch nicht das Problem gelöst - wenngleich schonmal umgangen!
Woran kann es jetzt liegen?
1. Idee: können Kommentare in der Datumszeile Probleme verursachen? ( Test war positiv, es gibt evtl. einen Konflikt bzw. Zusammenhang!)
2. Idee: genügt der "single" für das aktuell? sehe das Datum als Datum ("28.10.2008") aber bei aktuell nichts bzw. immer nur "0" wenn ich in einzelschritten durchlaufe!?
Hat da jemand eine Idee?
Danke schonmal!
Carsten
Anzeige
AW: zu Frage 2
28.10.2008 13:28:00
Beverly
Hi Carsten,
nimm Double für das Datum


AW: zu Frage 2
28.10.2008 13:37:00
CaOs1979
Hallo Karin,
vielen Dank! Jetzt aktiviert er mir die richtige Zelle.
Problem:
ich habe das Fenster fixiert (oben, links). Wie schaffe ich es nun, dass er mir praktisch den nicht fixierten Bereich ganz vorne (links) ansetzt?
Danke schonmal vorab!
Gruss Carsten
AW: zu Frage 2
28.10.2008 14:21:30
Beverly
Hi Carsten,
was meinst du mit "den nicht fixierten Bereich ganz vorne (links) ansetzt"? Im derzeitigen Zustand ist es doch so, dass die gefundene Zelle in die linke obere Ecke, also an den Schnittpunkt zwischen letzter fixierter Spalte (links) und Zeile (oben) schiebt. Also wird doch der fixierte Bereich als Grundlage genommen. Der nicht fixierte Bereich befindet sich rechts/unten.


Anzeige
AW: zu Frage 2
28.10.2008 14:30:57
CaOs1979
Hallo Karin,
leider nicht immer (bzw. er umgeht den Fehler halt auf die letzte aktive Zelle vor dem Speichern).
Kann auch noch nicht ausmachen, wann es geht und wann nicht.
Folgender Fakt beim einzelablauf des Codes:
in "aktuell" steht der Wert "0" drin - Fehlermeldung!
Wo liegt da das Problem? als ob er nichts findet!?
Gruss Carsten
AW: zu Frage 2
28.10.2008 14:54:23
CaOs1979
Hallo Karin,
bitte um Entshculdigung: die "0" resultiert ja aus dem "On Error goto ..."!
Allerdings habe ich festgestellt, dass die Prozedur nur mit dem ersten Tabellenblatt ("1. HJ 2008") arbeitet.
Allerdings springt sie nicht auf das zweite Blatt und aktiviert dieses. (habe hierzu mal aus testgründen das Systemdatum verstellt).
Hast Du da eine Idee?
Danke und Gruss
Carsten
Anzeige
AW: zu Frage 2
28.10.2008 15:05:08
Beverly
Hi Carsten,
in diesen beiden Zeilen fehlt jeweils der Punkt (.) vor Cells und Rows, dann findet es das Datum auch

aktuell = WorksheetFunction.Match(CDbl(Date), .Rows(2), 0)
Application.Goto .Cells(5, aktuell), True


Ich hatte bei mir die With Anweisung auskommentiert, weil es das betreffende Tabellenblatt nicht gab und ich deshalb im aktuellen Blatt gesucht habe.



AW: zu Frage 2
28.10.2008 14:55:00
Peter
Hallo Carsten
bei mir findet er ein passendes Datum - siehe Anhang.
https://www.herber.de/bbs/user/56341.xls
Gruß Peter
Anzeige
AW: zu Frage 2
28.10.2008 14:59:00
CaOs1979
Hallo Peter,
vielen dank für die Hilfe - das mit dem Datum passt jetzt auch.
Grund:
Kommentare scheinen zu stören, somit warf er mir "0" raus als Folge des "on error..."
2. Problem:
es gibt keinen Sprung auf das zweite Tabellenblatt ("2. HJ 2009"), wenn ich das Systemdatum auf z.B. Februar 2009 setze!
Zufällig eine Idee?
Danke und Gruss
Carsten
AW: zu Frage 2
28.10.2008 15:05:00
CaOs1979
Hallo Peter, hallo Karin,
jetzt läuft es! *FREUDE*
Im Zuge der ganzen Umstellung hab ich übersehen, dass ich für das 1.HJ 2009 in der Datumszeile (den einzelnen Zellen) ausversehen das Datum mit 2008 eingetragen habe, was natürlich ganz richtig zu einem Fehler führte.
Danke EUch für Eure Hilfe!
Gruss
Carsten
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige