Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Laufzeitfehler 1004

Laufzeitfehler 1004
27.08.2004 11:43:27
Fabienne
Hallo zusammen!
Ich habe ein Makro Comp(), welches ein Makro Riinforced_pläi()in einem anderen Modul des selben Files aufruft. Jetzt krieg ich aber immer einen Laufzeitfehler 1004 in Zeile 1 des Subs Riinforced_pläi?
Kann mir jemand helfen den wegzubringen? Vielen Dank schon mal!

Sub Comp()
'Dateiname_ausgeben()'
Meine_Datei = InputBox("Bitte geben sie den Dateinamen (ohne Endung) der zu verarbeitenden Excel
Datei an. Sie muss bereits geöffnet sein.", "Dateieingabe")
Meine_Datei = Meine_Datei & ".xls"
MsgBox Meine_Datei, , "zu verarbeitende Datei:"
'Tabellenblaetter_zählen()'
Windows(Meine_Datei).Activate
Dim i As Integer
Dim max As Integer
max = Worksheets.Count
MsgBox "Anzahl Tabellenblätter:" & max
'max = 1
'Makroname_ausgeben()'
Mein_Export = InputBox("Name der Exportdatei (ohne Endung) .", "Dateieingabe")
Mein_Export = Mein_Export & ".xls"
MsgBox Mein_Export, , "Exportiert wird in:"
'Excel Datei mit dem Namen Mein_Export und einem Sheet erstellen
Workbooks.Add
ActiveWorkbook.SaveAs Filename:=Mein_Export
ActiveWorkbook.Save
'For i = 1 To Worksheets.Count
For i = 2 To max
'Quell Tabellenblatt auswählen()'
Windows(Meine_Datei).Activate
Mein_Blatt = Worksheets(i).Name
'MsgBox Mein_Blatt, , "Name des Blatts:"
Worksheets(2).Activate
Range("A1").Select
Phys = ActiveCell.Value
Select Case Phys
Case Is = "REINFORCED PLY"
Call Riinforsd_pläi
Case Is = "HOMOGENEOUS PLY"
Call Homogeneous_Ply
Case Is = "ADHESIVE"
Call Adhesive
Case Art = "CORE PLY, HONEYCOMB"
Call CorePlyhoneycomb
Case Art = "CORE PLY, HOMOGENEOUS"
Call CorePlyHomogeneous
End Select
Windows(Mein_Export).Activate
Worksheets(1).Activate
Next i
End Sub


Sub Riinforsd_pläi()
Range("A" & (i - 1) * 140 + 1).Select
ActiveCell.FormulaR1C1 = "name="
Range("B" & (i - 1) * 140 + 1).Select
ActiveCell.FormulaR1C1 = "imported ply nr. " & i - 1
Range("A" & (i - 1) * 140 + 2).Select
ActiveCell.FormulaR1C1 = "phys="
Range("B" & (i - 1) * 140 + 2).Select
ActiveCell.FormulaR1C1 = "reinforced" '!!!!!!!!!!!!!!!!!!!!!!!
Range("A" & (i - 1) * 140 + 3).Select
ActiveCell.FormulaR1C1 = "mech="
'Range("B" & (i - 1) * 140 + 3).Select
'ActiveCell.FormulaR1C1 = "=VLOOKUP('[" & Meine_Datei & "]" & Mein_Blatt & "'!R33C4,'[" &
Meine_Datei & "]" & Mein_Blatt & "'!R33C11:R36C12,2)"
Windows(Meine_Datei).Activate
Range("D23").Select
Mechart = ActiveCell.Value
Select Case Mechart
Case Is = 1
Windows(Mein_Export).Activate
Range("B" & (i - 1) * 140 + 3).Select
ActiveCell.FormulaR1C1 = "orthotropic"
Case Is = 2
Windows(Mein_Export).Activate
Range("B" & (i - 1) * 140 + 3).Select
ActiveCell.FormulaR1C1 = "transv23"
Case Is = 3
Windows(Mein_Export).Activate
Range("B" & (i - 1) * 140 + 3).Select
ActiveCell.FormulaR1C1 = "transv12"
Case Is = 4
Windows(Mein_Export).Activate
Range("B" & (i - 1) * 140 + 3).Select
ActiveCell.FormulaR1C1 = "isotropic"
End Select
etc..........

		
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Laufzeitfehler 1004
P@ulchen
Hi Fabienne,
ohne getestet zu haben... schreib mal:
Public i As Integer
Sub Comp()
.
.
.
Gruß aus Leipzig
P@ulchen
Das Forum lebt auch von den Rückmeldungen !
Anzeige
AW: Laufzeitfehler 1004
27.08.2004 12:09:04
Fabienne
Salut P@ulchen!
Merci für deine Hilfe, aber es tritt immer noch derselbe Fehler auf:
Laufzeitfehler 1004
Die Methode 'Range' für das Objekt '_Global' ist fehlgeschlagen
Andere Ideen?
AW: Laufzeitfehler 1004
P@ulchen
Hi Fabienne,
ich habe den Code mal vereinfacht nachgebaut, und er funktioniert bei mir ohne Probleme:


Public As Integer
Sub Comp()
For i = 2 To Worksheets.Count
    Riinforsd_pläi
Next
End Sub
Sub Riinforsd_pläi()
Range("A" & (i - 1) * 140 + 1).Select
ActiveCell.FormulaR1C1 = "name="
Range("B" & (i - 1) * 140 + 1).Select
ActiveCell.FormulaR1C1 = "imported ply nr. " & i - 1
End Sub


Gruß aus Leipzig
P@ulchen
Das Forum lebt auch von den Rückmeldungen !
Anzeige
Funktioniert immer noch nicht!
27.08.2004 12:33:21
Fabienne
Ich habs bei mir auch laufen lassen, aber es kommt immer noch dieselbe Fehlermeldung. Und zwar in Zeile 8 [Range("A" & (i - 1) * 140 + 1).Select].
Kann das mit der excel Version zu tun haben? Ich hab 2000.
AW: Funktioniert immer noch nicht!
P@ulchen
Ich habe auch 2000...
Öffne mal eine neue ExcelDatei mit zB. 3 Blättern, kopiere nur den von mir geposteten Code rein und schau mal, ob er läuft.


Public As Integer
Sub Comp()
For i = 2 To Worksheets.Count
    Riinforsd_pläi
Next
End Sub
Sub Riinforsd_pläi()
Range("A" & (i - 1) * 140 + 1).Select
ActiveCell.FormulaR1C1 = "name="
Range("B" & (i - 1) * 140 + 1).Select
ActiveCell.FormulaR1C1 = "imported ply nr. " & i - 1
End Sub


Gruß aus Leipzig
P@ulchen
Das Forum lebt auch von den Rückmeldungen !
Anzeige
AW: Funktioniert immer noch nicht!
27.08.2004 12:47:59
Fabienne
Wenn ich in Einzelschritten durchgehe klappt alles, wenn ich aber bis zum Ende ausführe, kommt immer noch dieselbe Fehlermeldung.
Verstehe absolut gar nichts mehr!
AW: Laufzeitfehler 1004
P@ulchen
Wo hast Du den Code denn stehen ?
AW: Laufzeitfehler 1004
27.08.2004 14:13:20
Fabienne
sorry, verstehe deine Frage nicht?!
Anzeige
AW: Laufzeitfehler 1004
27.08.2004 14:14:29
Fabienne
sorry, verstehe deine Frage nicht?!
AW: Laufzeitfehler 1004
P@ulchen
in welchem Modul steht welcher Code ?
Du hast in Deiner ersten Frage von einem anderen Modul gesprochen...
AW: Laufzeitfehler 1004
27.08.2004 14:36:35
Fabienne
Also ich habe 6 verschiedene Module. Im ersten ist das Hauptmakro und in den 5 anderen sind die Untermakros 1)Riinforsd_pläi 2)Homogeneous_Ply 3)Adhesive 4)CorePlyhoneycomb 5)CorePlyHomogeneous
Hauptmakro:

Sub Comp()
'Dateiname_ausgeben()'
Meine_Datei = InputBox("Bitte geben sie den Dateinamen (ohne Endung) der zu verarbeitenden Excel Datei an. Sie muss bereits geöffnet sein.", "Dateieingabe")
Meine_Datei = Meine_Datei & ".xls"
MsgBox Meine_Datei, , "zu verarbeitende Datei:"
'Tabellenblaetter_zählen()'
Windows(Meine_Datei).Activate
Dim i As Integer
Dim max As Integer
max = Worksheets.Count
MsgBox "Anzahl Tabellenblätter:" & max
'max = 1
'Makroname_ausgeben()'
Mein_Export = InputBox("Name der Exportdatei (ohne Endung) .", "Dateieingabe")
Mein_Export = Mein_Export & ".xls"
MsgBox Mein_Export, , "Exportiert wird in:"
'Excel Datei mit dem Namen Mein_Export und einem Sheet erstellen
Workbooks.Add
ActiveWorkbook.SaveAs Filename:=Mein_Export
ActiveWorkbook.Save
'For i = 1 To Worksheets.Count
For i = 2 To max
'Quell Tabellenblatt auswählen()'
Windows(Meine_Datei).Activate
Mein_Blatt = Worksheets(i).Name
'MsgBox Mein_Blatt, , "Name des Blatts:"
Worksheets(2).Activate
Range("A1").Select
Phys = ActiveCell.Value
Select Case Phys
Case Is = "REINFORCED PLY"
Call Riinforsd_pläi
Case Is = "HOMOGENEOUS PLY"
Call Homogeneous_Ply
Case Is = "ADHESIVE"
Call Adhesive
Case Art = "CORE PLY, HONEYCOMB"
Call CorePlyhoneycomb
Case Art = "CORE PLY, HOMOGENEOUS"
Call CorePlyHomogeneous
End Select
Windows(Mein_Export).Activate
Worksheets(1).Activate
Next i
End Sub

Anzeige
AW: Laufzeitfehler 1004
P@ulchen
Hi Fabienne,
ich denke nach wie vor, dass Dein Fehler in der Variablendeklaration von "i" steckt.
Du hast im Hauptmakro folgendes stehen:
Windows(Meine_Datei).Activate
Dim i As Integer
Da Du i innerhalb der Sub deklariert hast, bleibt Dir der zugewiesene Wert von i auch nur innerhalb der Sub erhalten.
Du möchtest aber mit i in einer anderen Sub arbeiten.
Würde diese zweite Sub im gleichen Modul stehen, könntest Du ganz oben, also außerhalb aller Sub´s des Modules schreiben:
Dim i As Integer
Sub Comp()
.
.
.
Dann könntest Du im Modul von einer Sub zur anderen springen und den Wert von i immer mithehmen.
Da Deine Sub´s aber in unterschiedlichen Modulen stehen, mußt Du i als Public-Variable deklarieren, also so:
Public i As Integer
Sub Comp()
.
.
.
Ich hoffe, dass ich mich halbwegs verständlich machen konnte...
Gruß aus Leipzig
P@ulchen
Das Forum lebt auch von den Rückmeldungen !
Anzeige
AW: Laufzeitfehler 1004
27.08.2004 16:00:56
Fabienne
Hab's jetzt endlich geschafft!!!!!! Jupiiiiiii!!!
Möchte mich ganz herzlich bei dir bedanken!!!!
Viele Grüsse Fabienne
AW: Laufzeitfehler 1004
P@ulchen
Lag es denn an "i" ? Wenn ja, dann schau noch mal in meine allererste Antwort ;-))
Freut mich aber, wenn ich Dir helfen konnte und
Schönes Wochenende
Gruß aus Leipzig
P@ulchen
Das Forum lebt auch von den Rückmeldungen !
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige