Kopieer plakken delete stam data

Status
Niet open voor verdere reacties.

wekkanz

Gebruiker
Lid geworden
11 feb 2013
Berichten
46
Hallo,

Hopelijk kan iemand mij even helpen ik ben al een eindje op weg maar het laatste stukje kom ik niet uit.

Van uit een ERP software kopieer ik data naar het klembord, deze data wordt geplakt in een verborgen excelsheet blad3.
Vervolgens worden op blad3 de kolommen verwijderd welke geen toevoeging hebben en word de gewenste data gekopieerd en geplakt in blad1, waarmee ik een juiste schone opmaak verder kan werken

Voor zover gaat alles goed, echter merk ik dat wanneer data 1x geplakt heb en vervolgens nieuwe data wil overschrijven in blad3 dmv de blijft de oude data staan.

Mijn vraag hoe kan ik de data welke geplakt is in blad3 netjes verwijderen nadat deze gekopieerd en geplakt is in blad1? zie een voorbeeld in de bijlage.

Code:
Sub CopyPast()

    ActiveWorkbook.Sheets("Blad3").Visible = True
    Sheets("Blad3").Select
    Range("A1").Select
    Selection.NumberFormat = "#.##0,00"
    ActiveSheet.PasteSpecial Format:="Tekst", Link:=False, DisplayAsIcon:= _
    False
    Application.DecimalSeparator = ","
    
    Columns("D:E").Select
    Selection.Delete Shift:=xlToLeft
    
    Range("D2:D22").Select
    Selection.NumberFormat = "#.##0,00"
        
    Range("C2:D24").Select
    Selection.Copy
    
    Sheets("Blad1").Select
    Range("B13").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False

    ActiveWorkbook.Sheets("Blad3").Visible = False
    Application.ScreenUpdating = True
End Sub
 

Bijlagen

  • HM Voorbeeld .xlsm
    19,6 KB · Weergaven: 31
BV. Na active.workbook.sheets("blad3").visible=true
Code:
LR = Sheets("blad3").Range("A65536").End(xlUp).Row
            Sheets("blad3").Range("A1:A" & LR).ClearContents

en voor de regels 2 tm 5 kan je ook zo schrijven
Code:
Sheets("blad3").range("A1").numberformat= " #.##.0,00"
 
Dankje wel Marc wat snel! Dat is wat ik zocht! :thumb:
Was blijkbaar te moeilijk aan het denken:D
 
Dit is voldoende voor je volledige macro
Code:
Sub pagadder()
Application.ScreenUpdating = False
Set ws1 = Sheets("Blad3")
Set ws2 = Sheets("Blad1")
    LR = ws1.Range("C" & Rows.Count).End(xlUp).Row
        ws1.Range("C2:D" & LR).Copy Destination:=ws2.Range("B13")
        ws2.Range("C:C").NumberFormat = "0.0"
Sheets("Blad3").Rows("2:" & Rows.Count).ClearContents
Application.ScreenUpdating = True
End Sub
 
Dat is een mooie korte code dankje wel!
ga van de week als ik tijd even kijken hoe je deze zo krot hebt geschreven, zoadat ik er weer van kan leren.

Top:thumb:
 
Waarom wil je de gegevens van Blad3 steeds vanaf B13 hebben? Moet Blad1 niet aangevuld worden?
Het gebruik van variabelen ws1, ws2 en LR lijkt mij bij zo weinig code niet nodig en al zeker niet als ze niet consequent toegepast worden.
Iets ander idee
Code:
Sub VenA()
  With Sheets("Blad3")
    .Visible = True
    ar = .Cells(1).CurrentRegion.Columns(3).Resize(, 2).Offset(1)
    With Sheets("Blad1")
      If UBound(ar) > 1 Then .Cells(Application.Max(13, .Cells(Rows.Count, 2).End(xlUp).Row), 2).Resize(UBound(ar) - 1, 2) = ar
      .Columns(3).NumberFormat = "0.0"
    End With
    .Cells(1).CurrentRegion.Offset(1).ClearContents
    .Visible = False
 End With
End Sub
 
Hallo V&A,

De data word in Blad3 in A1 geplakt en vervolgens naar een vast opmaak op blad1 B13 gekopieerd zodat we hiermee verder kunnen werken.

Als ik even tijd heb ga ik jullie codes even goed bekijken, hartelijk dank voor alle snelle reacties en het mee denken! word erg gewaardeerd!!
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan