Registriert seit: 07.09.2017
Version(en): Microsoft 365
11.11.2020, 15:17
(Dieser Beitrag wurde zuletzt bearbeitet: 11.11.2020, 15:17 von DeLaGhetto.)
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.
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
11.11.2020, 19:44
(Dieser Beitrag wurde zuletzt bearbeitet: 11.11.2020, 19:58 von Kuwer.)
Hallöchen,
hier wäre mal ein Ansatz für einen Dateidialog, gefunden über die Suche nach Dialog
Bild-via-Button-auswaehlen-und-in-Userform-Image-einfuegenIst 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)
Registriert seit: 07.09.2017
Version(en): Microsoft 365
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