Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1944to1948
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Werte von Bereich Blatt 1 nach Blatt 2 Kopieren

Werte von Bereich Blatt 1 nach Blatt 2 Kopieren
20.09.2023 21:47:05
mablu
Hallo Spezialisten
ich habe mit Goggeln ein Makro zusammengestellt das mir erlaubt einen Bereich von Tabelle 1 nach Tabelle 2 unten anschliessend zu Kopieren.
Mein Problem es kopiert auch leerzellen und alle Formate!
Ich möchte nur die Werte Kopieren (bei Feldern mit Formeln nur den angezeigten Wert!
Wie müsste ich mein Makro anpassenm?

Sub Kopieren()
Dim Wb As Workbook
Dim WsQ As Worksheet
Dim WsZ As Worksheet
Set Wb = ThisWorkbook
With Wb
Set WsQ = .Worksheets("Programm")
Set WsZ = .Worksheets("Archiv")
End With
With WsQ
.Range("D2").Copy _
Destination:=WsZ.Range("A" & WsZ.Cells(WsZ.Rows.Count, 2).End(xlUp).Row + 1)
End With
With WsQ
.Range("A5:A65").Copy _
Destination:=WsZ.Range("B" & WsZ.Cells(WsZ.Rows.Count, 2).End(xlUp).Row + 1)
End With
End Sub


Hier die Beispieldatei
https://www.herber.de/bbs/user/163005.xlsm

Vielen Dank für eure Hilfe
Mablu

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Werte von Bereich Blatt 1 nach Blatt 2 Kopieren
20.09.2023 22:56:44
Piet
Hallo

einfach wie unten, damit klappt es. Ich lade mir zuerst die LastZell in eine Variable!
Dann statt Destination mit PasteSpecial und xlPasteValues arbeiten. Damit klappt es.
Bei PasteSpecial muss aber der CutCopyMode wieder abgeschaltet werden! Nicht vergessen!

mfg Piet

  • 'vorher LastZell als Variable ermitteln
    lz1 = WsZ.Cells(Rows.Count, 2).End(xlUp).Row + 1
    .Range("D2").Copy 'auf PasteSpecial umstellen!
    WsZ.Range("A" & lz1).PasteSpecial xlPasteValues
    Application.CutCopyMode = False
  • AW: Werte von Bereich Blatt 1 nach Blatt 2 Kopieren
    21.09.2023 08:25:40
    Oberschlumpf
    Hi,

    hier, versuch mal
    https://www.herber.de/bbs/user/163007.xlsm

    nun werden, wie von dir gewünscht...
    - in Blatt "Programm" zuerst die Zelle D2 kopiert und NUR ALS WERT in Blatt "Archiv" eingefügt
    - in Blatt "Programm" zuerst die Datenzeilen im Bereich "A5:A(letzte Zeile)" kopiert und NUR ALS WERTE in Blatt "Archiv" eingefügt
    - in Blatt "Archiv" in dem zuvor eingefügten Bereich alle leeren Zeilen gelöscht

    Wunder dich aber nicht, wenn jetzt im Blatt "Archiv" in Spalte A anstelle des Datums nur eine mehrstellige Zahl steht, und wenn in Spalte B alles nur "schwarz/weiß" ist und nicht mehr farbige Überschriften und auch keine Rahmen mehr enthält.

    Denn all das sind auch Formatierungen jeder einzelnen Zelle.

    Wenn du weiterhin nur Werte, aber auch die Formatierungen kopieren + einfügen willst, dann beachte meine Kommentare im Code.

    Hilfts?

    Ciao
    Thorsten

    Anzeige
    AW: gelöst
    21.09.2023 08:43:27
    mablu
    Hallo Thorsten

    vielen Dank genau so wie ich es gewünscht habe, super beschrieben besser kann man es nicht machen
    so ist es auch für Laien verständlich!

    Vielen herzlichen Dank
    Wünsche einen schönen Tag

    mablu

    PS: Danke auch allen anderen die mir hier geholfen haben...
    AW: gelöst - bitte, danke, dito :-) owT
    21.09.2023 08:54:22
    Oberschlumpf
    AW: Werte von Bereich Blatt 1 nach Blatt 2 Kopieren
    21.09.2023 06:50:43
    mablu
    Hallo Piet
    das hat soweit geklappt besten Dank, ich habe jetzt nur noch das Problem dass es auch die leeren Zellen von "A5:A65" Kopiert wie kann ich das Unterdrücken
    damit nur Zellen mit Werten eingetragen werden?
    Besten Dank und einen schönen Tag.

    Hier mein geändertes Makro


    Sub Kopieren2()
    Dim Wb As Workbook
    Dim WsQ As Worksheet
    Dim WsZ As Worksheet
    Set Wb = ThisWorkbook
    With Wb
    Set WsQ = .Worksheets("Programm")
    Set WsZ = .Worksheets("Archiv")
    End With
    With WsQ
    .Range("D2").Copy _
    Destination:=WsZ.Range("A" & WsZ.Cells(WsZ.Rows.Count, 2).End(xlUp).Row + 1) ' "D2" mit Format Kopieren
    End With
    With WsQ
    lz1 = WsZ.Cells(Rows.Count, 2).End(xlUp).Row + 1
    .Range("A5:A65").Copy 'auf PasteSpecial umstellen! Ohne Formate Kopieren.
    WsZ.Range("B" & lz1).PasteSpecial xlPasteValues
    Application.CutCopyMode = False
    End With
    End Sub


    Anzeige

    Links zu Excel-Dialogen

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige