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

geselecteerde rijen naar volgend blad kopiëren

Status
Niet open voor verdere reacties.

Wout88

Gebruiker
Lid geworden
8 jun 2004
Berichten
23
Hallo Allemaal,

Ik ben op zoek naar een macro-tje waarmee ik alleen de rijen (waarin iets in is gevuld in kolom C)kan kopiëren naar werkblad 2. Ik heb al van alles geprobeerd maar tot nog toe werkt het niet.

Alvast bedankt!,

Een lichtelijk gefrustreerde Wout88
 
Applicatie is neem ik aan Excel...

Waarom alle de rijen waar wat in staat, dan kan je toch net zo goed de hele komen kopieeren, of staat er op het tweede tabblad ook informatie?

Een simpele kolom kopie kan je mer de macro recorder zo zelf maken.
Start de macro recorder, selecteer kolom C, druk op [CTRL]+[C] (=kopie) ga na tabblad twee, ga in cel C1 staan, (als je de kopie in de zelfde kolom wilt hebben) en druk op [CTRL]+[V] (Plakken).
Stop de macro recorder.

Je krijgt dan ongeveer zo iets;

Sub Macro3()
Columns("C:C").Select
Selection.Copy
Sheets("Blad2").Select
Range("C1").Select
ActiveSheet.Paste
Range("C1").Select
End Sub
 
Alleen kolom c kopiëren naar blad 2

Heehallo Withaar,

Allereerst bedankt voor je reactie. Je antwoord is alleen niet precies wat ik bedoel... Het gaat namelijk om een prijslijst van aluminium profielen waarin je in kolom C het aantal en in kolom D de lengte van het profiel wat die rij vertegenwoordigd moet invullen. de kolommen erna zijn formuletjes om de kostprijs te berekenen. Als je alle benodigde profielen hebt ingevult blijjven er rijen open. Alleen de rijen waarin in kolom C en D iets is ingevult moeten gekopiëert naar het blad "offerte" worden.

Wellicht weet jij, of een van de andere help-mij-ers hier een macro-tje voor....?

Alvast bedankt!:thumb:

Groeten, Wout88
 
Sub Macro1()
'
' Macro1 Macro
' De macro is opgenomen op 22-6-2004 door --.
'

Dim x, y, Eerste, Laatste As Long
y = 5 ' eerste rij nieuwe blad
Sheets("Prijslijst").Select
[C1].Select
Selection.End(xlDown)(1).Select 'vind eerste rij blad 1 in kolom c
Eerste = ActiveCell.Row
[C65536].Select
Selection.End(xlUp)(1).Select 'vind laatste rij blad 1 in kolom c
Laatste = ActiveCell.Row
For x = Eerste To Laatste ' controlleer gevonden rijen
Sheets("Prijslijst").Select
If Range("C" & x) <> "" Then 'als niet leeg dan
Rows(x & ":" & x).Select
Selection.Copy
Sheets("Offerte").Select
Range("A" & y).Select
ActiveSheet.Paste
y = y + 1
Else
'
End If
Next x
End Sub

----------------------------------------------------------

Korte uitleg.
Ik ga er van uit dat als C gevult is D ook gevult is, dus daar is geen controle op.
Marco zoekt de eerste rij waar iets op staat op beginnen bij 1 ([C1]) dit kun je aanpassen als er gegevens staan op in rijen in kolom C die niet mee genomen moeten worden.
Daarna wordt de laaste rij gezocht beginend bij in dit geval de laatste rij ([C65536]) ook dan kan je aanpassen voor het geval er gegevens in kolom C staan vanaf een bepaalde rij die niet mee genomen moeten worden.

Vervolgens wordt de gevonden range in kolom C gecontroleerd, staat er een waarde in C wordt deze rij gekopieerd naar het blad offerte beginnend op rij 5 , ook deze waarde kun je zelf veranderen (y), deze staat nu op 5.
y wordt vervolgens opgehoogd met 1 en de controle op tabblad "Prijslijst" gaat verder, lege rijen inkolom C worden gewoon over geslagen.
 
Laatst bewerkt:
Hoi Withaar,

Wederom bedankt voor je antwoord. Ik heb em overgenomen maar ik kreeg een foutmelding bij :
If Range("C" & x) <> "" Then 'als niet leeg dan
Aangezien ik amateur op dit gebied ben weet ik niet hoe ik de fout kan corrigeren. Wel heb ik er weer dingen uit kunnen leren waarmee ik uiteindelijk tot onderstaande ben gekomen: (met heel veel dank aan topics uit dit forum)

Sub Macro1()
'
' Macro1 Macro
' De macro is opgenomen op 21-6-2004 door Aldipro®.
'

'Active worksheet=Blad1
Dim source As Range
Dim wb As Workbook
Dim dest As Worksheet

Set source = Nothing
On Error Resume Next
Set source = Range("C5:C250").SpecialCells(xlConstants)
If source Is Nothing Then
MsgBox "Beste Jan of Michel, je hebt nog geen grondstof geselecteerd hoor!", vbOKOnly
Exit Sub
End If

If source.Cells.Count > 0 Then
source.EntireRow.Select
Selection.Copy
Set dest = Blad3
source.EntireRow.Select
dest.Range("A6").Select
dest.Range("A6").PasteSpecial (xlPasteValuesAndNumberFormats)
dest.Activate
Application.SendKeys ("~")
End If
End Sub

Werkt goed:thumb:
 
bepaalde kolommen plakken

Bijna vergeten...

Hij kopieert nu de hele rijen. Is het ook mogelijk om alleen kolom A , B, I en J uit "grondstoffen" te plakken op A , B,I en J in "offerte" en kolom A,B en Q uit "bewerking" eronder op A,B en I ("offerte")?
Voor blad "bewerking" gebruik ik nagenoeg dezelfde macro, zie hieronder:

Sub Macro2()
'
' Macro2 Macro
' De macro is opgenomen op 23-6-2004 door Aldipro®.
'

'Active worksheet=Blad2
Dim source As Range
Dim r1 As Range, r2 As Range, r3 As Range, myMultiAreaRange As Range
Dim wb As Workbook
Dim dest As Worksheet

Set r1 = Range("C6:C250")
Set r2 = Range("G6:H250")
Set r3 = Range("L6:M250")
Set myMultiAreaRange = Union(r1, r2, r3)

Set source = Nothing
On Error Resume Next
Set source = myMultiAreaRange.SpecialCells(xlConstants)
If source Is Nothing Then
MsgBox "Beste Jan of Michel, je hebt nog geen bewerking geselecteerd hoor!", vbOKOnly
Exit Sub
End If

If source.Cells.Count > 0 Then
source.EntireRow.Select
Selection.Columns("A:A,B:B,J:J,K:K").Copy
Set dest = Blad3
dest.Range("A5").Select
Selection.Insert.source
dest.Range("A5").PasteSpecial (xlPasteFormulasAndNumberFormats)
dest.Activate
Application.SendKeys ("~")
End If
End Sub

Deze werkt nog niet omdat ik volgens mij iets niet goed doe met het selecteren en plakken van van kolom A,B en I
Alvast bedankt!!!!
Wout
 
Het je de marco over getyped of met knippen plakken in Excel gezet?
Ik krijg geen fout melding, vermoed dus dat je een typfout hebt gemaakt.
Laat de " 'als niet leeg " eens weg.

Mogen de waarden uit de andere kolommen niet mee omdat er al data staat op het "grondstoffen" blad, zo niet zou ik gewoon de hele rij copieeren alleen tot slot alle kolommen die je niet wilt hebben wissen ipv cel voor cel te gaan controleren en kopieëren.
 
Subscript valt buiten het bereik?

Heb je advies opgevolgd (macrotje gekopieerd),

Ik krijg nu alleen een melding dat het subscript buiten het bereik valt...

Ik doe nog steeds iets fout, alleen de vraag is wat?

Alvast bedankt!
 
Heb de macro nog ies aangevult en in een bestand gezet.
Loopt als een zonnetje bij mij, dus als i het bij jou nu nog steeds niet doet dan weet ik het echt niet meer.
 

Bijlagen

:thumb: :thumb: :thumb: :thumb: :thumb: :thumb:
Superrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr!!!

Hij doet 't!
Heb de range's ff aangepast en hij werkt als een malle!!!

Ik ga nu proberen of ik hem kan uitbreiden..
Blad1= grondstoffen
Blad2=bewerking
Blad3= offerteAldipro(mijn stagebedrijf)
Blad4=offerteKlant
Blad1 en 2 behoeven dezelfde macro alleen moeten moeten er andere kolommen verwijderd worden in Blad3
Ik ga proberen of ik een "klaar" knop op Blad1 kan maken waarmee je naar Blad2 gaat en een "klaar" knop op Blad2 waarmee jouw macro de ingevulde rijen uit beide bladen (de juiste kolommen) in een keer naar Blad3 knalt. Whoeha!

Voor tips in deze richting hou ik mij uiteraard aanbevolen.
In ieder geval heel hartelijk dank voor je tijd en moeite tot nu toe! Ik ben echt een gigantisch eind verder gekomen.

Vriendelijke Groet, Wout:thumb:
 
Nou een marco die je alleen maar naar een ander tabblad brengt is simpel.

Sub Macro3()
Sheets("naam_ander_tabblad").Select
End Sub

Even een button maken, macro er aan koppelen, button een logische naam geven en klaar.
 
is gelukt! sorry voor de vertraging met het antwoord

Beste Withaar,

Sorry voor de late reactie maar mijn internet lag eruit en had geen mogelijkheid tot ergens anders verder gaan. Dat naar een ander blad gaan is goed gelukt.
Nu moet ik allleen nog de uitkomsten van het blad "grondstoffen" (staan in kolom A,B,K en L) en de uitkomsten van blad "bewerking" (staan in kolom A,B en Q) samen laten komen in blad "offerte".
De kolommen A en B van beide bronbladen kunnen naar kolom A en B gekopiëerd worden in het doelblad "offerte". Kolom K en L in "grondstoffen" kunnen naar K en L in "offerte".
Kolom Q van "bewerking" moet naar kolom K in "offerte".
Weet jij hoe ik dit in een macro kan gieten?

Alvast bedankt:thumb:
Wout
 
Plaats het bestand (als een zip file) wat je nu hebt even, dan wil er wel naar kijken.
 
was met vakantie vandaar de late reactie

Beste Withaar,

Ik hoop dat het is gelukt met het zip bestand. Ben hier namelijk niet bekend mee.

Alvast bedankt,

Wout88:thumb:
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan