Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1788to1792
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

Laufzeitfehler 9

Laufzeitfehler 9
22.10.2020 17:56:04
bjoern
ich wünsche eine wunderschönen guten Abend
ja also das Problem ist
ich lassen den Sheets(a).Name per If mit vergleichen mit den Inhalt einer Zelle
achja die Vollständigkeit Sorry
also zu erst

tabelend = Sheets(1).Cells(8, 4).Value 'da steht das ende der Tabelle drin, als Zahl
For a = 1 To tabelend
If Sheets(a).Name = nam Then
vari = vari + 1
End If
Next a

bei denn if und spuckt er nun Laufzeitfehler 9 aus
vor 3 Wochen mit der alten Webquelle hatte es aber noch funktioniert
wo ist der Fehler?
ein manuelles Kopieren > Namen ersetzen hat erstmal nix gebacht
bitte nicht so zu böse sein wenn ich die Geflogenheite dieses Forums immer noch nicht kann

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

Betreff
Datum
Anwender
Anzeige
AW: Laufzeitfehler 9
22.10.2020 18:00:39
Hajo_Zi
die Variable nam ist nicht definiert.

AW: Laufzeitfehler 9
22.10.2020 18:08:03
bjoern
doch ist sie weiter oben, der gesammte dim-Bloch sieht so aus
Dim tabelend As Integer
Dim nam As String
Dim tabzelle
Dim Blatt
Dim blue As Integer
Dim green As Boolean
Dim red As Boolean
also so weit ich das sotiert haben, das Skribt ist relativ alt, aber laut Suche kommt kein weiteres "dim nam" vor
AW: Laufzeitfehler 9
22.10.2020 18:40:35
Hajo_Zi
gut ist definiert aber nicht belegt.
Gruß Hajo
AW: Laufzeitfehler 9
22.10.2020 18:11:45
Daniel
Hi
Prüfe, welchen Wert a beim Abbruch hat.
Bei a=1 liegt das Problem im Code
Bei a größer 1 haben einige Schleifendurchläufe funktioniert und das Problem liegt an einer anderen Stelle.
Gleiche a und tabelend mal mit der Anzahl der Blätter in der Datei ab.
Vermutlich steht in D8 ein zu großer Wert.
Es ist nicht sinnvoll, hier das Schleifenende über einen Zellwert zu definieren, da man die Anzahl der Blätter abfragen kann:
For a = 1 to Sheets.Count
Einzig sinnvoll wäre der Schleifenendwert in der Zelle, wenn er kleiner sein kann als die Anzahl Blätter weil man die Blätter am Ende ausschließen will.
Aber auch dann sollte man absichern:
For a = 1 to Worksheetfunction.Min(Sheets.Count, tabelend)
Gruß Daniel
Anzeige
AW: Laufzeitfehler 9
22.10.2020 18:26:00
bjoern
achja danke
a ist bei 53
nam ist bei "Nikkei" was Seets.Name 2 ist und auch in Tabellenzelle 2,2 steht
dann kann das also nicht stimmen und ist ein Hinweiß auf eine anderen Fehler
den Sheets.Count hatte ich früher mal drin, aber auch irgendein Grund (an den ich mich nicht mehr erinnere) habe ich es wieder zurück geändert
also danke ich werde noch ein bissel weiter suchen
aber der Hinweiß ob a wirklich an dem Punkt ist den es sein soll war wichtig, danke dafür
AW: die Variable "nam" hat keinen Wert!!
22.10.2020 18:20:15
JoWE
Hallo Bjoern,
Hajo schrieb "die Variable nam ist nicht definiert" und da hat er recht.
"nam" ist zwar dimensioniert, hat aber, wenn das Makro läuft und bei
'If Sheets(a).Name = nam Then' ankommt keinen Wert!!
Da fehlt irgendwo vorher nam = "Tabelle_nn".
Gruß
Jochen
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige