Anzeige
Archiv - Navigation
1364to1368
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
Inhaltsverzeichnis

Über Listbox ausgewählte sheets speichern

Über Listbox ausgewählte sheets speichern
17.06.2014 10:42:44
Elias
Guten Tag
Ich habe folgendes Problem und hoffe, dass ihr mir helfen könnt:
Ich habe ein Workbook mit über 50 Sheets und habe mir dazu nun eine UserForm eingerichtet, bei der ich über eine ListBox mehrere Sheets auswählen kann und über zwei TextBoxen Name und Pfad zum speichern der neu anzulegenden Datei eingeben kann.
Ziel ist es, dass ein neues Workbook mit dem Namen aus der TextBox im angegebenen Pfad gespeichert wird und dann die (mehreren!) ausgewählten Sheets in dieses neue Workbook hineingespeichert werden.
Wenn ich den Code laufen lasse, kommt eine Fehlermeldung: Indes ausserhalb des gültigen Bereichs.
Die Datei wurde erstellt, und das erste in der ListBox angewählte Sheet auch hineinkopiert. Die weiteren Sheets fehlen aber...
Hier ist mein Code. Könnt ihr mir sagen, was ich falsch gemacht habe?

Private Sub CommandButton4_Click()
Dim wbk As Workbook
Workbooks.Add
Set wbk = ActiveWorkbook
wbk.SaveAs TextBox1.Text & "\" & TextBox2.Text & ".xlsx"
With ListBox1
For i = 0 To ListBox1.ListCount - 1
If .Selected(i) Then
Workbooks("Template_KST_Übersicht_2014_Bericht_erstellen_Test").Activate
Sheets(.List(.ListIndex)).Copy After:=Workbooks(TextBox2.Text & ".xlsx").Sheets(i)
wbk.Close savechanges = False
End If
Next
End With
End Sub

Private Sub UserForm_Initialize()
TextBox1.Text = ThisWorkbook.Path
TextBox2.Text = "Dateiname"
With Me.ListBox1
.Clear
For Each blatt In ActiveWorkbook.Sheets
If blatt.Visible = xlSheetVisible Then
.AddItem blatt.Name
End If
Next
End With
End Sub

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Über Listbox ausgewählte sheets speichern
17.06.2014 10:53:08
Rudi
Hallo,
Private Sub CommandButton4_Click()
Dim wbk As Workbook, i As Integer
Set wbk = Workbooks.Add(1)
wbk.SaveAs TextBox1.Text & "\" & TextBox2.Text, xlOpenXMLWorkbook
With ListBox1
For i = 0 To .ListCount - 1
If .Selected(i) Then
ThisWorkbook.Sheets(.List(i)).Copy After:=wbk.Sheets(wbk.Sheets.Count)
End If
Next
End With
wbk.Close True
End Sub

Gruß
Rudi

AW: Über Listbox ausgewählte sheets speichern
17.06.2014 11:24:23
Elias
Wow. Vielen Dank! Funktioniert soweit super.
Nun noch eine Frage:
Was müsste ich am Code noch ändern, damit er mir nur die Werte rauskopiert und keine Formeln? Ich habe in der Originaldatei mehrere S-Verweise etc. Zudem sollten die per Makro ausgeblendeten Zeilen in der Originaldatei auch im neuen Worksheet ausgeblendet sein.
Vielen Dank!
Gruss Elias

Anzeige
AW: Über Listbox ausgewählte sheets speichern
17.06.2014 11:32:46
Rudi
Hallo,
1.
Private Sub CommandButton4_Click()
Dim wbk As Workbook, i As Integer
Set wbk = Workbooks.Add(1)
wbk.SaveAs TextBox1.Text & "\" & TextBox2.Text, xlOpenXMLWorkbook
With ListBox1
For i = 0 To .ListCount - 1
If .Selected(i) Then
ThisWorkbook.Sheets(.List(i)).Copy After:=wbk.Sheets(wbk.Sheets.Count)
With wbk.Sheets(wbk.Sheets.Count).Cells
.Copy
.PasteSpecial xlPasteValues
End With
End If
Next
End With
Application.CutCopyMode = False
wbk.Close True
End Sub
2. sollte doch noch immer so sein.
Gruß
Rudi

AW: Über Listbox ausgewählte sheets speichern
17.06.2014 12:38:19
Elias
Danke. Beides funktioniert nun. Das mit den ausgeblendeten Zeilen hat schon vorher funktioniert. Hab vergessen, die Zeilen in der Originaldatei auszublenden...
Gruss
Elias
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige