Collapse column

Autor Thema: Daten per Button aus einer anderen Exceldatei einlesen  (Gelesen 623 mal)

Offline Botpenner

  • Newbie
  • *
  • Beiträge: 5
    • Profil anzeigen
  • Office-KnowHow: Amateur
  • VBA-KnowHow- : Mittelmäßig
  • Version [Office] : Office 2016
Daten per Button aus einer anderen Exceldatei einlesen
« am: Juli 13, 2017, 16:21:09 Nachmittag »
Hallo Freunde,

ich bin gerade dabei ein Button zu programmieren der bei Knopfdruck eine Excel datei einliest und ein zuvor gewähltes Tabellenblat in meine Datei kopiert.

Die Definition des Tabellenblattes welches er kopieren soll steht in "B2" meiner Tabelle ( die mit dem Button ).
Er soll dann die Tabelle in meine Zieldatei kopieren .  Das blatt hierfür lautet "import"

Ich schaffe es niccht den Blattnamen zu definieren. Es kommt immer Laufzeitfehler an.

So sieht mein code aus:

Sub Import_mit_Dialog()
Dim Quelle As Object, Ziel As Object
Dim Datei As String
 
On Error GoTo Fehler
 
'Dialog "Datei öffnen" anzeigen
Datei = Application.GetOpenFilename("Excel-Dateien(*.xlsx),*xlsx")
 
'Abbrechen falls keine Datei ausgewählt
If Datei = "Falsch" Then
  MsgBox "keine Datei ausgewählt", , "Abbruch"
  Exit Sub
End If
 
'MsgBox "Ausgewählte Datei: " & Datei, , ""
 
'Ausgewählte Datei öffnen
Workbooks.Open Filename:=Datei
 
 
'** Auslesen der gewählten Tabelle
'** Angenommen die Blatt-Auswahl "Airbus" und "Bombadier" stehen in Zelle B10
'** Wichtig: die Auswahl muss genauso lauten, wie die Tabellenblätter von denen kopiert werden soll

 

Set Ziel = ThisWorkbook.Worksheets("import")

blatt = Ziel.Range("B2").Value

Set Quelle = ActiveWorkbook.Worksheets(blatt) '<-- gewähltes Blatt wird definiert als Quelle, alles andere wie gehabt

 

 
'kopieren und einfügen
Quelle.UsedRange.Copy Ziel.Cells(1, 1)
 
 ActiveWorkbook.Close Application.DisplayAlerts = True
MsgBox "Import abgeschlossen!"
 
'Speicher freigeben
Set Quelle = Nothing
Set Ziel = Nothing
 
Exit Sub
 
Fehler:
Set Quelle = Nothing
Set Ziel = Nothing
 
    MsgBox "FehlerNr.: " & Err.Number & vbNewLine & vbNewLine _
    & "Beschreibung: " & Err.Description _
    , vbCritical, "Fehler"
End Sub


Muss ich die Zelle B2 in ein bestimmtes format bringen?
Die Eingabe in B2 stimmt zu 100% überein mit dem Blattnamen aus der Quelldatei di er kopieren soll.

Sobald ich den begriff "blatt" herausnehme und einen festen Blatnamen eintrage im Code, funktioniert es.
Ich möchte aber gerne das man zuvor in Zelle B2 den Namen der Tabelle eingibt die man aus der Quelldatei kopieren möchte.
Ich bin am verzweifeln

Keine Lösung gefunden? Du kannst Dich gerne an unser erfahrenes Experten-Team wenden und Dein Anliegen in Auftrag geben.
>>> Schnell und einfach ein unverbindliches Angebot anfordern. Per E-Mail an anfrage@excel-inside.de oder per Online-Formular
<<<

!!! Wichtige Information
!!! Dieses Forum steht aus technischen Gründen ab dem 11. September 2019 nur noch im Lesemodus zur Verfügung.
Das NEUE Office-Fragen-Forum kannst du aber unter der gewohnten Domain https://office-fragen.de wie gewohnt nutzen.

- Wir freuen uns auf deinen Besuch im neuen Forum.