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

Makro-Laufzeitfehler

Makro-Laufzeitfehler
29.04.2008 14:10:00
manS
Hallo zusammen,
ich habe folgendes Makro, wo ich an der Stelle "Range("B1:AF30").Select" den Laufzeitfehler 13 - Typen unverträglich - ausgeworfen bekomme. Woran könnte das liegen? Vielen Dank!

Sub csv1()
' csv1 Makro
Dim Fso
Dim wb As Workbook
Dim ws As Worksheets
Set Fso = CreateObject("Scripting.FileSystemObject")
Dim Range As Variant
Dim Linie, Datum As String
Datum = Worksheets("Tabelle1").Range("A37")
Linie = Worksheets("Tabelle1").Range("A39")
If Fso.FileExists("C:\MDE\2007\Zeiten\Linie & Datum") Then
Application.ScreenUpdating = False
MsgBox "Datei existiert bereits!" & vbOKOnly
Else
Worksheets("Tabelle1").Select
Range("B1:AF30").Select
Selection.Copy
Workbooks.Add
ActiveSheet.Paste
Range("A2").Select
Application.CutCopyMode = False
ActiveWorkbook.SaveAs Filename:="C:\MDE\2007\Zeiten\Linie & Datum.xls", FileFormat:= _
xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, CreateBackup:=False
ActiveWindow.Close
Range("A1").Select
Worksheets("Start").Select
Range("G29").Select
Application.ScreenUpdating = True
End If
End Sub


22
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro-Laufzeitfehler
29.04.2008 15:03:56
mumpel
Hallo!
Versuchs mal so:
Sub csv1()
' 
' csv1 Makro 
    
    Dim Fso
    Dim wb As Workbook
    Dim ws As Worksheets
    Set Fso = CreateObject("Scripting.FileSystemObject")
    Dim Range As Variant
    Dim Linie, Datum As String
    Datum = Worksheets("Tabelle1").Range("A37")
    Linie = Worksheets("Tabelle1").Range("A39")
         
    If Fso.FileExists("C:\MDE\2007\Zeiten\Linie & Datum") Then
       Application.ScreenUpdating = False
       MsgBox "Datei existiert bereits!" & vbOKOnly
    Else

    Worksheets("Tabelle1").Range("B1:AF30").Select
    Selection.Copy
    Workbooks.Add
    ActiveSheet.Paste
    ActiveSheet.Range("A2").Select
    Application.CutCopyMode = False
    ActiveWorkbook.SaveAs Filename:="C:\MDE\2007\Zeiten\Linie & Datum.xls", FileFormat:= _
    xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, CreateBackup:=False
    ActiveWindow.Close
    ActiveWorkbook.ActiveSheet.Range("A1").Select
    Worksheets("Start").Activate
    Range("G29").Select
    Application.ScreenUpdating = True
        
    End If
End Sub


Gruß, Rene

Anzeige
AW: Makro-Laufzeitfehler
29.04.2008 15:33:13
manS
Hallo Rene,
vielen, vielen Dank für Deine schnelle Antwort. Ich habe alles so geändert wie von Dir vorgeschlagen. Aber nun kommt "Laufzeitfehler1004 - Die Select-Methode des Range-Objektes konnte nicht ausgeführt werden" an der Position "Worksheets("Tabelle1").Range("B1:AF30").Select. Ich habe die Range mal als String deklariert, dann erhalte ich aber "Fehler beim kompilieren- Erwartet: Datenfeld" Was kann man da machen?

Sub csv1()
' csv1 Makro
Dim Fso
Dim wb As Workbook
Dim ws As Worksheets
Set Fso = CreateObject("Scripting.FileSystemObject")
Dim Range As Variant
Dim Linie, Datum As String
Datum = Worksheets("Tabelle1").Range("A37")
Linie = Worksheets("Tabelle1").Range("A39")
If Fso.FileExists("C:\MDE\2007\Zeiten\Linie & Datum") Then
Application.ScreenUpdating = False
MsgBox "Datei existiert bereits!" & vbOKOnly
Else
Worksheets("Tabelle1").Range("B1:AF30").Select
Selection.Copy
Workbooks.Add
ActiveSheet.Paste
ActiveSheet.Range("A2").Select
Application.CutCopyMode = False
ActiveWorkbook.SaveAs Filename:="C:\MDE\2007\Zeiten\Linie & Datum.xls", FileFormat:= _
xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, CreateBackup:=False
ActiveWindow.Close
ActiveWorkbook.ActiveSheet.Range("A1").Select
Worksheets("Start").Activate
Range("G29").Select
Application.ScreenUpdating = True
End If
End Sub


Anzeige
AW: Makro-Laufzeitfehler
29.04.2008 15:38:00
mumpel
Kann ich nicht nachvollziehen. Bekomme keine Fehlermeldung.

AW: Makro-Laufzeitfehler
29.04.2008 15:52:14
manS
Hallo Rene,
trotzdem vielen Dank für deine Bemühungen!!! Werde wohl weiter ausprobieren müssen.

AW: Makro-Laufzeitfehler
29.04.2008 15:48:00
Knut
Hi,
verbundene Zellen im Bereich? Wenn ja, weg damit.
mfg Knut

AW: Makro-Laufzeitfehler
29.04.2008 16:02:00
manS
Hallo Knut,
vielen Dank für Deine Antwort. Kannst du mir anhand des Scripts erklären, was genau du damit meinst? Was ich vielleicht löschen muss? Bin halt VBA-Rookie;-) Vielen Dank! Gruß, manS

AW: Makro-Laufzeitfehler
29.04.2008 15:26:48
Rudi
Hallo,
versuch mal

Worksheets("Tabelle1").Range("B1:AF30").Copy Workbooks.Add.Sheets(1).Range("A1")


Gruß
Rudi

Anzeige
AW: Makro-Laufzeitfehler
29.04.2008 15:48:00
manS
Hallo Rudi,
vielen Dank für die schnelle Antwort. Habe es dementsprechend abgeändert,erhalte aber folgende Fehlermeldung: Laufzeitfehler 9 - Index außerhalb des gültigen Bereichs -
Muss ich vielleicht "Selection.Copy - Workbooks.Add - ActiveSheet.Paste" löschen? Vielen Dank!

Sub csv1()
' csv1 Makro
Dim Fso
Dim wb As Workbook
Dim ws As Worksheets
Set Fso = CreateObject("Scripting.FileSystemObject")
Dim Range As Variant
Dim Linie, Datum As String
Datum = Worksheets("Tabelle1").Range("A37")
Linie = Worksheets("Tabelle1").Range("A39")
If Fso.FileExists("C:\MDE\2007\Zeiten\Linie & Datum") Then
Application.ScreenUpdating = False
MsgBox "Datei existiert bereits!" & vbOKOnly
Else
Worksheets("Tabelle1").Range("B1:AF30").Copy Workbooks.Add.Sheets(1).Range("A1")
Selection.Copy
Workbooks.Add
ActiveSheet.Paste
ActiveSheet.Range("A2").Select
Application.CutCopyMode = False
ActiveWorkbook.SaveAs Filename:="C:\MDE\2007\Zeiten\Linie & Datum.xls", FileFormat:= _
xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, CreateBackup:=False
ActiveWindow.Close
ActiveWorkbook.ActiveSheet.Range("A1").Select
Worksheets("Start").Activate
Range("G29").Select
Application.ScreenUpdating = True
End If
End Sub


Anzeige
AW: Makro-Laufzeitfehler
29.04.2008 15:52:04
Renee
Hallo manS (fiese Eltern, was ?)
Wie heisst deine Arbeitsmappe?
Wo steht dieses Makro (Modul, Arbeitsmappe, Tabellenblatt) ?
GreetZ Renée

AW: Makro-Laufzeitfehler
29.04.2008 15:59:46
manS
Hallo Renèe,
meine Arbeitsmappe heißt "Überprüfung MDE Abfrage kompl." und das Makro steht in einem Modul.
Es ist einem Button im Tabellenblatt1 zugeordnet. Bei Klick soll geprüft werden, ob eine Datei schon vorhanden ist, wenn nicht, soll eine erstellt werden und der Bereich B1:AF30 kopiert und eingefügt werden.
Gruß, manS

Ja. owT
29.04.2008 16:02:53
Rudi

AW: Ja. owT
29.04.2008 16:09:25
manS
Hallo Rudi,
habe ich gemacht, erhalte aber immer noch Fehlermeldung " Laufzeitfehler 9 - Index außerhalb des gültigen Bereichs - " Vielen Dank!

Sub csv1()
' csv1 Makro
Dim Fso
Dim wb As Workbook
Dim ws As Worksheets
Set Fso = CreateObject("Scripting.FileSystemObject")
Dim Range As Variant
Dim Linie, Datum As String
Datum = Worksheets("Tabelle1").Range("A37")
Linie = Worksheets("Tabelle1").Range("A39")
If Fso.FileExists("C:\MDE\2007\Zeiten\Linie & Datum") Then
Application.ScreenUpdating = False
MsgBox "Datei existiert bereits!" & vbOKOnly
Else
Worksheets("Tabelle1").Range("B1:AF30").Copy Workbooks.Add.Sheets(1).Range("A1")
ActiveSheet.Range("A2").Select
Application.CutCopyMode = False
ActiveWorkbook.SaveAs Filename:="C:\MDE\2007\Zeiten\Linie & Datum.xls", FileFormat:= _
xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, CreateBackup:=False
ActiveWindow.Close
ActiveWorkbook.ActiveSheet.Range("A1").Select
Worksheets("Start").Activate
Range("G29").Select
Application.ScreenUpdating = True
End If
End Sub


Anzeige
AW: Ja. owT
29.04.2008 16:20:19
Rudi
Hallo,
dann lad doch mal die Mappe hoch.
Gruß
Rudi

AW: Ja. owT
29.04.2008 16:55:00
Rudi
hallo,

Sub csv1()
' csv1 Makro
Dim Fso
Dim wb As Workbook
Dim ws As Worksheets
Set Fso = CreateObject("Scripting.FileSystemObject")
Dim Range As Variant
Dim Linie, Datum As String
Datum = Worksheets("Tabelle1").Range("A37")
Linie = Worksheets("Tabelle1").Range("A39")
If Fso.FileExists("C:\MDE\2007\Zeiten\Linie " & Datum) Then
Application.ScreenUpdating = False
MsgBox "Datei existiert bereits!" & vbOKOnly
Else
Worksheets("Tabelle1").Range("B1:AF30").Copy
Workbooks.Add
ActiveSheet.Paste
Application.CutCopyMode = False
Range("A2").Select
ActiveWorkbook.SaveAs Filename:="C:\MDE\2007\Zeiten\Linie  & Datum.xls", FileFormat:= _
xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, CreateBackup:=False
ActiveWorkbook.Close
Range("A1").Select
Application.ScreenUpdating = True
End If
End Sub


Anzeige
AW: Ja. owT
29.04.2008 17:10:00
mumpel
Ich habe den Code mal vereinfacht. Vielleicht geht es ja so.
Sub csv1()
Dim Datei As String
Dim Datum As String
Dim Linie As String
Application.ScreenUpdating = False
Datum = Worksheets("Tabelle1").Range("A37")
Linie = Worksheets("Tabelle1").Range("A39")
Datei = ("C:\MDE\2007\Zeiten\Linie " & Datum & ".xls")
If Dir(Datei) <> "" Then
MsgBox "Datei existiert bereits!", vbOKOnly + vbExclamation, "Achtung"
Application.ScreenUpdating = True
Else
Worksheets("Tabelle1").Range("B1:AF30").Copy Workbooks.Add.Sheets(1).Range("A1")
ActiveSheet.Range("A2").Select
Application.CutCopyMode = False
ActiveWorkbook.SaveAs Datei
ActiveWindow.Close
ActiveWorkbook.ActiveSheet.Range("A1").Select
Worksheets("Tabelle1").Activate
Range("G29").Select
Application.ScreenUpdating = True
End If
End Sub


Anzeige
AW: Und noch ne Variante...
29.04.2008 17:11:38
Renee
Hallo,
Ich zwar den direkten Fehler nicht gefunden, aber einen Haufen Unlogik und Typfehler:
So:

Option Explicit
Sub csv1()
' csv1 Makro
Dim Fso
Dim Linie As String, Datum As String, sFileName As String
Datum = ActiveSheet.Range("A37").Value
Linie = ActiveSheet.Range("A39").Value
sFileName = "C:\MDE\2007\Zeiten\" & Linie & "_" & Datum & ".xls"
Set Fso = CreateObject("Scripting.FileSystemObject")
If Fso.FileExists(sFileName) Then
Application.ScreenUpdating = False
MsgBox "Datei [" & sFileName & "] existiert bereits!", vbOKOnly + vbCritical, "Sichern"
Else
Application.ScreenUpdating = False
Workbooks.Add (xlWBATWorksheet)
ThisWorkbook.Worksheets("Tabelle1").Range("B1:AF30").Copy _
Destination:=ActiveSheet.Range("A1")
ActiveWorkbook.SaveAs Filename:=sFileName, FileFormat:=xlNormal, _
Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
ActiveWindow.Close
Application.ScreenUpdating = True
End If
End Sub


GreetZ Renée

Anzeige
Danke!!
29.04.2008 18:23:00
manS
Hallo zusammen,
vielen Dank für die vielen Vorschläge!! Werde gleich alles ausprobieren, und dann natürlich ein Feedback liefern!! Wie gesagt: Bin VBA-Rookie und gerade in der Anfangsphase....;-) Grüße, manS

AW: Und noch ne Variante...
29.04.2008 20:20:00
manS
Hallo Renèe,
Volltreffer!! Vielen, vielen Dank für Deine Bemühungen!!! Und natürlich auch ein ganz großes Dankeschön an Rudi, mumpel und Knut!!
Bei Rudi`s Variante hat er mir "Laufzeitfehler 13 - Typen unverträglich" und bei mumpel "Laufzeitfehler 9 - Index außerhalb des gültigen Bereichs" ausgeworfen. Aber ist ja auch kein Wunder, wenn ich schon zu Anfang so viel Unlogik und Typfehler reingebracht habe ;-) VBA-Anfänger halt! Nochmals vielen Dank, Ihr habt mir sehr geholfen!!! Gruß, manS

Anzeige
Danke an Renèe, Rudi, mumpel und Knut!!
29.04.2008 20:23:00
manS
Hallo Renèe,
Volltreffer!! Vielen, vielen Dank für Deine Bemühungen!!! Und natürlich auch ein ganz großes Dankeschön an Rudi, mumpel und Knut!!
Bei Rudi`s Variante hat er mir "Laufzeitfehler 13 - Typen unverträglich" und bei mumpel "Laufzeitfehler 9 - Index außerhalb des gültigen Bereichs" ausgeworfen. Aber ist ja auch kein Wunder, wenn ich schon zu Anfang so viel Unlogik und Typfehler reingebracht habe ;-) VBA-Anfänger halt! Nochmals vielen Dank, Ihr habt mir sehr geholfen!!! Gruß, manS

Keine Ursache, aber...
29.04.2008 21:27:00
Renee
mein Strichle guckt in die falsche Richtung ;-)
Freut mich, dass es dich freut.
GreetZ Renée

Sorry....,
29.04.2008 21:44:19
Stephan
vielen Dank nochmal!! War bestimmt nicht das letzte Mal hier....;-)
Grüße, Stephan

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige