title image


Smiley Re: Von Tabelle A in Tabelle B kopieren, Tabelle A schließen...
hallo Elektroman,



bezogen auf Deine letzte Frage gehe ich davon aus, das für jedes Land, das zwar auf "Notes" aufgeführt ist, für das aber kein eigenes Worksheet existiert, eins angelegt werden soll, das seinen Inhalt aus einer Vorlage bekommt.

In Deinem Code wird kein Worksheet angelegt und da man diese nicht komplett aus anderen Workbooks kopieren kann, funktioniert es nicht. Bezogen auf meinen letzten Code ergibt sich somit folgende Erweiterung:











Sub pruefen2()

Dim Laender(100) As String ' Array der Länder

Dim Sheets(100) As String ' Array der vorh. Worksheets

Dim TabelleA As String, TabelleB As String



Dim ok As Boolean



   Worksheets("Notes").Activate 'sicher ist sicher...

   

   ' Arrays füllen, die Länder stehen in C47 - C50

   For i = 0 To 3

      Laender(i) = Range("C" & i + 47).Value '1.Arrayelement hat die Nummer 0!

   Next i

   For i = 0 To Worksheets.Count - 1

      Sheets(i) = Worksheets(i + 1).Name

   Next i

   

   TabelleA = ActiveWorkbook.Name

   

   

   For j = 0 To UBound(Laender)

      If Laender(j) = "" Then Exit For ' Ausstieg nach letztem Land

      ok = False

      For i = 0 To UBound(Sheets)

         If Sheets(i) = "" Then Exit For ' Ausstieg nach letztem Sheetnamen

         If Sheets(i) = Laender(j) Then

            ok = True

         End If

      Next i

      If ok = False Then   ' ein neues Worksheet via Copie/Past erschaffen.

         ' Vorlage öffnen

         Workbooks.Open Filename:="C:\Eigene Dateien\Excel\Vorlage.xls"

         TabelleB = ActiveWorkbook.Name

         

         'neues Worksheet in A an Position 2   ' oder besser ans Ende??

         With Workbooks(TabelleA)

            .Sheets.Add After:=.Sheets(1)

            .Sheets(2).Name = Laender(j)

         End With

         

         'Inhalt des Sheets kopieren

         With Workbooks(TabelleB).Worksheets(1).Range("B5:K7")

            .Copy

            .PasteSpecial Paste:=xlPasteValues             ' Inhalte umwandeln - ist das nötig??

            .Copy Destination:=Workbooks(TabelleA).Sheets(2).Range("A1") ' wieso eigentlich nach A1???

         End With

         

         'Tabelle B schlissen ohne zu speichern

         Workbooks(TabelleB).Close savechanges:=False

      End If

   Next j

   'Tabelle A schlissen und speichern

   'Workbooks(TabelleB).SaveAs "C:\Eigene Dateien\Excel\neu.xls"



End Sub

Code eingefügt mit Syntaxhighlighter 1.14

geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: