Office: Automatisches Kopieren aus anderer,variabler Datei

Helfe beim Thema Automatisches Kopieren aus anderer,variabler Datei in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo Zusammen, ich muss in eine Tabelle Zahlen reinkopieren, die sich in verschiedenen anderen Tabellen befinden. Kleines Bild dazu im Anhang. Es... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von kleinanna89, 17. September 2012.

  1. kleinanna89 Erfahrener User

    Automatisches Kopieren aus anderer,variabler Datei


    Hallo Zusammen,
    ich muss in eine Tabelle Zahlen reinkopieren, die sich in verschiedenen anderen Tabellen befinden.
    Kleines Bild dazu im Anhang.
    Es gibt eine Ordnerstruktur, die die Ordner mit den Namen HG,SR,... (quasi alle Namen, die ab D3 auf dem Bild aufgelistet werden) enthält.
    Jeder Ordner erhält ExcelDateien mit den Namen 40.xls, 41.xls, ... (quasi die Namen aus E1, F1,...)

    Jetzt das Problem:
    Die Zelle E3 soll den Wert bekommen, der in der Datei 40.xls (also quasi "E1".xls) aus dem Ordner HG (also "D3")
    usw. und das am besten unkompliziert :D

    Ich habe folgende Vorüberlegungen gemacht:
    i und j als Variable definieren
    i als die Variable für Zeilen
    j als die Variable für Spalten
    öffne für Zelle ij
    den ordner dj
    und darin die Datei i1
    und kopiere die Zelle "E"j in dieser Datei (Es wird immer aus der Spalte E herauskopiert und nicht aus der i-ten Spalte)
    und füge sie an der Stelle ij in der Ausgangsdatei ein.



    Mein Problem ist das ganze vba tauglich zu definieren und umzusetzen.
    Könnte mir jemand dabei etwas helfen?
    Liebe Grüße
    Anna
     
    kleinanna89, 17. September 2012
    #1
  2. fette Elfe Erfahrener User
    Hallo Anna,

    wenn ich alles richtig verstanden habe, dann sollte der folgende Code prinzipiell funktionieren:
    Code:
    Option Explicit
    
    Public Sub AutomatischesKopieren()
    
    Dim loRow As Long
    Dim loColumn As Long
    Dim loLastRow As Long
    Dim loLastColumn As Long
    
    Dim strPfad As String
    Dim strOrdner As String
    Dim strDatei As String
    
    Dim wbQuelle As Workbook
    
    strPfad = "hier kommt der Pfad zum Überordner der Ordnerstruktur hin"
        With Me
            loLastRow = IIf(IsEmpty(.Cells(.Rows.Count, 4)), .Cells(.Rows.Count, 4).End(xlUp).Row, .Rows.Count)
            loLastColumn = IIf(IsEmpty(.Cells(1, .Columns.Count)), .Cells(1, .Columns.Count).End(xlToLeft).Column, .Columns.Count)
            For loRow = 3 To loLastRow
                strOrdner = .Cells(loRow, 4)
                If Not strOrdner = "" Then
                    If Not Dir(strPfad & "\" & strOrdner & "\") = "" Then
                        For loColumn = 5 To loLastColumn
                            strDatei = .Cells(1, loColumn)
                            If Not strDatei = "" Then
                                If Not Dir(strPfad & "\" & strOrdner & "\" & strDatei & ".xls") = "" Then
                                    Set wbQuelle = Workbooks.Open(strPfad & "\" & strOrdner & "\" & strDatei & ".xls")
                                    wbQuelle.Sheets(1).Cells(loColumn, 5).Copy Destination:=.Cells(loRow, loColumn)
                                    wbQuelle.Close SaveChanges:=False
                                    Set wbQuelle = Nothing
                                End If
                            End If
                        Next loColumn
                    End If
                End If
            Next loRow
        End With
    End Sub

    ACHTUNG!!! Folgendes ist zu beachten:

    - Die Zeile "With Me"
    referenziert den Code auf das Blatt, in dessen Modul der Code steht. Schreibst Du den Code in ein anderes (z.Bsp. ein allgemeines) Modul, dann musst Du diese Referenzierung ändern.

    - Die Zeile "strPfad = "hier kommt der Pfad zum Überordner der Ordnerstruktur hin""
    muss von Dir noch angepasst werden. Der Pfad des Überordners, wo die ganzen Ordner aus der Spalte D drinne sind, muss dort eingetragen werden, und zwar in Gänsefüsschen, vom Laufwerksbuchstaben an, bis zum Namen des Überordners, aber OHNE Backslash am Ende.
    Z.Bsp:
    Code:
    strPfad = "C:\Dokumente und Einstellungen\UserName\Desktop\Neuer Ordner"
    - ich bin davon ausgegangen, dass die zu kopierenden Daten in allen Dateien in Tabelle 1 liegen


    Generell kann man natürlich noch so einiges anpassen, aber ich kenne Deine Datei nicht.
    Deshalb, wenn etwas nicht so ganz passt, genau beschreiben... am besten: Beispielmappe.

    Da ich Dein Verständniss für VBA-Code nicht einschätzen kann, habe ich auf Erklärungen im Code mal verzichtet.
    Wenn Du ihn nicht verstehst, lasse ihn im Einzelschrittmodus durchlaufen, und schaue was jeweils gemacht wird.
    Wenn Du danach immer noch etwas nicht verstehst, dann frage nach, ich erklärs Dir gerne.


    Ich hoffe geholfen zu haben.
     
    fette Elfe, 17. September 2012
    #2
  3. kleinanna89 Erfahrener User
    Vielen lieben Dank schon einmal! Ich habe die Datei auf der Arbeit liegen und werde den Code am Donnerstag direkt mal ausprobieren.
    Ich versteh die Codes meistens, allerdings musste ich mich sehr sehr schnell und dadurch extrem oberflächig mit Büchern in die Grundlagen einarbeiten, so dass mir (für mich) Kompliziertes doch schwer fällt.
    Liebe Grüße und Danke!!! für Deine Hilfe!!
     
    kleinanna89, 17. September 2012
    #3
  4. kleinanna89 Erfahrener User

    Automatisches Kopieren aus anderer,variabler Datei

    Hallo,
    also die Formatierung der Zelle kopiert er mir rein, aber leider nicht den Wert. Wie kommt das?
    Liebe Grüße
    Anna
     
    kleinanna89, 20. September 2012
    #4
  5. fette Elfe Erfahrener User
    Hallo Anna,

    per Ferndiagnose ist diese Frage nicht einfach zu beantworten.

    Aus dem Stehgreif würde ich vermuten, dass ich Deine Beschreibung der Zellbezüge irgendwo falsch verstanden habe, und Excel jetzt eine leere Zelle kopiert.

    Hast Du das Makro mal im Einzelschrittmodus durchlaufen lassen, und Dir die jeweiligen Zellbezüge angeschaut?

    Ich tippe auf auf:
     
    fette Elfe, 21. September 2012
    #5
Thema:

Automatisches Kopieren aus anderer,variabler Datei

Die Seite wird geladen...
  1. Automatisches Kopieren aus anderer,variabler Datei - Similar Threads - Automatisches Kopieren variabler

  2. Zellen automatisch in ein neues Blatt kopieren wenn

    in Microsoft Excel Hilfe
    Zellen automatisch in ein neues Blatt kopieren wenn: Hallo zusammen, ich habe eine Tabelle (Tabelle1) in der regelmäßig neue Kunden eingetragen werden. Kd.-Nr. / Kundendaten / Flyer erhalten / etc. In der Spalte (Flyer erhalten) wird "ja"...
  3. Automatisches Kopieren aus Tabelle in anderes Tabellenblatt

    in Microsoft Excel Hilfe
    Automatisches Kopieren aus Tabelle in anderes Tabellenblatt: Hi liebes Forum, ich habe folgende Frage/Problemstellung: Ich habe eine Exceldatei, die aus vielen verschiedenen Blättern besteht. Für jedes Projekt ein Blatt (alle sind gleich aufgebaut). Jetzt...
  4. Automatisch Werte kopiern

    in Microsoft Excel Hilfe
    Automatisch Werte kopiern: Halli Hallo Hallöchen Meine Anligen ist folgendes: Ich möchte eine Tabelle erstellen in der im Feld A1 per Abfrage der aktuelle Kurs einer Aktie angezeit wird. Der Wert soll dann alle 10 min in...
  5. Ordner auf Fileserver automatisch kopieren

    in Microsoft Excel Hilfe
    Ordner auf Fileserver automatisch kopieren: Hallo Wissen! In einem Excel erfasse ich jeweils neu eintretende Mitarbeitende mit den wichtigsten personenbezogenen Daten. Nach Erfassung der Person, werden eine Reihe von Makros ausgeführt und...
  6. VBA: Datum automatisch hinzufügen nach Übertrag

    in Microsoft Excel Hilfe
    VBA: Datum automatisch hinzufügen nach Übertrag: Hallo zusammen, ich habe ein Makro gebaut, welches die Daten aus dem Tabellenblatt Bestellformular kopiert und diese in ein anderes Tabellenblatt (Bestellhistorie) überträgt, wobei zusätzlich in...
  7. Zellbezug beim Kopieren von einem Tabellenblatt automatisch anpassen

    in Microsoft Excel Hilfe
    Zellbezug beim Kopieren von einem Tabellenblatt automatisch anpassen: Ich suche eine Lösung für folgendes Problem: Ich kopiere ein Tabellenblatt in eine andere Datei. In der Zieldatei verweisen die Zellbezüge auf die Zellen in der Ursprungsdatei. Gibt es eine...
  8. Zeile kopieren um einen bestimmten Wert

    in Microsoft Excel Hilfe
    Zeile kopieren um einen bestimmten Wert: Hallo, kann mir jemand weiterhelfen? Ich möchte eine Zelle mittels "ziehen" automatisch kopieren und dabei immer um einen bestimmten Wert erhöhen. (siehe Screenshot) kann mir hier jemand...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden