Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
476to480
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
476to480
476to480
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

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..........

		

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 !
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?!
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 !

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige