warum fehlermeldung?

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
MsgBox
Bild

Betrifft: warum fehlermeldung? von: dunya
Geschrieben am: 23.02.2005 11:09:36

Ich habe folgendes Makro:

Sub makro()
Dim fn
Dim arbeitsmappe As String
Dim datei As String
fn = Application.GetOpenFilename(FileFilter:="Textdateien,*.txt", Title:="Bitte Datei auswählen")
Application.ScreenUpdating = False
arbeitsmappe = ActiveWorkbook.Name
If fn = False Then
    MsgBox "Benutzerabbruch"
    Exit Sub
Else  
    Workbooks.Open fn
    Workbooks.OpenText Filename:= _
        fn _
        , Origin:=xlWindows, StartRow:=1, DataType:=xlDelimited, TextQualifier _
        :=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, Semicolon:= _
        False, Comma:=False, Space:=False, Other:=False, FieldInfo:=Array(1, 1) _
        , DecimalSeparator:=".", ThousandsSeparator:=" "
    Range("A:A").Copy Workbooks(arbeitsmappe).ActiveSheet.Range("iv1").End(xlToLeft).Offset(0, 0)
    ActiveWorkbook.Close False
End If
Application.ScreenUpdating = True
End Sub


das makro funktioniert eigentlich, aber ich bekomme immer eine fehlermeldung, wenn ich excel neu starte und anschließend das makro zum ersten mal aufrufe. beim zweiten aufruf klappt dann alles wieder.

(fehlermeldung: index außerhalb des gültigen bereichs)
folgender befehl wird dann gekennzeichnet:

Range("A:A").Copy Workbooks(arbeitsmappe).ActiveSheet.Range("iv1").End(xlToLeft).Offset(0, 0)

kann mir jemand weiterhelfen?
Bild


Betrifft: AW: warum fehlermeldung? von: Nike
Geschrieben am: 23.02.2005 13:15:13

Hi,

es geht nur ein open

entweder
Workbooks.Open fn
oder
Workbooks.OpenText Filename:= _

ansonsten mal so versuchen:

Sub makro()
dim wkb as workbook
dim wks as worksheet
Dim fn as Variant
Dim arbeitsmappe As String
Dim datei As String
fn = Application.GetOpenFilename(FileFilter:="Textdateien,*.txt", Title:="Bitte Datei auswählen")
Application.ScreenUpdating = False
If fn = False Then
    MsgBox "Benutzerabbruch"
    Exit Sub
Else  
set wkb = activeworkbook
set wks = activeworksheet
    'Workbooks.Open fn
    Workbooks.OpenText Filename:= _
        fn _
        , Origin:=xlWindows, StartRow:=1, DataType:=xlDelimited, TextQualifier _
        :=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, Semicolon:= _
        False, Comma:=False, Space:=False, Other:=False, FieldInfo:=Array(1, 1) _
        , DecimalSeparator:=".", ThousandsSeparator:=" "
    ActiveWorkbook.Range("A:A").Copy wks.Range("IV:IV")
    ActiveWorkbook.Close False
set wkb = nothing
set wks = nothing
End If
Application.ScreenUpdating = True
End Sub


Bye

Nike


 Bild

Beiträge aus den Excel-Beispielen zum Thema "warum fehlermeldung?"