VBA kopieren einfügen zwischen 2 Arbeitsblättern
#1
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
Top
#2
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
Gruß Atilla
Top
#3
Ein fehler von mir. Sry
Top
#4
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
[-] Folgende(r) 1 Nutzer sagt Danke an UweD für diesen Beitrag:
  • ilkaskim
Top
#5
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.
Gruß Atilla
[-] Folgende(r) 1 Nutzer sagt Danke an atilla für diesen Beitrag:
  • ilkaskim
Top
#6
@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
Top
#7
@Atilla

(Mein) excel ist da tollerant.  Bei mir läuft es.
Top
#8
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ß
Top
#9
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
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
[-] Folgende(r) 1 Nutzer sagt Danke an schauan für diesen Beitrag:
  • ilkaskim
Top
#10
(03.02.2020, 14: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
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste