none
CopyFrom.Copy CopyTo mit paste special(ohne Formatierung, nur Text) RRS feed

  • Frage

  • Hallo zusammen,

    ich verwende einen bekannten einfachen VBA Code der auch funktioniert, dieser kopiert alledings die Formatierung mit:

    Dim DI As Worksheet
    Dim DIA As Worksheet
    Set DIA = Workbooks("PS-PB_Datenbank.xlsx").Sheets("Device_Ident")
    Set DI = Workbooks("DieseArbeitsmappe.xlsx").Sheets("Device_Ident")
    Dim wsFrom As Worksheet, wsTo As Worksheet
    Dim CopyFrom As Range, CopyTo As Range
    Set wsFrom = DIA ' Orginal Datenbank(Device_Ident)
    Set wsTo = DI ' Diese Arbeitsmappe(Device_Ident)

    ...

    With wsFrom
    Set CopyFrom = .Range(.Cells(i + 4 + PBART, 3), .Cells(i + 4 + PBART, 14))
    End With
    With wsTo
    Set CopyTo = .Range(.Cells(EUTNR + 4 + PBART, 3), .Cells(EUTNR + 4 + PBART, 14))
    End With
    CopyFrom.Copy CopyTo

    ...

    Meine Frage hierzu ist: Wie kann ich hier ein PasteSpecial(also PasteSpecial Paste:=xlPasteValues) integrieren, so das ich nur die Werte kopiere(ohne Formatierung)?

    Ein Dynamischer Bereich ist notwendig, deshalb sind hier für Cellen Varaiblen eingesetzt.

    Leider bin ich mit Goggle und ähnlichem nicht voran gekommen.

    Vielen Dank für Eure Hilfe

    Donnerstag, 19. Oktober 2017 09:51

Antworten

Alle Antworten

  • Hallo,

    Schau bitte ob Dir der Link hier weiterhilft:
    https://stackoverflow.com/questions/23937262/excel-vba-copy-paste-values-only-xlpastevalues

    Grüße Alexander 

    Donnerstag, 19. Oktober 2017 11:12
  • Statt direkt zu kopieren, wie hier

    CopyFrom.Copy CopyTo

    Wird ein Zwischenschritt nötig:

    CopyFrom.Copy
    
    CopyTo.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,  SkipBlanks:=False, Transpose:=False
    
    

    Steht auch bereits im Englischsprachigen Forum: Range Cut fails; Range Copy works with PasteSpecial


    - Gruß Florian

    Donnerstag, 19. Oktober 2017 11:26
  • Super, vielen Dank.

    wusste nicht wie ich diese Funktion integriere, denn

    CopyFrom.Copy CopyTo.PasteSpecial Paste:=xlPasteValues

    hat nicht funktioniert, warum hier zwei Zeilen benötigt werden???

    die

    Operation:=xlNone,  SkipBlanks:=False, Transpose:=False

    konnte ich weg lassen.

    Danke für die schnelle Hilfe

    Donnerstag, 19. Oktober 2017 11:48