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

kopieren en plakken in één regel in VBA

Status
Niet open voor verdere reacties.

Egbert12345

Gebruiker
Lid geworden
13 dec 2010
Berichten
496
Hoi, ik heb een stukje code opgenomen. Als ik een voorbeeldbestandje moet maken, dan hoor ik het wel.

Ik wil dat in de eerste kolom wordt gezocht naar het woordje lege regel en dat daarna de gevonden regel wordt geknipt en dan geplakt in cel A2000. Ik wil het graag in één opdrachtregel doen. Het lukt tot en met het knippen, maar het plakken loopt niet. Wat doe ik verkeerd? Zie onderstaand de code

m.vr.gr. Egbert

'plaats de hulpregel op de juiste plek
For A = 1 To 15000
If Cells(A, 1) = "LEGE REGEL ===>>>" Then Rows(A).Cut: Cells(A, 2000).Paste:
Next
 
Op het eerste zicht (niet getest) :
Bij dat soort zaken moet je van onder naar boven lopen, dus for A=15000 to 1 step -1.
Anders zaag je de tak af waar je op zit.
 
En de hele regel moet in kolom 2000 worden geplaatst?
 
Laatst bewerkt:
Wellicht had ik beter moeten uitleggen Edmoor. Ik wil de gevonden regel verplaatsen naar regel 2000. Ik heb zoeken met de For opdracht gekozen omdat de gezochte regel soms wordt verplaatst
 
Mij is ook niet duidelijk wat je nu probeert te bereiken, maar wellicht dit?
Code:
If Cells(A, 1) = "LEGE REGEL ===>>>" Then Rows(A).EntireRow.Copy Range("A2001"): Rows(A).Delete
 
Laatst bewerkt:
en A=A-1, anders ga je de mist in, na het verwijderen van je rij.
 
Zonder loop:
Code:
Set c = Range("A1:A15000").Find("LEGE REGEL ===>>>", , , xlWhole)
If Not c Is Nothing Then Rows(c.Row).EntireRow.Copy Range("A2001"): Rows(c.Row).Delete
 
Ik denk niet dat er iemand zo oenig is om "LEGE REGEL ===>>>" in een cel te zetten. Maar je weet het niet.:rolleyes:
 
En die regel is dan niet meer leeg :p
 
@edmoor.

Je hebt de gehele rij al met Rows(c.row)
 
Die .EntireRow kan inderdaad achterwege worden gelaten.
 
heu..
Als je een lege regel wilt kopieren naar regel 2000:

PHP:
range("A2000").Entirerow.Clear
range("A2000") = "LEGE REGEL ===>>>"
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan