Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

macro rijen overzetten naar ander werkblad op basis van waarde

7,472 views
Skip to first unread message

Carine

unread,
Feb 21, 2010, 2:37:01 PM2/21/10
to
Ik zoek een macro die automatisch alle rijen overzet naar een ander werkblad
op basis van de waarde in een kolom.
Wanneer het woord "volbracht" in kolom D staat, zou de rij automatisch
moeten worden overgezet naar een ander werkblad.

alvast bedankt

Carine

Jan B.

unread,
Feb 21, 2010, 7:06:01 PM2/21/10
to
Carine,

Sub rowcopy()
Dim rij As Long
Dim n As Long
Dim src As Worksheet
Dim trg As Worksheet
Set src = Sheets("Blad1")
Set trg = Sheets("Blad2")

Application.ScreenUpdating = False
rij = trg.[A65536].End(xlUp).Row
For n = 1 To Blad1.[A65536].End(xlUp).Row
If Cells(n, "D").Value = "volbracht" Then
Range(Cells(n, "A"), Cells(n, "K")).Copy
trg.Cells(rij, "A").PasteSpecial
rij = rij + 1
End If
Next
End Sub

wel in de code zelf even de volgende zaken aanpassen aan je toepassing:
juiste werkbladnamen
beginrij op elk blad
kolom waarmee de laatste rij moet worden berekend ("A")
de range cellen die moet worden gekopieerd.

--
Met vriendelijke groet,

Jan B.

"Carine" schreef:

Carine

unread,
Feb 22, 2010, 1:28:01 PM2/22/10
to
Bedankt, dit deel werkt zeer goed, maar ik heb nog een probleem is er een
mogelijkheid dat de macro meteen de rij uit het originele bestand verwijderd?

Met vriendelijke groeten

Carine

"Jan B." schreef:

MvW

unread,
Feb 23, 2010, 2:01:01 AM2/23/10
to
Ik heb de macro van Jan B iets aangepast.

Sub RijVerplaatsen()


Dim rij As Long
Dim n As Long
Dim src As Worksheet
Dim trg As Worksheet
Set src = Sheets("Blad1")
Set trg = Sheets("Blad2")
Application.ScreenUpdating = False

rij = trg.[A65536].End(xlUp).Row + 1


For n = 1 To Blad1.[A65536].End(xlUp).Row
If Cells(n, "D").Value = "volbracht" Then
Range(Cells(n, "A"), Cells(n, "K")).Copy
trg.Cells(rij, "A").PasteSpecial

Range(Cells(n, "A"), Cells(n, "K")).EntireRow.Delete


rij = rij + 1
End If
Next

Application.Goto [blad2!A1], True
Application.Goto [blad1!A1], True
Application.ScreenUpdating = True
End Sub

"Carine" schreef:

Carine

unread,
Feb 23, 2010, 12:38:02 PM2/23/10
to
Als ik dit invul dan verschijnt het volgende scherm:
Fout 400

"MvW" schreef:

MvW

unread,
Feb 24, 2010, 2:58:01 AM2/24/10
to
Dan zijn de baden of een blad beveiligd


"Carine" schreef:

Carine

unread,
Feb 24, 2010, 2:28:09 PM2/24/10
to
De macro werkt volledig, bedankt hiervoor.
Maar ik zit met nog een vraag/ is er een mogelijkheid om de macro
automatisch te laten werken wanneer er in een rij "volbracht" wordt
aangeklikt?

"MvW" schreef:

MvW

unread,
Feb 25, 2010, 2:29:01 AM2/25/10
to
Misschien bedoel je dit.
Klik met de rechter muisknop op woord volbracht
Pas aan (Resize(1, 11)) 11 is t.e.m kolom K

Private Sub Worksheet_BeforeRightClick(ByVal Target As Excel.Range, Cancel
As Boolean) 'Rechter muisknop
Cancel = True
Application.ScreenUpdating = False
If ActiveCell = "volbracht" Then
Cells(ActiveCell.Row, 1).Resize(1, 11).Cut
Worksheets("blad2").Range("A65000").End(xlUp).Offset(1, 0)
Selection.EntireRow.Delete
Application.ScreenUpdating = True
End If
End Sub

"Carine" schreef:

Carine

unread,
Feb 25, 2010, 2:03:02 PM2/25/10
to
Als ik dit invoer in VBA zegt de computer dat er een "=" mist in de volgende
regel

> Worksheets("blad2").Range("A65000").End(xlUp).Offset(1, 0)

Met vriendelijke groeten
Joyce

"MvW" schreef:

MvW

unread,
Feb 25, 2010, 3:44:01 PM2/25/10
to
Dit is een regel
Doordat de regel te lang is wordt deze afgebroken

Cells(ActiveCell.Row, 1).Resize(1, 11).Cut
Worksheets("blad2").Range("A65000").End(xlUp).Offset(1, 0)

Je kan deze ook zo plaatsen

Cells(ActiveCell.Row, 1).Resize(1, 11).Cut _


Worksheets("blad2").Range("A65000").End(xlUp).Offset(1, 0)

"Carine" schreef:

Carine

unread,
Feb 28, 2010, 2:01:01 PM2/28/10
to
Bedankt, het werkt precies hoe het moet.

Vriendelijke Groeten

Carine

"MvW" schreef:

eddy brank

unread,
Jun 17, 2022, 4:55:15 PM6/17/22
to
Op maandag 22 februari 2010 om 01:06:01 UTC+1 schreef Jan B.:
ik heb deze geprobeerd maar hij doet maar 2 rijen copy. en in plaats van voldaan wil ik een naam gebruiken en deze dan naar de (naam) sheet kopie ken iemand mij helpen om deze meer rijen te kopie en check of er niet al zo een rij bestaat.
0 new messages