Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

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
Antworten 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
Antworten Top
#3
Ein fehler von mir. Sry
Antworten 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
Antworten 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
Antworten 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
Antworten Top
#7
@Atilla

(Mein) excel ist da tollerant.  Bei mir läuft es.
Antworten 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ß
Antworten 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
Antworten Top
#10
(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
Antworten Top


Gehe zu:


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