• 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 speciaal: waardes in VBA code

Status
Niet open voor verdere reacties.

lakizali

Gebruiker
Lid geworden
1 okt 2010
Berichten
53
Beste,

Ik maak in mn excel bestand gebruik van onderstaande code om de sheet te kopieren naar een nieuw excel bestand:

Code:
Const SourceSheetName As String = "Besteladvies"
Const SourceRange As String = "A1:AA3000"

Sub CopyRangeToNewWorkbook()
  Dim Oldbook As Workbook, NewBook As Workbook, Path As String

  Path = ActiveWorkbook.Path & Application.PathSeparator
  Set Oldbook = ThisWorkbook
  Set NewBook = Workbooks.Add
  Oldbook.Sheets(SourceSheetName).Range(SourceRange).Copy
  NewBook.Sheets(1).Paste
 BestandsNaam = Application.GetSaveAsFilename

End Sub

nu kopieert deze code de formules maar deze verwijzen naar andere sheets in het originele bestand, hoe kan ik alleen de waardes plakken?

alleen een voorbeeldje van plakken speciaal is in principe al voldoende, dan bouw ik het zelf wel om.

Bij voorbaat dank,
Niels
 
Laatst bewerkt:
lakizali,

Kijk eens of dit werkt.
Code:
NewBook.Sheets(1).PasteSpecial Paste:=xlPasteValues
 
die had ik zelf ook al gevonden, ik krijg een error of iets dergerlijks, een scherm met een rode circel waar een wit kruis in staat en de vermelding 400.
 
lakizali
die had ik zelf ook al gevonden, ik krijg een error of iets dergerlijks, een scherm met een rode circel waar een wit kruis in staat en de vermelding 400.
Is de naam juist van de nieuwe file?
 
ik gebruik de applicatie GetSaveAsFilename dus dan bepaal ik de naam van het bestand achteraf pas toch?
 
Als je de code met F8 doorloopt dan zie je waar het fout gaat.
Die regel zal je moeten aanpassen.

Ik ben in VBA geen Kei maar een echte amateur.
Dus ik kan je niet verder helpen.
 
ik ben er helaas ook niet bekend mee, bedankt iig voor je hulp, hopelijk weet iemand anders het.
maar k stop er mee voor vandaag, morgen weer een dag
 
Neem de handelingen op met de vba-recorder, dan zie je vanzelf hoe het moet zijn.
 
pas het regeltje van ExcelAmateur eens zo aan:

Code:
NewBook.Sheets(1).Cells(1, 1).PasteSpecial xlValues

of zo:

Code:
NewBook.Sheets(1).Range(SourceRange).PasteSpecial xlValues
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan