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

Fehlermeldung 1004

Fehlermeldung 1004
29.06.2007 13:33:00
Don
Hallo Forumteilnehmer und Profis,
bin Anfänger in VBA und habe ein Problem mit einer Ausführung eines Codes.
Ich bekomme folgende Fehlermeldung:
Laufzeitfehler 1004:
Anwendungs- oder objektdefinierter Fehler
Wenn ich auf Debug gehe bekomme ich im Code die folgende Zeile gelb makiert:
Sheets(ii + 1).Name = Cells(ii, 4) ' Blätter 5 bis 9
Was mache ich falsch?
Folgender Code betrifft die ganze Geschichte:
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
Dim ii As Integer
For ii = 4 To 33                                          ' Zeilen 4 bis 8
If Not Intersect(Cells(ii, 4), Target) Is Nothing Then ' Spalte 2 = B
If BlattNam_Pruefung(Cells(ii, 4)) Then
Sheets(ii + 1).Name = Cells(ii, 4)               ' Blätter 5 bis 9
Else
MsgBox "E" & ii & " enthält keinen gültigen Blattnamen: " & vbLf & Cells(ii, 4)
End If
End If
Next ii
End Sub


Function BlattNam_Pruefung(BlaNam As String) As Boolean
' www.excelformeln.de/formeln.html?welcher=96
' www.xlam.ch/pos/rules.htm#Richtlinien%20f%FCr%20Arbeitsblatt-Namen
If BlaNam = "" Or Len(BlaNam) > 31 Then Exit Function
If Application.Evaluate("=SUM((MID(""" & BlaNam & """,COLUMN(1:1),1)" & _
"={"":"";""/"";""\"";""?"";""*"";""]"";""[""})*1)") > 0 Then Exit Function
BlattNam_Pruefung = True
End Function


Gruß
Don

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Fehlermeldung 1004
29.06.2007 13:43:00
Renee
Mazwara Don,
Deine Kommentare stimmen nicht mit dem Code überein.
Das könnte der Grund für den Fehler sein.
Dein Code testet bis zum Tabellenblatt Index 34.
Deine Mappe muss also mindest 34 Blätter haben, sonst passiert ein Fehler in der von Dir geschriebenen Codezeile.
Greetz Renee

AW: Fehlermeldung 1004
29.06.2007 13:53:41
Rudi
Hallo Renee,

Deine Mappe muss also mindest 34 Blätter haben, sonst passiert ein Fehler in der von Dir geschriebenen Codezeile.


Aber nicht dieser, sondern Index außerhalb des gültigen Bereichs.
Gruß
Rudi
Eine Kuh macht Muh, viele Kühe machen Mühe

Anzeige
AW: Fehlermeldung 1004
29.06.2007 14:14:35
Renee
Hello Rudi,
Ja da hast Du recht. Ich habe den Code nicht genau untersucht.
Für mich ist er sowieso suspekt. Man kann z.B. leicht 2 gleiche Tabellennamen erreichen, was dann z.B. zu 1004 führen könnte.
Rgds Renee

AW: Fehlermeldung 1004
29.06.2007 13:45:01
Hajo_Zi
Hallo Don,
ist die Tabelle vielleicht geschützt?
Ist die Tabelle vorhanden?
Haben die Variablen den richtigen Wert?

AW: Fehlermeldung 1004
29.06.2007 14:01:00
Stevi
Hallo nochmal,
super habe den Fehler gefunden ich hatte ein Arbeitsblattschutz drinnen.
Thx
Stevi

AW: Fehlermeldung 1004
29.06.2007 13:59:15
Andi
Hi,
diese Fehlermeldung kommt zB, wenn in cells(ii,4) nix drinsteht.
Bedenke die Syntax: cells(zeile, spalte).
Schönen Gruß,
Andi

Anzeige
AW: Fehlermeldung 1004
29.06.2007 14:04:42
Rudi
Hallo,
du hast doch vorgestern in einem anderen Zusammenhang einen besseren Code bekommen.
https://www.herber.de/forum/messages/881836.html
Warum nutzt du den nicht?
Deine Schleife ist Quatsch!

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Range("D4:D33"), Target) Is Nothing Then ' Spalte 2 = B
If BlattNam_Pruefung(Target) Then
Sheets(Target.Row+1).Name = Target               ' Blätter 5 bis 9
Else
MsgBox Target.Address & " enthält keinen gültigen Blattnamen: " _
& vbLf & Target.Text
End If
End If
End Sub


Gruß
Rudi
Eine Kuh macht Muh, viele Kühe machen Mühe

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige