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

VBA waarde plakken

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

Hylas

Gebruiker
Lid geworden
5 mrt 2012
Berichten
150
Hallo leden,

Hoe kan ik de waarde plakken ipv onderstaand, want nu worden ook de formules meegenomen, wil alleen de waarde

Code:
Private Sub CommandButton1_Click()
Sheets("Hoofdblad").Range("A2:H7").Copy Sheets("Verzamelen").ListObjects("Tabel1").ListRows.Add.Range
Application.Goto Range("a2")
If MsgBox("wil je het hoofdblad leegmaken ?", vbYesNo) = vbYes Then

    Range("A2:A7,B2").ClearContents
'    Application.Goto Range("a2")
End If
End Sub

Alvast bedankt voor het meedenken
 
Laatst bewerkt door een moderator:
Code:
Sheets("Verzamelen").ListObjects("Tabel1").ListRows.Add.Range.resize(6) = Sheets("Hoofdblad").Range("A2:H7").value
 
Code:
Sheets("Verzamelen").ListObjects("Tabel1").ListRows.Add.Range.resize(6) = Sheets("Hoofdblad").Range("A2:H7").value

Mooi man, opgelost

Dank je wel, ik was gewoon verkeerd aan zoeken naar juiste oplossing.
 
Laatst bewerkt:
Lege regels niet mee nemen

En als ik nu bijv 2 regels invul dan kopieert hij ook de lege regels mee, is hier ook nog een truc voor?
 
Dan wordt het resize(2)
 
A2:H7 heeft zes rijen.
A2:H3 heeft twee rijen.
 
A2:H7 heeft zes rijen.
A2:H3 heeft twee rijen.

Harry heb toch nog een vraag, kijk soms doe ik 2 regels soms 7 maar maar als ik hem op 2 zet en heb 7 regels dan doet hij er dus 2 en niet 7 het gaat er om dat hij variabel moet kunnen zijn en niet de lege cellen plakken.
Heb je hier iets voor.
Bijvoorbaat mijn dank
 
Waarom gegevens 2 maal opslaan in hetzelfde bestand ?
 
Zo dan?
Code:
Private Sub CommandButton1_Click()
[COLOR=#ff0000]if range("a2") > 0 then[/COLOR]
[COLOR=#ff0000]sv = Range("A2", Cells(8, 1).End(xlUp)).Resize(, 12)[/COLOR]
[COLOR=#ff0000]Sheets("Verzamelen").ListObjects("Tabel1").ListRows.Add.Range.Resize(UBound(sv)) = sv[/COLOR]
Application.Goto Range("B2")
 If MsgBox("wil je het hoofdblad leegmaken ?", vbYesNo) = vbYes Then Range("A2:A7,B2").ClearContents
[COLOR=#ff0000]end if[/COLOR]
End Sub
 
Harry nu werkt hij perfect, maar wil er van leren, wat houdt (sv= Range) in en (Resize(UBound(sv)) = sv)
 
Laatst bewerkt door een moderator:
Van het aantal rijen en kolommen wordt een array gemaakt → genaamd sv ( mag ook totaal een ander naam zijn, maar geen benamingen die al vergeven zijn door VBA zelf; bv. Hylas).
Maak eens MsgBoxes aan in de code zoals hieronder en kijk wat voor resultaten je krijgt; zo leer je er wat van.

Code:
Msgbox Ubound(sv)
Msgbox Ubound(sv,2)
Msgbox Lbound(sv)

Met Resize breid je de hoogte en/of de breedte uit.
Resize(aantalrijen, aantalkolommen)
 
Laatst bewerkt:
Dank Harry, ik ga het proberen, altijd leuk om ff te sleutelen met vba
Dank voor de uitleg
 
Laatst bewerkt door een moderator:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan