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

Tabellenblätter über VBA kopieren, ABER...

Tabellenblätter über VBA kopieren, ABER...
20.09.2006 08:58:48
Uwe
Guten Morgen ins Land der Wissenden...
Einmal mehr würde mich des Rätsels Lösung faszinieren! Vielleicht einfacher als ich glaube? Nun denn...
In einer Arbeitsmappe habe ich drei Tabellenblätter angelegt, die jeweils in unterschiedlicher Anzahl kopiert und eben unterschiedlich benannt werden müssen. Das Problem hierbei ist, das ich derzeit nie wissen kann, wieviel dieser Blätter ich denn nun tatsächlich brauche. Lange Rede kurzer Sinn...
Wie frage ich über einen Eingabedialog ab:
1.) welche Blätter der User kopieren möchte
2.) wie viele Blätter er davon anlegen muß
Die Benennung der Blätter erfolgt dann in einem weiteren Schritt. Diese Daten sollen aus einer "externen" Arbeitsmappe eingelesen werden.
Nun wär mir natürlich erst einmal damit geholfen, zu wissen, wie ich denn die benötigten Blätter automatisch über VBA kpopieren kann.
Besten Dank für Eure Hilfe.
Uwe

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Tabellenblätter über VBA kopieren, ABER...
20.09.2006 23:15:26
fcs
Hallo Uwe,
hier mal eine einfache Variante in der die Anzahl der gewünschten Kopien für jedes Blatt in einer Eingabebox eingegeben wird.
Mit einem Userform könnte man die Eingabe für alle 3 Blätter gleichzeitig machen, aber es ist auch etwas mehr Programmieraufwand nötig.
Gruß
Franz

Sub BlaetterKopieren()
Dim strBlatt(1 To 3) As String
Dim iAnzahl(1 To 3) As Integer
Dim wbQuelle As Workbook, wbZiel As Workbook
Set wbQuelle = ThisWorkbook
Set wbZiel = ActiveWorkbook 'Arbeitsmappe in die die Blätter kopiert werden sollen
With wbQuelle
'Namen der 3 zu Kopierenden Tabellen festlegen
strBlatt(1) = "Tab1"
strBlatt(2) = "Tab2"
strBlatt(3) = "Tab3"
'Anzahl der Kopien der einzelnen Blätter eingeben
For i = 1 To UBound(strBlatt)
iAnzahl(i) = Val(InputBox("Wieviele Kopien von Blatt """ & strBlatt(i) & """?", "Blätter kopieren", 0))
Next i
End With
'Blätter in Zieldatei jeweils am Ende einfügen und temporär umbenennen
For i = 1 To UBound(strBlatt)
For J = 1 To iAnzahl(i)
wbQuelle.Sheets(strBlatt(i)).Copy after:=wbZiel.Sheets(wbZiel.Sheets.Count)
ActiveSheet.Name = strBlatt(i) & Format(J, "00")
Next J
Next i
End Sub

Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige