Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

[VBA] Datei öffnen, bestimmte Zellen kopieren und in Ausgangsdatei einfügen
#1
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.
Antworten Top
#2
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
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#3
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
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste