Clever-Excel-Forum

Normale Version: [VBA] Datei öffnen, bestimmte Zellen kopieren und in Ausgangsdatei einfügen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen,

folgendes (für euch Profis kleines) Problem,

ich bräuchte einen VBA Code, der mir den öffnen Dialog aufruft. Anschließend wähle ich eine Datei aus und aus dieser Datei sollen dann mehrere Zellen kopiert und in die Ausgangsdatei eingefügt werden.

Kann mir jemand von euch dazu einen "Basis" Code geben, den ich selber anpassen kann?

Danke im Voraus.
Hallöchen,

hier wäre mal ein Ansatz für einen Dateidialog, gefunden über die Suche nach Dialog Smile

Bild-via-Button-auswaehlen-und-in-Userform-Image-einfuegen

Ist in der Suche so etwa der zweite treffer, vom 07.11.2020, 08:31
Hallo zusammen,

ich habe das ganze jetzt durch folgenden Code gelöst:

Code:
Sub Werte_Übertragen()
  Dim oTargetBook As Object
  Dim oSourceBook As Object
  Dim sDatei As String
   
    Application.ScreenUpdating = False 'Das "Flackern" ausstellen
   
    'Schritt 1: Zieldatei festlegen
    Set oTargetBook = ActiveWorkbook
   
    'Schritt 2: Datei festlegen, öffnen und Daten übertragen
    ChDir ThisWorkbook.Path
    sDatei = Application.GetOpenFilename
    Set oSourceBook = Workbooks.Open(sDatei, False, True) 'nur lesend öffnen
   
    'übertragungen von einzelnen Zellen:
        oTargetBook.Sheets("Zieldatei").Range("B1").Value = _
        oSourceBook.Sheets("Ursprungsdatei").Range("D15").Value
       
        oTargetBook.Sheets("Zieldatei").Range("B2").Value = _
        oSourceBook.Sheets("Ursprungsdatei").Range("D17").Value
       
        oTargetBook.Sheets("Zieldatei").Range("B3").Value = _
        oSourceBook.Sheets("Ursprungsdatei").Range("E188").Value
       
        oTargetBook.Sheets("Zieldatei").Range("B4").Value = _
        oSourceBook.Sheets("Ursprungsdatei").Range("F188").Value
       
        oTargetBook.Sheets("Zieldatei").Range("B5").Value = _
        oSourceBook.Sheets("Ursprungsdatei").Range("G188").Value
       
        oTargetBook.Sheets("Zieldatei").Range("B6").Value = _
        oSourceBook.Sheets("Ursprungsdatei").Range("D200").Value
       
        oTargetBook.Sheets("Zieldatei").Range("B7").Value = _
        oSourceBook.Sheets("Ursprungsdatei").Range("D202").Value
       
        oTargetBook.Sheets("Zieldatei").Range("B8").Value = _
        oSourceBook.Sheets("Ursprungsdatei").Range("D204").Value
       
        oTargetBook.Sheets("Zieldatei").Range("B9").Value = _
        oSourceBook.Sheets("Ursprungsdatei").Range("D235").Value
       
        oTargetBook.Sheets("Zieldatei").Range("B10").Value = _
        oSourceBook.Sheets("Ursprungsdatei").Range("E237").Value
       
        oTargetBook.Sheets("Zieldatei").Range("B11").Value = _
        oSourceBook.Sheets("Ursprungsdatei").Range("E239").Value
       

   
    oSourceBook.Close False 'nicht speichern
   
    Application.ScreenUpdating = True 'Das Bildschirm-Aktualisieren wieder einschalten
   
    'Variablen aufräumen
    Set oTargetBook = Nothing
    Set oSourceBook = Nothing
End Sub

Dabei wird nach dem starten des Makros der "Öffnen" Dialog gestartet. Anschließend wählt man die Datei aus, aus der Werte kopiert werden sollen und danach gehts mit dem kopieren los. Die Ursprungsdatei wird nach dem Kopiervorgang automatisch geschlossen.



Code:
oTargetBook.Sheets("Zieldatei").Range("B1").Value = _
oSourceBook.Sheets("Ursprungsdatei").Range("D15").Value

Diesen Code kann man so oft kopieren wie man möchte, damit werden die Zellen angesprochen, die kopiert werden sollen.

Hoffe der Code kann der Nachwelt helfen Smile