• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Celwaarden kopieren ipv formules

Status
Niet open voor verdere reacties.

remco89

Gebruiker
Lid geworden
25 okt 2008
Berichten
42
Als ik met behulp van een macro een aantal cellen kopieer en plak die een verwijzing bevatten, worden bij het plakken de hele formules overgenomen.

Ik zou graag willen dat de macro tijdens het kopiëren alleen de waarden overneemt en ze gewoon als tekst of cijfers plakt, niet als formules.

Ik hoop dat ik mijn vraag een beetje duidelijk heb uitgelegd en ik hoop dat iemand een oplossing heeft.:rolleyes:

Alvast bedankt:)
 
Als je in plaats van plakken kiest voor plakken speciaal en vervolgens klikt op waarden en OK, zou het goed moeten gaan.

Dus waarschijnlijk even de macro opnieuw opnemen.
 
Beste remco89 ;)

Gewoon de cellen kopiëren en dan speciaal plakken en op waarden klikken en OK.
Als je deze stappen in je macro doet,dan hou je enkel de waarden over en niet de formules

Heb er eentje gemaakt als voorbeeld met de macrorecorder.

Code:
Sub Macro1()
'
' Macro1 Macro
'

    Range("C1:C5").Select
    Selection.Copy
    Range("F1").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("I1").Select
    Application.CutCopyMode = False
End Sub

Groetjes Danny. :thumb:
 
Vermijd Select in je code, deze volstaat
Code:
Sub Macro1()
    [C1:C5].Copy
    [F1].PasteSpecial xlPasteValues
    Application.CutCopyMode = False
End Sub

Mvg

Rudi
 
Bedankt voor de reacties, iemand heeft voor mij al eens de onderstaande macro gemaakt. Hij werkt goed maar hij verplaatst enkel formules en ik wil alleen waarden. Moet ik select eruit halen?

Code:
Sub Doorvoeren2()
    
   rij = 40
   Sheets("Register Individueel").Select
    ActiveSheet.Unprotect
   With Sheets("Register Individueel")
        Sheets("Invullen").Range("A" & rij & ":K" & rij).Copy .Range("A" & .Range("A" & Rows.Count).End(xlUp).Row + 1)
        Sheets("invullen").Select
        Range("E11").Select
    End With
    
End Sub
 
Lees bovenstaande reacties eens goed door want het antwoord wordt daar reeds gegeven (zie rode tekst)
Code:
Sub Doorvoeren2()
    rij = 40
    Range("A" & rij & ":K" & rij).Copy
    'Als rij steeds ongewijzigd blijft kunnen 2 bovenstaande
    'regels verwijderd worden en vervangen door onderstaande
    [A40:K40].Copy
    With Sheets("Register Individueel")
        .Unprotect
        .Range("A" & .Range("A" & Rows.Count).End(xlUp).Row + 1).[COLOR="Red"]PasteSpecial xlPasteValues[/COLOR]
        .Protect
    End With
    [E11].Select
End Sub

Mvg

Rudi
 
of als je bijv. rij 40 wil kopiëren is dit voldoende

Code:
Sub Doorvoeren2()
 [COLOR="Green"] j[/COLOR]=39
  With [COLOR="Blue"]Blad1[/COLOR].Range("A1:K1")
    [COLOR="Blue"]Blad2[/COLOR].Cells(Rows.Count, 1).End(xlUp).Offset(1).Resize(, .Columns.Count).Value = .Offset([COLOR="green"]j[/COLOR]).Value
  End With
End Sub
 
Laatst bewerkt:
Lees bovenstaande reacties eens goed door want het antwoord wordt daar reeds gegeven (zie rode tekst)

Oja, dat kan ik er zo bij zetten... bedankt nu kan ik weer verder!

snb en andere ook bedankt, hier ga ik het mee redden:)

grts Remco
 
Ik dacht dat het me wel zou gaan lukken maar er gaat nog wat fout.
Ik gebruik nu de volgende macro:

Code:
Sub Doorvoeren2()

  [A40:K40].Copy
    With Sheets("RegisterIndividueel")
        .Unprotect
        .Range("A" & .Range("A" & Rows.Count).End(xlUp).Row + 1).PasteSpecial xlPasteValues
        .Protect
    End With
    [E11].Select
End Sub

Als ik 1x op de knop klik werkt dit helemaal goed, als ik er dan nog eens op klik krijg ik de volgende foutmelding:

Screenshot 1

Screenshot 2

Als ik daarna op de stop/reset knop klik in VB, dan werkt de macro weer 1x en dan niet meer. Heeft iemand een idee waardoor dit komt?
 
@remco89 , probeer deze eens
Code:
Sub tst()
Dim lastrij

    [A40:K40].Copy
    Unprotect
    ActiveSheet.Select
    lastrij = Cells(Rows.Count, "A").End(xlUp).Row
    Cells(lastrij + 1, "A").Select
    ActiveSheet.Paste
    [E11].Select
Exit Sub
    Protect
    
End Sub
 
Deze doet het wel goed
Code:
Sub Doorvoeren2()
With Sheets("RegisterIndividueel")
    .Unprotect
        With [Blad1!A40:K40]
            Sheets("RegisterIndividueel").Cells(Rows.Count, 1).End(xlUp).Offset(1).Resize(, .Columns.Count).Value = .Value
        End With
    .Protect
End With
End Sub

Mvg

Rudi
 
Laatst bewerkt:
Ja! deze werkt goed, ik zou alleen niet weten waarom deze wel werkt...

Maar mijn dank is zeer groot!! :D
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan