Herbers Excel-Forum - das Archiv

Kopieren

    Bild

    Betrifft: Kopieren
    von: detlef
    Geschrieben am: 01.10.2003 12:49:08
    Hallo,

    ich möchte folgendes erreichen und ich hoffe Ihr könnt mir helfen.

    Wenn der Wert Spalte N aus Tabelle1 in der Tabelle2 Spalte R vorhanden ist, dann soll der Wert in Spalte T aus Tabelle2 nach Tabelle1 in Spalte O kopiert werden.

    Das Ganze hat max. 1000 Zeilen.

    Die Tabelle2 wird nach dem Kopieren geschlossen und wird nach dem nächsten Öffnen anders aussehen. Bitte kein SVerweis bzw. Verknüpfung.

    Ich hoffe ich habe mich verständlich ausgedrückt und jemand kann mir helfen.

    Detlef

    Bild

    Betrifft: AW: Kopieren
    von: Reinhard
    Geschrieben am: 01.10.2003 14:07:48
    Hi Detlef,
    probier mal das da:

    Option Explicit

    
    
    Sub DEtlev()
    Dim SuchSp As String
    Dim VerglSp As String
    Dim ZielSp As String
    Dim QuellSp As String
    Dim n As Long
    SuchSp = "N"
    VerglSp = "R"
    ZielSp = "O"
    QuellSp = "T"
    For n = 1 To Tabelle1.Cells(Rows.Count, Asc(SuchSp) - 64).End(xlUp).Row
    If Tabelle1.Cells(n, Asc(SuchSp) - 64) = Tabelle2.Cells(n, Asc(VerglSp) - 64) Then
    Tabelle1.Cells(n, Asc(ZielSp) - 64) = Tabelle2.Cells(n, Asc(QuellSp) - 64)
    End If
    Next n
    End Sub
    
    


    Gruß
    Reinhard
    Bild

    Betrifft: AW: Kopieren
    von: Detlef
    Geschrieben am: 01.10.2003 14:36:50
    Hallo Reinhard,

    ich habe Deinen Code übertragen, reagiert überhaubt nicht.
    Noch zur Info, Tabelle1 ist Datei Daten.xls Sheet Aktuell gemeint, Tabelle2 ist Datei
    Stand.xls sheet Tabelle1 gemeint.
    Vielleicht kannst Du es nochmal probieren
    Gruß
    Detlef
    Bild

    Betrifft: AW: Kopieren
    von: Reinhard
    Geschrieben am: 01.10.2003 18:09:43
    Hi Detlef,
    so müßte es laufen.
    Gruß
    Reinhard

    
    
    Sub DEtlev()
    Dim SuchSp As String
    Dim VerglSp As String
    Dim ZielSp As String
    Dim QuellSp As String
    Dim n As Long
    SuchSp = "N"
    VerglSp = "R"
    ZielSp = "O"
    QuellSp = "T"
    Workbooks.Open "c:\temp\Daten.xls"
    Workbooks.Open "c:\temp\Stand.xls"
    Set shquelle = Workbooks("Daten.xls").Worksheets("Aktuell")
    Set shZiel = Workbooks("Stand.xls").Worksheets("Tabelle1")
    For n = 1 To shquelle.Cells(Rows.Count, Asc(SuchSp) - 64).End(xlUp).Row
    If shquelle.Cells(n, Asc(SuchSp) - 64) = shZiel.Cells(n, Asc(VerglSp) - 64) Then
    shquelle.Cells(n, Asc(ZielSp) - 64) = shZiel.Cells(n, Asc(QuellSp) - 64)
    End If
    Next n
    Workbooks.Close "c:\temp\Daten.xls"
    Workbooks.Close "c:\temp\Stand.xls"
    End Sub
    
    

    Bild

    Betrifft: AW: Kopieren
    von: Detlef
    Geschrieben am: 02.10.2003 08:13:00
    Guten Morgen Reinhard,

    funzt noch nicht,kann aber auch die beiden Dateien nicht hochladen, funktioniert nicht.
    Darf ich Diese per Mail senden, wenn ja, E-Mail Adresse?

    Danke
    Detlef
    Bild

    Betrifft: AW: Kopieren
    von: Reinhard
    Geschrieben am: 02.10.2003 11:50:10
    Hallo Detlev,
    bei mir lief das Makro einwandfrei, zumindest eine Schleife weil ich nur einen Datenwert getestet habe.
    Meine email steht links unter Profile in der Profilliste.
    Vorab einige Fragen vielleicht steckt da ja der Fehler.
    Kannst du beide Dateien manuell problemlos öffnen und in beiden in den genannten Spalten etwas probehalber ändern, also kein Schreibschutz oder so?
    Den Pfad C:\temp\ musst du ja anpassen, ist da alles korrekt geschrieben, Groß/Kleinschrift.
    Gehe dahin wo der Code steht und teste das Makro mit F8 Zeile für Zeile, wo bleibt es stehen mit welcher Meldung?
    Gruß
    Reinhard
    Bild

    Betrifft: Jetzt aber...
    von: Reinhard
    Geschrieben am: 02.10.2003 14:40:36
    Hi Detlev,
    schreib den folgenden Code in deine immer offene gmt2003.xls.
    Ich hab jetzt mehrfach getestet, muss klappen.
    Achja, ändere deine "Daten.xls.xls" in "Daten.xls" ab.
    Gruß
    Reinhard

    Option Explicit
    
    
    Sub Detlev()
    Application.ScreenUpdating = False
    Dim SuchSp As String
    Dim VerglSp As String
    Dim ZielSp As String
    Dim QuellSp As String
    Dim n As Long
    Dim shQuelle As Worksheet
    Dim shZiel As Worksheet
    SuchSp = "N"
    VerglSp = "R"
    ZielSp = "O"
    QuellSp = "T"
    Workbooks.Open "c:\temp\Daten.xls"
    Workbooks.Open "c:\temp\Stand.xls"
    Set shQuelle = Workbooks("Daten.xls").Worksheets("Aktuell")
    Set shZiel = Workbooks("Stand.xls").Worksheets("Tabelle1")
    For n = 1 To shQuelle.Cells(Rows.Count, Asc(SuchSp) - 64).End(xlUp).Row
    If shQuelle.Cells(n, Asc(SuchSp) - 64) = shZiel.Cells(n, Asc(VerglSp) - 64) Then
    shQuelle.Cells(n, Asc(ZielSp) - 64) = shZiel.Cells(n, Asc(QuellSp) - 64)
    End If
    Next n
    Workbooks("Daten.xls").Close savechanges:=True
    Workbooks("Stand.xls").Close
    Application.ScreenUpdating = True
    End Sub
    
    

     Bild
    Excel-Beispiele zum Thema " Kopieren"
    Blätter in andere Arbeitsmappen kopieren Module von Mappe zu Mappe kopieren
    Arbeitsblatt 40 mal kopieren Schriftgröße beim Kopieren verdoppeln
    Beim Kopieren auch die Zeilenhöhe und Spaltenbreite übernehmen Tabellencode nach Kopieren des Blattes löschen
    Arbeitsmappe blitzschnell kopieren VBE-Namen der Blattmodule beim Kopieren festlegen
    Blattinhalt von einer zur anderen Arbeitsmappe kopieren Formel bis zur letzten Zeile der Nebenspalte kopieren