Anzeige
Archiv - Navigation
1432to1436
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

Arbeitsblätter einer Mappe anzeigen lassen

Arbeitsblätter einer Mappe anzeigen lassen
06.07.2015 09:41:33
P-Quest
Hallo,
ich möchte per VBA ein Arbeitsblatt aus einer Arbeitsmappe in eine andere kopieren. Leider sind der Name des Arbeitsblattes und die Position in der Arbeitsmappe immer unterschiedlich.
Gibt es eine Möglichkeit, sich die Namen der Arbeitsblätter einer Arbeitsmappe z.B. in einer Listbox oder einem Userform anzeigen zu lassen und das entsprechende Blatt dann per klick auszuwählen?
mfg
P-Quest:-)

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

Betreff
Datum
Anwender
Anzeige
AW: Antwort = Ja
06.07.2015 12:12:52
P-Quest
Hallo,
ich war wahrscheinlich zu unpräzise in meiner Frage. Hier etwas genauer und in den Bezeichnungen verallgemeinert:
Ich öffne eine Datei Ziel.xlsx. Dann wird per Makro aufgefordert die Quell.xlsx zu öffnen. Das entsprechende Datenblatt soll nun in die Ziel.xlsx kopiert werden. Danach werden bestimmte Daten aus diesem kopierten Tabellenblatt in eine Gesamtübersicht kopiert. Leider sind der Name des Arbeitsblattes und die Position in der Arbeitsmappe Quell.xlsx immer unterschiedlich.
Es wäre also von Vorteil, wenn ich nach dem öffnen der Quell.xlsx eine Auswahl öffnen könnte, mit deren Hilfe ich das entsprechende Tabellenblatt auswählen kann um es dann in die Ziel.xlsx kopieren zu lassen. Alles soll automatisiert geschehen und es soll auch nicht in die Quell.xlsx gewechselt werden.
Leider funktioniert das mit dem Lösungsvorschlag nicht.
Gruß,
P-Quest:-)

Anzeige
AW: Antwort = Ja
06.07.2015 12:41:51
Rudi
Hallo,
in ein Modul:
Public wbQ As Workbook

in DieseArbeitsmappe:
Private Sub Workbook_Open()
Dim vntSheets, ws As Worksheet
With Application.FileDialog(msoFileDialogFilePicker)
.Title = "Quelle wählen"
.AllowMultiSelect = False
.InitialFileName = "*.xls*"
If .Show Then
Set wbQ = Workbooks.Open(.SelectedItems(1))
For Each ws In wbQ.Worksheets
vntSheets = vntSheets & "|" & ws.Name
Next
With UserForm1
.ListBox1.List = Split(Mid(vntSheets, 2), "|")
.Show
End With
wbQ.Close False
End If
End With
End Sub

in Userform1 (nur eine Listbox):
Private Sub ListBox1_Click()
wbQ.Sheets(ListBox1.Value).Copy _
after:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)
Hide
End Sub
Gruß
Rudi

Anzeige
AW: Antwort = Ja
06.07.2015 13:10:59
P-Quest
Besten Dank!!!!!!!

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige