Kopieren en plakken als waarde van een hele rij op basis van een criterium

Status
Niet open voor verdere reacties.

s_goudsblom

Gebruiker
Lid geworden
5 apr 2001
Berichten
26
Hallo allemaal ik heb de volgende sheet.

Screen_ 2012.03.28 13.41.jpg

Wat ik wil is de waarden uit de tabel in deze sheet naar een volgende sheet kopiëren als de waarde in de eerste kolom "N" is. Dit doe ik met de volgende macro;

Code:
Sub CopyRow()
Dim r As Integer
Dim cell As Range
r = 9
For Each cell In Selection
If cell.Value = "N" Then
cell.EntireRow.Copy Sheets("Sheet2").Cells(r, 1)
r = r + 1
End If
Next cell
End Sub

Hiermee worden keurig alle rijen in de selectie gekopieerd, die voldoen aan de voorwaarde, naar sheet2 vanaf rij 9 (variabele r) en verder.

Het enige wat ik nog wil toevoegen is dat alleen de waarden gekopieerd (paste values) worden.

Kan iemand mij hierbij helpen, alvast bedankt!

Groet Sander
 
Laatst bewerkt door een moderator:
Gevonden!!

Code:
Sub CopyRow()
Dim r As Integer
Dim cell As Range
r = 9
For Each cell In Selection
If cell.Value = "N" Then
cell.EntireRow.Copy
Sheets("Item Data").Cells(r, 1).EntireRow.PasteSpecial xlPasteValues
r = r + 1
End If
Next cell
End Sub

Alleen is het een stuk trager als de eerste macro, iemand daar nog een oplossing voor?
 
Laatst bewerkt door een moderator:
Waarom gebruik je geen autofilter, dan kun je in 1 keer alles kopiëren.
 
Deze macro komt onder een knop heb ondertussen de code alweer aangepast;

Code:
Sub CopyRowInputItem()
Dim r As Integer
Dim cell As Range
r = 9
For Each cell In Worksheets("Input - Item").Range("A9:A200").Cells
If cell.Value = "N" Then
cell.EntireRow.Copy
Sheets("Item Data").Cells(r, 1).EntireRow.PasteSpecial xlPasteValues, SkipBlanks:=True
r = r + 1
End If
Next cell
End Sub
 
Alleen is het een stuk trager als de eerste macro, iemand daar nog een oplossing voor?

Begin je code met Application.ScreenUpdating = False
En eindig dan met Application.ScreenUpdating = True
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan