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

Gruppierte Tabellenblätter kopieren per Makro ?

Gruppierte Tabellenblätter kopieren per Makro ?
25.05.2004 10:33:52
ralle
Hallo liebe Leute,
habe folgendes Problem, dass ich mit Eurer Hilfe zu lösen versuche:
Habe eine Arbeitsmappe mit mehreren Tabellenblättern. Von diesen Tabellenblättern makieren ich nun einige (gruppieren). Nun möchte ich per Makro erreichen, das diese ausgewählten Tabellenblätter in eine neue Arbeitsmappe kopiert werden.
Wie müsste ein Makro dazu aussehen.
Für Eure Mühe habt vielen Dank!
Gruß
ralle
AW: Gruppierte Tabellenblätter kopieren per Makro ?
Kurt

Sub Blattkopie()
Sheets(Array("Tabelle4", "Tabelle1")).Copy
End Sub

Kurt
AW: Gruppierte Tabellenblätter kopieren per Makro ?
25.05.2004 10:43:56
ralle
Hallo Kurt,
vieln dank für das Makro. Habe aber noch ein Problem. Die ausgewählten Tabellenblätter sind Variabel. Somit klappt das nicht mit
Sheets(Array("Tabelle4", "Tabelle1")).Copy
Vielleicht hast Du oder die anderen noch eine andere Lösung?
Gruß
ralle
AW: Gruppierte Tabellenblätter kopieren per Makro ?
Kurt
Wie wird die Auswahl der Blätter denn festgelegt?
Kurt
AW: Gruppierte Tabellenblätter kopieren per Makro ?
ralle
... druch folgendes Makro:
Option Explicit

Private Sub cmbFile_Click()
FillList
End Sub


Private Sub cmdCancel_Click()
'Userform schliessen
Unload Me
End Sub


Private Sub cmdDelete_Click()
Dim intC As Integer
On Error GoTo FEHLER
Workbooks(cmbFile.Text).Activate
If lstSheet.ListCount > 1 Then
With Application
.ScreenUpdating = False
.DisplayAlerts = False
End With
With lstSheet
For intC = 0 To .ListCount - 1
If .Selected(intC) Then Workbooks(cmbFile.Text).Sheets(.List(intC)).Select False
Next
End With
Else
MsgBox "Die ausgewählte Datei enthält nur ein Tabellenblatt!", vbExclamation
End If
FEHLER:
FillList
With Application
.ScreenUpdating = True
.DisplayAlerts = True
End With
End Sub


Private Sub UserForm_Initialize()
Dim wkb As Workbook
'ComboBox füllen
For Each wkb In Application.Workbooks
cmbFile.AddItem wkb.Name
Next
'cmbFile.ListIndex = 0
cmbFile = ActiveWorkbook.Name
FillList
End Sub


Private Sub FillList()
Dim wks As Worksheet
'ListBox füllen
lstSheet.Clear
For Each wks In Workbooks(cmbFile.Text).Sheets
lstSheet.AddItem wks.Name
Next
End Sub

Aber zur vereinfachung kann ich die Tabellenblätter natürlich auch manuell auswählen, durch gedrückter STRG-Taste und linker Maustaste.
Gruß
ralle
Anzeige
AW: Gruppierte Tabellenblätter kopieren per Makro ?
Kurt
Dim arrSheets() as string
'......
For intC = 0 To .ListCount - 1
If .Selected(intC) Then Workbooks(cmbFile.Text).Sheets(.List(intC)).Select False
redim Preserve(arrSheets(intC)
arrSheets(intC) = Sheets(.List(intC)).Name
Next
Sheets(arrSheets).copy
'......
Kurt
AW: Gruppierte Tabellenblätter kopieren per Makro ?
25.05.2004 13:00:54
ralle
Hallo habe mein Makro geändert(siehe nachfolgend)
Dim arrsheets() As String
Dim intC As Integer
On Error GoTo fehler
Workbooks(cmbFile.Text).Activate
If lstSheet.ListCount &gt 1 Then
With Application
.ScreenUpdating = False
.DisplayAlerts = False
End With
With lstSheet
For intC = 0 To .ListCount - 1
If .Selected(intC) Then Workbooks(cmbFile.Text).Sheets(.List(intC)).Select False
redim Preserve(arrSheets(intC)
arrsheets(intC) = Sheets(.List(intC)).Name
Next
Sheets(arrsheets).Copy
Bekomme aber für die Zeile:
redim Preserve(arrSheets(intC)
folgende Fehlermeldung:
"Fehler beim Kompilieren. Erwarte: Bezeichner"
Was mache ich falsch ?
Gruß
ralle
Anzeige
AW: Gruppierte Tabellenblätter kopieren per Makro ?
Kurt
falsch: redim Preserve(arrSheets(intC)
richtig: redim Preserve(arrSheets(intC))
Kurt
Gruppierte Tabellenblätter kopieren per Makro ?
25.05.2004 14:52:03
ralle
...
habe ich geändert, trotdem noch die selbe Fehlermeldung!
Ich bin am verzweifeln.
Soll ich die Datei mit dem Makro mal hochladen ?
Gruß
ralle
AW: Gruppierte Tabellenblätter kopieren per Makro ?
25.05.2004 16:34:53
ralle
.... habe jetzt folgende Änderung vorgenommen:
vorher: redim Preserve(arrSheets(intC)
nacher: redim Preserve arrSheets(intC)
bekomme jeztzt keine Fehlermeldung mehr. Das Problem ist nur, dass nicht die ausgewählten Tabellenblätter kopiert werden, sondern die ganze Arbeitsmappe.
Hast Du vielleicht da noch eine Idee?
Gruß
ralle
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige