Habe Gestern schon folgende Frage gestellt: Habe mehrer Tabellenblätter, von denen ich einige aktiviere (gruppiere). Nun sollen die Gruppierten Tabellenblätter in eine neue Arbeitsmappe kopiert werden.
Auf diese Frage habe ich nachfolgendes Makro von Kurt bekommen, leider funktioniert es nicht richtig.
LÖSUNGSVORSCHLAG VON KURT:
Option Explicit
Private Sub cmbFile_Click()
FillList
End Sub
Private Sub cmdCancel_Click()
'Userform schliessen
Unload Me
End Sub
Private Sub cmdDelete_Click()
Dim arrsheets() As String
Dim Blatt As Worksheet
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
ReDim Preserve arrsheets(intC)
arrsheets(intC) = Sheets(.List(intC)).Name
Next
For Each Blatt In ActiveWindow.SelectedSheets
Sheets(arrsheets).Copy
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
Beim Ablauf des Makros werden die Tabellenblätter zwar gruppiert aber nicht in eine neue Arbeitsmappe kopiert. Was muss ich am Makro ändern? Ist mein Vorhaben überhaupt relisierbar ?
Gruß
ralle