VBA Copy/Paste über ext. Datei und Auswahlliste
29.10.2014 22:55:27
Thomas
Ich bin wieder total gerädert.
Seit Stunden sitzte ich an folgendem Problem:
ich möchte aus einer Listbox (die über einen Button geöffnet wird) auf eine ausgewählte (externe und bereits geöffnete) Datei zugreifen, und dann von der ausgewählten Datei in einem Tabellenblatt Werte kopieren.
Anschließend sollen die kopierten Werte in das aktuelle Tabellenblatt in einem bestimmten Bereich eingefügt werden. Eigentlich doch ganz simpel?!
Leider wird die ausgewählte Datei in der Listbox nicht erkannt und die msgbox gibt die Meldung "Bitte eine Datei auswählen" (wenigstens das funktioniert).
Ich denke an dem Fettgedrucktem Code liegt der Fehler?!? Ich freue mich über jede Hilfe.
Grundlage des VBA-Codes war das Video von Andreas Thehos: "Tabellenblätter einer Arbeitsmappe auflisten und auswerten". Ich brauche allerdings nur bestimmte Bereiche die kopiert und eingefügt werden müssen.
Private Sub cmdAbbruch_Click()
Unload Me
End Sub
Private Sub cmdEinlesen_Click()
'Dim wksaufruf As Worksheets 'Das Arbeitsblatt das ich aufrufe
Dim wksactive As Worksheet 'Das Blatt wo alles eingetragen wird (Ziel)
Dim wkbaufruf As Workbook 'Die Datei die ich aufrufe (Quelle)
On Error GoTo ErrorHandler
'Zielblatt = aktive Datei, aktives Blatt:
Set wksactive = ThisWorkbook.Worksheets("Variantenvergleich") 'Hier eingeben in welchem _
Tabellenblatt die Werte eingetragen werden sollen!
'Quellblatt = Datei, Blatt 1
Set wkbaufruf = Workbooks(lstdateien.Value).Worksheets("Zusammenfassung")
'Kopieren
wkbaufruf.Range("g16").Copy
'Einfügen
wksactive.Range("B9").PasteSpecial Paste:=xlValues
'Evtl. Quelle schließen mit:
'wkbaufruf.parent.close
'Set wksaufruf = Nothing
Set wkbaufruf = Nothing
Set wksactive = Nothing
Unload Me
Exit Sub
ErrorHandler:
MsgBox "Bitte eine Datei auswählen.", vbInformation, "Datei wählen"
Exit Sub
End Sub
Private Sub UserForm_initialize()
Dim wkb As Workbook
For Each wkb In Workbooks
lstDateinamen.AddItem wkb.Name
Next wkb
Set wkb = Nothing
End Sub