Startseite Inhaltsverzeichnis Nutzungsbedingungen Datenschutz Impressum Weitere Informationen

CODE-SCHNIPSEL

Einzelne Werte aus mehreren unterschiedlichen Dateien einsammeln

VBA und Makros • Codeschnipsel • Arbeitsblatt • Konsolidierung • Sammeln • Einsammeln

Ausgangslage ... Was tut der Codeschnipsel?

Ein immer wieder beliebtes Thema: Zusammenführen von Werten aus mehreren anderen Arbeitsmappen / Dateien. Hierzu habe ich ein kleines Beispiel geschrieben. Einfach entsprechend anpassen und schon haben Sie eine Automatisierung Ihres Sammelvorganges realisiert.

VBAVBA Codeschnipsel
XLSQuelltext zur Verwendung mit Microsoft® Excel®

Der Quelltext ...

Option Explicit
' ****************************************************************
' Autor/en und Original-Quelltext unter:
' https://www.online-vba.de/vba_datensammeln4.php
' Verwendung der Quelltexte auf eigene Gefahr!
' Es gelten die Nutzungsbedingungen von https://www.online-vba.de
' ****************************************************************


Public Sub OVBAde_EinzelneDatenAusMehrerenDateienEinlesen()
  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
    'Diesen Schritt so oft kopieren, bis alle Übertragungen gemacht wurden
    sDatei = "C:\TEST\Sammlung\Beispiel1.xlsx"
    Set oSourceBook = Workbooks.Open(sDatei, False, True) 'nur lesend öffnen
    
    'Übertragungen von einzelnen Zellen:
    
    'Aus der Quelldatei wird der Inhalt der Zelle A1 (1, 1) von Tabelle1
    'in die Zieldatei auf Tabelle1 in Zelle A1 (1, 1) kopiert.

    oTargetBook.Sheets("Tabelle1").Cells(1, 1).Value = _
        oSourceBook.Sheets("Tabelle1").Cells(1, 1).Value
    
    'Aus der Quelldatei wird der Inhalt der Zelle G2 (2, 7) von Tabelle2
    'in die Zieldatei auf Tabelle1 in Zelle B1 (1, 2) kopiert.

    oTargetBook.Sheets("Tabelle1").Cells(1, 2).Value = _
        oSourceBook.Sheets("Tabelle2").Cells(2, 7).Value
    
    'Aus der Quelldatei wird der Inhalt der Zelle C32 (32, 3) von Tabelle3
    'in die Zieldatei auf Tabelle1 in Zelle C1 (1, 3) kopiert.

    oTargetBook.Sheets("Tabelle1").Cells(1, 3).Value = _
        oSourceBook.Sheets("Tabelle3").Cells(32, 3).Value
    
    oSourceBook.Close False 'nicht speichern
    
    'Hier einfach weitere Schritte analog zu Schritt 2 einfügen, wenn mehrere Dateien
    'verarbeitet werden sollen ...
    
    Application.ScreenUpdating = True 'Das Bildschirm-Aktualisieren wieder einschalten
    
    'Fertigmeldung
    MsgBox "Fertig!", vbInformation + vbOKOnly, "HINWEIS!"
    
    'Variablen aufräumen
    Set oTargetBook = Nothing
    Set oSourceBook = Nothing
End Sub

Anmerkungen und Hinweise ...

Dieser Codeschnipsel wurde geschrieben von Marc Wershoven im Jahr 2013.
Es gelten die Nutzungsbedingungen von Online-VBA.de.
TOTOP
ANZEIGE