Clever-Excel-Forum

Normale Version: VBA kopieren einfügen zwischen 2 Arbeitsblättern
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hallo, Ich habe versucht über Makro Recorder einen Makro zu erstellen das kopieren und einfügen erledigt zwischen 2 Dateien. Ich bekomme es leider nicht ohne Hilfe gelöst.

Beide Dateien sind geöffnet.

Die Zellen A5, B6, D9, E8, G5 von Test1.xlsm Tabelle2 sollen kopiert und in Test2.xlsm, Tabelle4, B5, C4, D6, E9, H3 eingefügt werden.

"Test1.xlsm" "Tabelle2" A5 in "Test2.xlsm" "Tabelle4" B5
"Test1.xlsm" "Tabelle2" B6 in "Test2.xlsm" "Tabelle4" C4
"Test1.xlsm" "Tabelle2" D9 in "Test2.xlsm" "Tabelle4" D6
"Test1.xlsm" "Tabelle2" E8 in "Test2.xlsm" "Tabelle4" E9
"Test1.xlsm" "Tabelle2" G5 in "Test2.xlsm" "Tabelle4" H3

Formatierung und Formeln sollen nicht kopiert und überschrieben werden. Das alles dann über einen Command Button.
Gruß
ilkaskim
Hallo,

unten ein Beispiel, welches Du dann erweitern kannst:

Code:
Sub Werte_uebertragen()
'"Test1.xlsm" "Tabelle2" A5 in "Test2.xlsm" "Tabelle4" B5
   Workbooks("Test2.xlsm").Worksheets("Tabelle4").Range("B5").Value = Workbooks("Test1.xlsm").Worksheets("Tabelle2").Range("A5").Value
   'andere genauso wie oben
End Sub
Ein fehler von mir. Sry
Hallo


so??


Code:
Sub Kopieren()
    Dim TBA, TBB
   
    Set TBA = Workbooks("Test1.xlsm").Sheets("Tabelle2")
    Set TBB = Workbooks("Test2.xlsm").Sheets("Tabelle4")
   
   
    With TBB
        .Range("B5") = TBA.Range("A5")
        .Range("C4") = TBA.Range("B6")
        .Range("D6") = TBA.Range("D9")
        .Range("E9") = TBA.Range("E8")
        .Range("H3") = TBA.Range("G5")
    End With
End Sub
Hallo,



mit meinem Vorschlag wird nichts kopiert oder ausgeschnitten. Es werden direkt werte übernommen.



Welchen Code verwendest Du?

Sei nicht so knauserig und zeig mal was Du bisher an Code hast.


Hallo UweD,



Das wird in ein Fehler laufen, da Set eine Objekt erwartet.
@atilla
Dein Code funktioniert. Ich habe es nur anders eingetragen. Nach dem ändern funktioniert es wie gewünscht. Danke

@UweD
Deinen Code werde ich auch versuchen. Danke
@Atilla

(Mein) excel ist da tollerant.  Bei mir läuft es.
Habe beides probiert und es funktionieren auch beide. Danke nochmal

Das format passt leider nicht für die aktuelle zelle:
meine Zellenformatierung z.b von "Test1.xlsm" "Tabelle2" A5 ist hh:mm und soll "Test2.xlsm" "Tabelle4" B5 als angezeigt werden 00":"00


VBA ist absolutes neuland
Blush

Gruß
Hallöchen,

der Code überträgt die Werte und ändert nix an den Formaten. Da muss also als Format vorher schon was falsches drin gestanden haben Sad
(03.02.2020, 13:57)UweD schrieb: [ -> ]Hallo


so??


Code:
Sub Kopieren()
    Dim TBA, TBB
   
    Set TBA = Workbooks("Test1.xlsm").Sheets("Tabelle2")
    Set TBB = Workbooks("Test2.xlsm").Sheets("Tabelle4")
   
   
    With TBB
        .Range("B5") = TBA.Range("A5")
        .Range("C4") = TBA.Range("B6")
        .Range("D6") = TBA.Range("D9")
        .Range("E9") = TBA.Range("E8")
        .Range("H3") = TBA.Range("G5")
    End With
End Sub


Hallo, habe diesbezüglich noch eine frage. Ich würde gerne bei TBB zusätzlich eine andere Tabelle einfügen

Sub Kopieren()
    Dim TBA, TBB
   
    Set TBA = Workbooks("Test1.xlsm").Sheets("Tabelle2")
    Set TBB = Workbooks("Test2.xlsm").Sheets("Tabelle4")
    Set TBB = Workbooks("Test2.xlsm").Sheets("Tabelle3")

Wie kann ich es richtig erweitern ?


Gruß
ilkaskim
Seiten: 1 2