Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: kopieren von einer in andere Tabelle

kopieren von einer in andere Tabelle
10.09.2007 16:05:34
einer
Hallo, ich versuche mehrere Tabellen zu sortieren und später in Access zu importieren.
um meine Dateien zu sortieren hab ich folgende fkt. geschrieben,
Datei öffnen
sheets durchlaufen
sheets kopieren
Datei schliessen

Function oeffnen(Dateiname)
Application.Workbooks.Open (Dateiname)
Dim namewks As String
For i = 1 To ActiveWorkbook.Worksheets.Count
SheetName = ActiveWorkbook.Sheets(i).Name
If InStr(1, SheetName, "Wert") Then
tmp = Dir(Dateiname & Dateien)
Windows(tmp).Activate
Sheets(SheetName).Select
Sheets(SheetName).Move After:=Workbooks("Haupttabelle_Wert.xls").Sheets(1)
Else
Windows(tmp).Activate
Sheets(SheetName).Select
Sheets(SheetName).Move After:=Workbooks("Haupttabelle_Lager.xls").Sheets(3)
End If
Next i
Workbooks.Close
End Function


beim kopieren bricht mein programm ab.
auch wenn ich die xls Datei manuell geöffnet habe?
vielen Dank für eure Hilfe :-)

Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: kopieren von einer in andere Tabelle
10.09.2007 16:56:25
einer
Hallo
Ohne nun zu einer Lösung beizutragen, habe ich mal meine Anmerkungen in deinen Code geschrieben, in der Hoffnung dass du auf den richtigen Weg kommst
Option Explicit

'Wie wird "Dateiname" übergeben ?
'Als String oder als Object
Function oeffnen(Dateiname)
    'Ohne Klammern
    Application.Workbooks.Open Dateiname
    'Wozu ?
    'diese Variable wird im ganzen Code nicht mehr verwendet
    Dim namewks As String
    'Wo ist ist "i" deklariert
    For i = 1 To ActiveWorkbook.Worksheets.Count
        'Wo ist "Sheetname" deklariert
        SheetName = ActiveWorkbook.Sheets(i).Name
        If InStr(1, SheetName, "Wert") Then
            'Wo ist "tmp" deklariert
            'Woher kommt "Dateien" ?
            'Was willst du mit dieser Anweisung erreichen
            'Deine Datei ist doch schon offen
            tmp = Dir(Dateiname & Dateien)
            Windows(tmp).Activate
            'Ist unnötig und kann gelöscht werden
            'Sheets(SheetName).Select
            'Das reicht
            Sheets(SheetName).Move After:=Workbooks("Haupttabelle_Wert.xls").Sheets(1)
        Else
            'Wozu nun "tmp" ?
            'Trifft die obere IF_Bedingung nicht zu
            'hat die Variable keinen Wert und dann kracht's
            Windows(tmp).Activate
            'Nicht nötig und kann gelöscht werden
            'Sheets(SheetName).Select
            Sheets(SheetName).Move After:=Workbooks("Haupttabelle_Lager.xls").Sheets(3)
        End If
    Next i
    'Welches Workbook denn ?
    Workbooks.Close
End Function

Sollte bei deinem Level ja kein Problem sein
Gruss Rainer

Anzeige
Vba gut>Function>sortieren>Bahnhof ... owT
10.09.2007 17:02:00
Renee
;

Forumthreads zu verwandten Themen

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