• 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.

Plakken vaste waarde met VBA

  • Onderwerp starter Onderwerp starter HWV
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

HWV

Terugkerende gebruiker
Lid geworden
19 feb 2009
Berichten
1.213
Beste

Ik gebruik een code die kopieerd van het ene blad naar het ander blad ( vertikaalzoeken met VBA )
Nu pakt hij de gegevens goed maar neem de formule die in dat blad staat over, terwijl ik de waarde wil hebben. Ik weet dat dit met
Code:
.PasteSpecial xlValues
deze code erin moet gebeuren.
Ik krijg het niet voor elkaar om dit werkend te krijgen.
Hier mijn code:
Code:
Sub Eenheden()

On Error Resume Next
    For j = 2 To Sheets("Blad1").Cells(Rows.Count, 1).End(xlUp).Row
    With Workbooks("Kopieerbestanden.xls").Sheets("Opslag").Columns(1).Find(Sheets("Blad1").Cells(j, 1).Value)
      .Offset(, 30).Copy Sheets("Blad1").Cells(j, 7)
    End With
  Next
End Sub

Hopende dat ik hier ondersteining in kan krijgen, hoe ik de code juist moet opbouwen zodat hij de waarde plakt.

groet HWV
 
HWV,

Dit heb ik even met de macro recorder opgenomen, misschien kun je er wat mee.
De laatste regel plakt hij zonder de formule.

Code:
Sub Macro1()
    Range("C5").Select
    Selection.Copy
    Sheets("Blad2").Select
    Range("C6").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
End Sub
 
Had ik inderdaad ook al gedaan

Bedankt voor de input,

Die optie had ik ook al geprobeerd en voorlopig toegepast.

Code:
Columns("I:J").Select
    Selection.Copy
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
         :=False, Transpose:=False
    Application.CutCopyMode = False
    Range("I1").Select
Maar ik wil graag weten hoe dit in de formule hierboven toegepast kan worden, om zo weer een stukje bij te leren.
In iedergeval "Thanks"

Groet HWV
 
Probeer 'm zo eens
Code:
Sub Eenheden()

On Error Resume Next
    For j = 2 To Sheets("Blad1").Cells(Rows.Count, 1).End(xlUp).Row
    With Workbooks("Kopieerbestanden.xls").Sheets("Opslag").Columns(1).Find(Sheets("Blad1").Cells(j, 1).Value)
      .Offset(, 30).Copy
      Sheets("Blad1").Cells(j, 7).PasteSpecial xlPasteValues
    End With
  Next
End Sub

Mvg

Rudi
 
Opgelost

Rudi,

Wederom bedankt voor je input.
Ik had het eerst op deze manier zelf al geprobeerd maar kreeg een foutmelding:
Code:
Sub Eenheden()

On Error Resume Next
    For j = 2 To Sheets("Blad1").Cells(Rows.Count, 1).End(xlUp).Row
    With Workbooks("Kopieerbestanden.xls").Sheets("Opslag").Columns(1).Find(Sheets("Blad1").Cells(j, 1).Value)
      [COLOR="Red"].Offset(, 30).Copy Sheets("Blad1").Cells(j, 7).PasteSpecial xlPasteValues[/COLOR]
    End With
  Next
End Sub

Kan jij verklaren dat als je de code vanaf Sheets een regel lager zet dat hij het dan wel doet
Code:
.Offset(, 30).Copy 
Sheets("Blad1").Cells(j, 7).PasteSpecial xlPasteValues

Groet Henk
 
Er hoeft niets gekopieerd te worden:

Code:
Sub waarde()
  For each cl in sheets("Blad1").specialcells(xlcelltypeconstants)
    if cl.row> 1 then Workbooks("Kopieerbestanden.xls").Sheets("Opslag").Columns(1).Find(cl.Value).Offset(, 30).value=cl.value
  Next
End Sub
 
Bedankt

Beste SNB,

Bedankt voor de aanvulling.

Groet HWV
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan