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

Forumthread: Tabellen in Datei kopieren

Tabellen in Datei kopieren
Tobiax
Hallo!
Ich möchte gerne einige meiner Tabellen per Makro in eine Andere Datei kopieren.
Allerdings sollen nur die Werte und das Format in den 4 Tabellenblätter übernommen werden. Die Formeln nicht.
Die beiden Dateien liegen IMMER im selben Ordner.
Kann mir jmd helfen?
Toby ...
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Tabellen in Datei kopieren
25.07.2009 09:06:13
Tino
Hallo,
versuche es mal mit diesem Code.
Die Dateien dürfen nicht geschützt sein und die Tabellen auch nicht.
Pfad musst Du noch anpassen.
Option Explicit

Private Function AlleTabellen(objWB As Workbook)
Dim meAr() As String
Dim i As Integer, ii As Integer

For i = 1 To objWB.Sheets.Count
 If objWB.Sheets(i).Visible = xlSheetVisible Then
    Redim Preserve meAr(ii)
    meAr(ii) = objWB.Sheets(i).Name
    ii = ii + 1
 End If
Next i

AlleTabellen = meAr
End Function

Sub AlleDateien()
Dim strFile As String
Dim objFile As Workbook, tempFile As Workbook
Dim objSH As Worksheet
Dim iCalc As Integer

'Pfad anpassen, am ende auf \ achten ********* 
Const strPath As String = "C:\Mein Ordner\"

With Application
 iCalc = .Calculation
 .Calculation = xlCalculationManual
 .EnableEvents = False
 .ScreenUpdating = False

    strFile = Dir(strPath & "*.xls")
    
    Do While strFile <> ""
      
      If strFile Like "*.xls" Then
           Set tempFile = Workbooks.Open(strPath & strFile, , True)
        
           If objFile Is Nothing Then
            tempFile.Sheets(AlleTabellen(tempFile)).Copy
            Set objFile = ActiveWorkbook
           Else
            tempFile.Sheets(AlleTabellen(tempFile)).Copy After:=objFile.Sheets(objFile.Sheets.Count)
           End If
        
           tempFile.Close False
       End If
        
       strFile = Dir()
    
    Loop
    
    For Each objSH In objFile.Worksheets
     objSH.UsedRange.Value = objSH.UsedRange.Value
    Next objSH
 
 .Calculation = iCalc
 .EnableEvents = True
 .ScreenUpdating = True
End With
End Sub
Gruß Tino
Anzeige
AW: Tabellen in Datei kopieren
27.07.2009 11:35:55
Tobiax
Hallo!
Das Makro funktioniert nicht. Er packt mir alle Excel Dateien aus dem Ordner zusammen in eine.
Ich möchte aus der Datei x, 5 bestimmt Tabellenblätter in eine neue Datei kopiert haben.
Toby ...
AW: Tabellen in Datei kopieren
27.07.2009 11:58:40
Tino
Hallo,
vielleicht so,
in der Function kannst Du ja durch weitere If abfragen, bestimmte Tabellen ein oder ausschließen.
Private Function AlleTabellen(objWB As Workbook)
Dim meAr() As String
Dim i As Integer, ii As Integer

'hier eventuell mit If weitere Tabellen ein oder ausschließen 
For i = 1 To objWB.Sheets.Count
 If objWB.Sheets(i).Visible = xlSheetVisible Then
    Redim Preserve meAr(ii)
    meAr(ii) = objWB.Sheets(i).Name
    ii = ii + 1
 End If
Next i

AlleTabellen = meAr
End Function

Sub AlleDateien()
Dim strFile As String
Dim objFile As Workbook, tempFile As Workbook
Dim objSH As Worksheet
Dim iCalc As Integer

'Pfad anpassen, am ende auf \ achten ********* 
Const strPath As String = "C:\Mein Ordner\"

With Application
 iCalc = .Calculation
 .Calculation = xlCalculationManual
 .EnableEvents = False
 .ScreenUpdating = False

    strFile = Dir(strPath & "*.xls")
    
    Do While strFile <> ""
      
          If strFile Like "*.xls" Then
                   Set tempFile = Workbooks.Open(strPath & strFile, , True)
    
                   tempFile.Sheets(AlleTabellen(tempFile)).Copy
                   Set objFile = ActiveWorkbook
                   tempFile.Close False
                   
                   For Each objSH In objFile.Worksheets
                     objSH.UsedRange.Value = objSH.UsedRange.Value
                   Next objSH
           End If
            
           strFile = Dir()
    
    Loop
    

 
 .Calculation = iCalc
 .EnableEvents = True
 .ScreenUpdating = True
End With
End Sub
Gruß Tino
Anzeige
;

Forumthreads zu verwandten Themen

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