Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1944to1948
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
Laufzeitfehler 1004: Anwendungs-und Objektdefinierter Fehler
29.09.2023 13:07:57
Jakob Kretschmer
Hallo,
ich hatte einen funktionierenen Code (Bsp1) und habe eigtl meiner Meinung nach nur weitere Suchkriterien hinzugefügt (Bsp2) und bekomme jetzt den Fehler:

Laufzeitfehler 1004: Anwendung- und Objektorientierter Fehler

Bsp1:

Sub Spannungen_WAHR_FALSCH_neu()

Dim lngRow&

Dim i

Application.ScreenUpdating = False

For i = 2 To ThisWorkbook.Sheets.Count 'Für alle Tabellenblätter
Worksheets(i).Activate 'Tabellenblatt i ansprechen
Range("D1").Select
ActiveCell.FormulaR1C1 = "24V"
Range("E1").Select
ActiveCell.FormulaR1C1 = "230V" '24V und 230V als String in bestimmte Zellen eintragen

lngRow = Cells(Worksheets(i).Rows.Count, 1).End(xlUp).Row
If lngRow = 1 Then GoTo Schleifenende

'24V
Worksheets(i).Range("D2").Resize(lngRow - 1).FormulaR1C1 = _
"=OR((IF(ISNUMBER(SEARCH(""XBU6"",RC1)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""XBU6"",RC2)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""X24"",RC1)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""X24"",RC2)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""X3"",RC1)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""X3"",RC2)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""XS24"",RC1)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""XS24"",RC2)),""wahr"",""falsch"")))"
'230V
Worksheets(i).Range("E2").Resize(lngRow - 1).FormulaR1C1 = _
"=OR((IF(ISNUMBER(SEARCH(""XS2"",RC1)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""XS2"",RC2)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""XS230"",RC1)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""XS230"",RC2)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""XBU2"",RC1)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""XBU2"",RC2)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""XBU1" & _
"1"",RC1)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""XBU1"",RC2)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""X8"",RC1)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""X8"",RC2)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""XXBU2"",RC1)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""XXBU2"",RC2)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""XXBU3"",RC1)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""XXBU3"",RC2)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""XS230"",RC1)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""XS230"",RC2)),""wahr"",""falsch"")))" & _
""
'Wahr Falsch für Spannungen setzen in ganze Spalte solange wie in Spalte 1 Werte stehen

Schleifenende:
Next i


Application.ScreenUpdating = True


End Sub

Bsp2:

Sub Spannungen_WAHR_FALSCH_neu()

Dim lngRow&

Dim i

Application.ScreenUpdating = False

For i = 2 To ThisWorkbook.Sheets.Count 'Für alle Tabellenblätter
Worksheets(i).Activate 'Tabellenblatt i ansprechen
Range("D1").Select
ActiveCell.FormulaR1C1 = "24V"
Range("E1").Select
ActiveCell.FormulaR1C1 = "230V" '24V und 230V als String in bestimmte Zellen eintragen

lngRow = Cells(Worksheets(i).Rows.Count, 1).End(xlUp).Row
If lngRow = 1 Then GoTo Schleifenende

'24V
Worksheets(i).Range("D2").Resize(lngRow - 1).FormulaR1C1 = _
"=OR((IF(ISNUMBER(SEARCH(""X-BU6"",RC1)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""XBU6"",RC2)),""wahr"",""falsch"")), (IF(ISNUMBER(SEARCH(""X.24"",RC1)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""X.24"",RC2)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""X-3"",RC1)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""X-3"",RC2)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""X-BU2.24"",RC1)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""X-BU2.24"",RC2)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""X-BU3"",RC1)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""X-BU3"",RC2)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""X-BU4"",RC1)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""X-BU4" & _
",RC2)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B1.01"",RC1)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B1.01"",RC2)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B1.02"",RC1)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B1.02"",RC2)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B2.01"",RC1)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B2.01"",RC2)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B2.02"",RC1)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B2.02"",RC2)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B1.21"",RC1)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B1.21"",RC2)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B1.22"",RC1)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B1.22" & _
",RC2)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B2.21"",RC1)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B2.21"",RC2)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B2.22"",RC1)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B2.22"",RC2)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B1.41"",RC1)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B1.41"",RC2)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B1.42"",RC1)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B1.42"",RC2)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B1.43"",RC1)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B1.43"",RC2)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B1.44"",RC1)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B1.44" & _
",RC2)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B1.45"",RC1)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B1.45"",RC2)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B2.41"",RC1)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B2.41"",RC2)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B2.42"",RC1)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B2.42"",RC2)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B2.43"",RC1)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B2.43"",RC2)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B2.44"",RC1)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B2.44"",RC2)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B2.45"",RC1)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B2.45" & _
",RC2)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B1.51"",RC1)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B1.51"",RC2)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B1.52"",RC1)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B1.52"",RC2)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B1.53"",RC1)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B1.53"",RC2)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B1.54"",RC1)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B1.54"",RC2)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B2.51"",RC1)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B2.51"",RC2)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B2.52"",RC1)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B2.52" & _
",RC2)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B2.53"",RC1)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B2.53"",RC2)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B2.54"",RC1)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B2.54"",RC2)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B1.61"",RC1)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B1.61"",RC2)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B1.62"",RC1)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B1.62"",RC2)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B2.61"",RC1)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B2.61"",RC2)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B2.62"",RC1)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B2.62"",RC2)),""wahr"",""falsch"")))"
'230V
Worksheets(i).Range("E2").Resize(lngRow - 1).FormulaR1C1 = _
"=OR((IF(ISNUMBER(SEARCH(""X-BU2.230"",RC1)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""X-BU2.230"",RC2)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""XS230"",RC1)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""XS230"",RC2)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""X-2"",RC1)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""X-2"",RC2)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""XBU1" & _
",RC1)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""XBU1"",RC2)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""X-2GL"",RC1)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""X-2GL"",RC2)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""X-2L"",RC1)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""X-2L"",RC2)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B1.31"",RC1)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B1.31"",RC2)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B1.33"",RC1)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B1.33"",RC2)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B1.34"",RC1)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B1.34" & _
",RC2)),""wahr"",""falsch"")),""wahr"",""falsch""),(IF(ISNUMBER(SEARCH(""B1.32"",RC1)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B1.32"",RC2)),""wahr"",""falsch""),(IF(ISNUMBER(SEARCH(""B1.35"",RC1)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B1.35"",RC2)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B2.31"",RC1)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B2.31"",RC2)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B2.32"",RC1)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B2.32"",RC2)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B2.33"",RC1)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B2.33"",RC2)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B2.34"",RC1)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B2.34" & _
",RC2)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B2.35"",RC1)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B2.35"",RC2)),""wahr"",""falsch"")))"

'Wahr Falsch für Spannungen setzen in ganze Spalte solange wie in Spalte 1 Werte stehen

Schleifenende:
Next i


Application.ScreenUpdating = True


End Sub

Ich weiß es ist viel Text aber vllt schaut ja mal jmd anderes drüber und sieht den Fehler.
Danke im Vorraus ich finde es einfach nicht.
LG

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Laufzeitfehler 1004: Anwendungs-und Objektdefinierter Fehler
29.09.2023 13:25:34
Oberschlumpf
Hi Jakob

wenn du schon Code zeigst, dann nutz doch bitte, direkt über deiner nächsten Antwort zu sehen, während du diese schreibst, den Button Code pre code, denn dann...


Sub sieht()

dein Code viel übersichtlicher aus!

End Sub


Bei SO VIEL Code wie du zeigst, wäre es vielleicht sehr viel hilfreicher, wenn du bitte per Upload eine Bsp-Datei mit Bsp-Daten mit deinem Code zeigst.

Ciao
Thorsten
AW: Laufzeitfehler 1004: Anwendungs-und Objektdefinierter Fehler
29.09.2023 13:27:19
Jakob Kretschmer
Hier die Beispiele nochmal in schön

Bsp1:


Sub Spannungen_WAHR_FALSCH_neu()

Dim lngRow&

Dim i

Application.ScreenUpdating = False

For i = 2 To ThisWorkbook.Sheets.Count 'Für alle Tabellenblätter
Worksheets(i).Activate 'Tabellenblatt i ansprechen
Range("D1").Select
ActiveCell.FormulaR1C1 = "24V"
Range("E1").Select
ActiveCell.FormulaR1C1 = "230V" '24V und 230V als String in bestimmte Zellen eintragen

lngRow = Cells(Worksheets(i).Rows.Count, 1).End(xlUp).Row
If lngRow = 1 Then GoTo Schleifenende

'24V
Worksheets(i).Range("D2").Resize(lngRow - 1).FormulaR1C1 = _
"=OR((IF(ISNUMBER(SEARCH(""XBU6"",RC1)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""XBU6"",RC2)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""X24"",RC1)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""X24"",RC2)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""X3"",RC1)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""X3"",RC2)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""XS24"",RC1)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""XS24"",RC2)),""wahr"",""falsch"")))"
'230V
Worksheets(i).Range("E2").Resize(lngRow - 1).FormulaR1C1 = _
"=OR((IF(ISNUMBER(SEARCH(""XS2"",RC1)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""XS2"",RC2)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""XS230"",RC1)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""XS230"",RC2)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""XBU2"",RC1)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""XBU2"",RC2)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""XBU1" & _
"1"",RC1)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""XBU1"",RC2)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""X8"",RC1)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""X8"",RC2)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""XXBU2"",RC1)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""XXBU2"",RC2)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""XXBU3"",RC1)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""XXBU3"",RC2)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""XS230"",RC1)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""XS230"",RC2)),""wahr"",""falsch"")))" & _
""
'Wahr Falsch für Spannungen setzen in ganze Spalte solange wie in Spalte 1 Werte stehen

Schleifenende:
Next i


Application.ScreenUpdating = True


End Sub

Bsp2:


Sub Spannungen_WAHR_FALSCH_neu()

Dim lngRow&

Dim i

Application.ScreenUpdating = False

For i = 2 To ThisWorkbook.Sheets.Count 'Für alle Tabellenblätter
Worksheets(i).Activate 'Tabellenblatt i ansprechen
Range("D1").Select
ActiveCell.FormulaR1C1 = "24V"
Range("E1").Select
ActiveCell.FormulaR1C1 = "230V" '24V und 230V als String in bestimmte Zellen eintragen

lngRow = Cells(Worksheets(i).Rows.Count, 1).End(xlUp).Row
If lngRow = 1 Then GoTo Schleifenende

'24V
Worksheets(i).Range("D2").Resize(lngRow - 1).FormulaR1C1 = _
"=OR((IF(ISNUMBER(SEARCH(""X-BU6"",RC1)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""XBU6"",RC2)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""X.24"",RC1)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""X.24"",RC2)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""X-3"",RC1)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""X-3"",RC2)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""X-BU2.24"",RC1)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""X-BU2.24"",RC2)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""X-BU3"",RC1)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""X-BU3"",RC2)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""X-BU4"",RC1)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""X-BU4" & _
",RC2)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B1.01"",RC1)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B1.01"",RC2)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B1.02"",RC1)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B1.02"",RC2)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B2.01"",RC1)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B2.01"",RC2)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B2.02"",RC1)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B2.02"",RC2)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B1.21"",RC1)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B1.21"",RC2)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B1.22"",RC1)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B1.22" & _
",RC2)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B2.21"",RC1)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B2.21"",RC2)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B2.22"",RC1)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B2.22"",RC2)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B1.41"",RC1)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B1.41"",RC2)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B1.42"",RC1)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B1.42"",RC2)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B1.43"",RC1)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B1.43"",RC2)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B1.44"",RC1)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B1.44" & _
",RC2)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B1.45"",RC1)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B1.45"",RC2)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B2.41"",RC1)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B2.41"",RC2)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B2.42"",RC1)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B2.42"",RC2)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B2.43"",RC1)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B2.43"",RC2)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B2.44"",RC1)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B2.44"",RC2)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B2.45"",RC1)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B2.45" & _
",RC2)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B1.51"",RC1)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B1.51"",RC2)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B1.52"",RC1)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B1.52"",RC2)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B1.53"",RC1)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B1.53"",RC2)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B1.54"",RC1)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B1.54"",RC2)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B2.51"",RC1)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B2.51"",RC2)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B2.52"",RC1)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B2.52" & _
",RC2)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B2.53"",RC1)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B2.53"",RC2)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B2.54"",RC1)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B2.54"",RC2)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B1.61"",RC1)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B1.61"",RC2)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B1.62"",RC1)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B1.62"",RC2)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B2.61"",RC1)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B2.61"",RC2)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B2.62"",RC1)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B2.62"",RC2)),""wahr"",""falsch"")))"
'230V
Worksheets(i).Range("E2").Resize(lngRow - 1).FormulaR1C1 = _
"=OR((IF(ISNUMBER(SEARCH(""X-BU2.230"",RC1)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""X-BU2.230"",RC2)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""XS230"",RC1)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""XS230"",RC2)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""X-2"",RC1)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""X-2"",RC2)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""XBU1" & _
",RC1)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""XBU1"",RC2)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""X-2GL"",RC1)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""X-2GL"",RC2)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""X-2L"",RC1)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""X-2L"",RC2)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B1.31"",RC1)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B1.31"",RC2)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B1.33"",RC1)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B1.33"",RC2)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B1.34"",RC1)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B1.34" & _
",RC2)),""wahr"",""falsch"")),""wahr"",""falsch""),(IF(ISNUMBER(SEARCH(""B1.32"",RC1)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B1.32"",RC2)),""wahr"",""falsch""),(IF(ISNUMBER(SEARCH(""B1.35"",RC1)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B1.35"",RC2)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B2.31"",RC1)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B2.31"",RC2)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B2.32"",RC1)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B2.32"",RC2)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B2.33"",RC1)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B2.33"",RC2)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B2.34"",RC1)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B2.34" & _
",RC2)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B2.35"",RC1)),""wahr"",""falsch"")),(IF(ISNUMBER(SEARCH(""B2.35"",RC2)),""wahr"",""falsch"")))"

'Wahr Falsch für Spannungen setzen in ganze Spalte solange wie in Spalte 1 Werte stehen

Schleifenende:
Next i


Application.ScreenUpdating = True


End Sub
Anzeige
AW: Laufzeitfehler 1004: Anwendungs-und Objektdefinierter Fehler
29.09.2023 14:00:46
daniel
Hi
das hast du aber lange Formeln.
Formeln in VBA sind in mehreren Ebenen längenbeschränkt.
zum einen darf die Codezeile eine bestimmte Länge nicht überschreiten.
das kann man aber erweitern, ein dem man entweder die Codezeile umbricht:
also aus
...FormulaR1C1  = "=FormelTeil1 FormelTeil2 FormelTeil3"

wird:
...FormulaR1C1 = "FormelTeil1" & _

"FormelTeil2" & _
"FormelTeil3"

oder noch besser, man sammelt erst mal ein einer Variablen, hier kann das auf beliebig viele Zeilen ausdehnen:
Dim FO as String

FO = "FormelTeil1"
FO = FO & "FormelTeil2"
FO = FO & "FormelTeil3"
...FormulaR1C1 = FO


aber es gibt noch eine weitere Einschränkung, denn eine Formel, die von VBA übergeben wird, darf nicht länger als c.a. 1000 Zeichen lang sein
Schreibst du jedoch eine Formel von Hand in die Zelle, sind bis zu 4000 Zeichen zulässig!

ich würde daher so vorgehen:
schreibe dir die Formeln in ein Vorlagenblatt und kopiere sie dann mit .Copy .PasteSpecial xlPasteFormulas in die Zielzelle
das vereinfacht deinen Code und du kannst die Formel in der Zelle auf funktionsfähigkeit und korrektes Rechnen überprüfen und musst das nicht "abstrakt" im Code machen.

Gruß Daniel
Anzeige
IF(ISNUMBER(.....)) ...
29.09.2023 15:17:16
Rudi Maintaire
Hallo,
IF(ISNUMBER(SEARCH(""XBU6"",RC1)),""wahr"",""falsch"")
kann man zu
ISNUMBER(SEARCH(""XBU6"",RC1))
verkürzen.
=ISTZAHL(...) ergibt einfach WAHR oder FALSCH.

Gruß
Rudi
AW: Laufzeitfehler 1004: Anwendungs-und Objektdefinierter Fehler
29.09.2023 14:16:14
ralf_b
deine makros schlagen fehl weil ein Tabellenblatt fehlt hier K149
in der Zeile Sheets(Cells(1, i).Value).Select von Sub Filtern_Kopieren()

vorschlag formelverkürzung

alt
=OR((IF(ISNUMBER(SEARCH(F$1,$A48)),"wahr","falsch")),(IF(ISNUMBER(SEARCH(F$1,$B48)),"wahr","falsch")))
neu (das @ benötige ich bei meiner Excelversion wegen dem spilling der Formeln.)
=@OR(ISNUMBER(SEARCH(F$1,$A48:$B48)))
Anzeige
AW: Laufzeitfehler 1004: Anwendungs-und Objektdefinierter Fehler
29.09.2023 16:13:49
Jakob Kretschmer
Danke das hast gelöst. Habe die Formel jetzt von Hand geschrieben, dann mit Makroaufzeichnung an die richtige Stelle gestzt und den so generierten Code bei mir reinkopiert. Hat sich damit gelöst. DANKE
nachfrage
29.09.2023 14:48:17
ralf_b
gibt es eine Liste wo man sieht welches Kabel 24V und 230V Spannung führt?
AW: Laufzeitfehler 1004: Anwendungs-und Objektdefinierter Fehler
29.09.2023 15:36:36
Jakob Kretschmer
Ich glaube nicht dass dort das Porblem ist. Das Tabellenblatt hat existiert als das Makro Filtern_Kopieren gelaufen ist und wurde erst danach durch das Makro Leere_Sheets_löschen gelöscht. Bei dem Makro taucht ja auch kein fehler auf.
LG

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Anzeige

Infobox zum Thema

EXCEL - Laufzeitfehler 1004: Anwendungs- und objektdefinierter Fehler


Inhaltsverzeichnis


Die Fragestellung


Du erhältst den Laufzeitfehler 1004 in Excel VBA und suchst nach einer Lösung, um das Problem zu beheben.


Erläuterung des Problems {#erläuterung-des-problems}


Der Laufzeitfehler 1004 ist ein allgemeiner Fehler in Excel VBA, der auftritt, wenn Excel die Anweisungen im Code nicht ausführen kann. Dies kann viele Ursachen haben, z.B. ein Problem mit den Objektreferenzen, ein Fehler beim Zugriff auf eine Arbeitsmappe oder ein Arbeitsblatt, das nicht existiert, oder ein Problem beim Schreiben in eine Zelle.


Lösung des Problems {#lösung-des-problems}


Um den Fehler zu beheben, solltest Du folgende Schritte durchführen:

  1. Überprüfe den Code auf Tippfehler:

    • Stelle sicher, dass alle Objekt- und Methodennamen korrekt geschrieben sind.
  2. Überprüfe die Referenzen:

    • Stelle sicher, dass alle Referenzen auf Arbeitsmappen, Arbeitsblätter und Bereiche gültig sind.
  3. Verwende explizite Referenzen:

    • Vermeide die Verwendung von ActiveWorkbook oder ActiveSheet und referenziere stattdessen direkt die gewünschte Arbeitsmappe oder das Arbeitsblatt.
  4. Fehlerbehandlung hinzufügen:

    • Füge On Error GoTo-Anweisungen hinzu, um Fehler abzufangen und zu behandeln.
  5. Debugging:

    • Verwende den VBA-Debugger, um den Code Schritt für Schritt durchzugehen und den Punkt zu finden, an dem der Fehler auftritt.

Hier ist ein Beispiel für eine Fehlerbehandlung:

Sub BeispielSub()
    On Error GoTo Fehlerbehandlung
    ' Dein Code hier

    Exit Sub
Fehlerbehandlung:
    MsgBox "Ein Fehler ist aufgetreten: " & Err.Description, vbCritical
    ' Weitere Fehlerbehandlung
End Sub

Anwendungsbeispiele aus der Praxis


  • Datenimport: Beim Importieren von Daten aus anderen Quellen kann dieser Fehler auftreten, wenn die Quelldaten nicht korrekt referenziert werden.
  • Automatisierung von Berichten: Fehler können auftreten, wenn dynamisch generierte Berichte auf nicht vorhandene Bereiche zugreifen.

Tipps


  • Verwende Option Explicit am Anfang des Moduls, um sicherzustellen, dass alle Variablen deklariert sind.
  • Überprüfe, ob externe Dateien oder Datenquellen, auf die zugegriffen wird, vorhanden und zugänglich sind.

Verwandte Themenbereiche


  • Fehlerbehandlung in VBA
  • Debugging in VBA
  • VBA-Programmierpraktiken

Zusammenfassung


Der Laufzeitfehler 1004 ist ein häufiger Fehler in VBA, der viele Ursachen haben kann. Durch sorgfältiges Überprüfen des Codes, Verwenden expliziter Referenzen und Implementieren einer Fehlerbehandlungsroutine kannst Du die Ursache des Fehlers identifizieren und beheben. Debugging ist ein wesentliches Werkzeug, um solche Fehler zu diagnostizieren und zu lösen.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige