• 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 van blad 1 naar blad 3 maar wel in een andere cel

Status
Niet open voor verdere reacties.

Scorpio33

Gebruiker
Lid geworden
7 nov 2007
Berichten
27
Ik ben nog maar kort achter de kunst van VBA's gekomen.


Nu ben ik op zoek naar een vba die een bepaalde cel in blad 1 naar blad 3 kopieert en dit doet totdat alle waarden gekopieerd zijn.
De lijst is elke dag weer anders dus het moet in een loop gebeuren totdat alles in de lijst van blad 1 is gekopieerd.

Ik heb er een bestandje aan gehangen zodat het iets duidelijker is hoop ik.
 

Bijlagen

Is het wellicht mogelijk dat je het bestand kan zippen ?

Met vriendelijke groet,


Roncancio
 
Hierbij een zipfile.

Volgens mij moet het zoiets zijn:

Sub w()

Dim i As Integer
Dim lNextRow As Long

If Sheets("blad1").Range("A5").Value <> "" Then
lNextRow = Sheets("blad3").Range("F" & Rows.Count).End(xlUp).Row + 1
Else
lNextRow = 40
End If

For i = 1 To 1
Sheets("blad1").Range(Choose(i, "b3", "b4", "b5", "b6")).Copy Sheets("blad3").Cells(lNextRow, i)
Next

End Sub

Maar dit werkt niet zoals ik het wil. Deze zet ze allemaal achter elkaar en ik wil ze juist in specifike cellen hebben
 

Bijlagen

ik snap de hele logica van onderstaande verwijzingen niet:
G7 moet op "blad 3" op F15 komen
E7 moet op "blad 3" op G16 komen
C7 moet op "blad 3" op G20 komen
A7 moet op "blad 3" op H18 komen

G8 moet op "blad 3" op F30 komen
E8 moet op "blad 3" op G30 komen
C8 moet op "blad 3" op G45 komen
A7 moet op "blad 3" op H33 komen

Of staan er tikfoutjes in?
 
Hallo,

Ik heb de code iets anders gemaakt maar het werkt wel.

Code:
Sub Verplaatsen()
Dim iBeginRij, iSchrijfRij As Integer
    iBeginRij = 7
    iSchrijfRij = 15
    While Worksheets(1).Cells(iBeginRij, "A") <> ""
        Worksheets(3).Cells(iSchrijfRij, "F") = Worksheets(1).Cells(iBeginRij, "G")
        Worksheets(3).Cells(iSchrijfRij + 1, "G") = Worksheets(1).Cells(iBeginRij, "E")
        Worksheets(3).Cells(iSchrijfRij + 5, "G") = Worksheets(1).Cells(iBeginRij, "C")
        Worksheets(3).Cells(iSchrijfRij + 3, "H") = Worksheets(1).Cells(iBeginRij, "A")
        
        iBeginRij = iBeginRij + 1
        iSchrijfRij = iSchrijfRij + 15
    Wend
End Sub

Met vriendelijke groet,


Roncancio
 
ik snap de hele logica van onderstaande verwijzingen niet:
G7 moet op "blad 3" op F15 komen
E7 moet op "blad 3" op G16 komen
C7 moet op "blad 3" op G20 komen
A7 moet op "blad 3" op H18 komen

G8 moet op "blad 3" op F30 komen
E8 moet op "blad 3" op G30 komen
C8 moet op "blad 3" op G45 komen
A7 moet op "blad 3" op H33 komen

Of staan er tikfoutjes in?

Volgens mij zitten er tikfoutjes in. Als ik het goed heb moet er steeds 15 erbij worden geteld.

Met vriendelijke groet,


Roncancio
 
Beste Roncancio en popipipo,

Jullie hadden inderdaad gelijk er zaten wat tikfoutjes in. Maar dat komt omdat ik het net voordat ik met wat anders bezig moest nog even wilde vragen. Mijn excuses daarvoor. :(
Gelukkig kon het jullie niet deren om mij een voortreffelijk antwoord op mijn vraag te geven.
Ik heb echter nog een verzoek in aanvulling op mijn eerste vraag.

Is het ook mogelijk om de eerste 2 rijen vanuit blad 1 in blad 3 te zetten.
Dit te printen.
De cellen in blad 3 leeg te maken, de volgende twee rijen van blad 1 in blad 3 te plaatsen weer te printen weer leeg te maken en weer te vullen met de volgende 2 rijen uit blad 1.
Net zo lang tot de cellen in blad 1 leeg zijn????
 
Beste Roncancio en popipipo,

Jullie hadden inderdaad gelijk er zaten wat tikfoutjes in. Maar dat komt omdat ik het net voordat ik met wat anders bezig moest nog even wilde vragen. Mijn excuses daarvoor. :(
Gelukkig kon het jullie niet deren om mij een voortreffelijk antwoord op mijn vraag te geven.
Ik heb echter nog een verzoek in aanvulling op mijn eerste vraag.

Is het ook mogelijk om de eerste 2 rijen vanuit blad 1 in blad 3 te zetten.
Dit te printen.
De cellen in blad 3 leeg te maken, de volgende twee rijen van blad 1 in blad 3 te plaatsen weer te printen weer leeg te maken en weer te vullen met de volgende 2 rijen uit blad 1.
Net zo lang tot de cellen in blad 1 leeg zijn????
Uiteraard is dat mogelijk maar betekent dit dat de regels steeds bovenaan Blad3 komen te staan of dat steeds de gegevens per 2 regels worden ingevuld volgens het eerder genoemde indeling?

Met vriendelijke groet,


Roncancio
 
Beste Roncancio,

Het blad 1 is al gevuld.
Eerst moet blad 3 vanuit regel 7 en regel 8 gevuld worden. Dan vanuit regel 9 en 10, dan vanuit regel 11 en 12. Als de laatste regel gebruikt is moet het printen stoppen.

ik hoop dat er voldoende informatie is zo. Anders lees ik het wel weer.
 
Vroege vogel !:thumb:

Ik heb de macro aangepast en ik hoop dat het voldoet aan je wensen.

Sub Verplaatsen()
Code:
Dim iBeginRij, iSchrijfRij As Integer
    iBeginRij = 7
        While Worksheets(1).Cells(iBeginRij, "A") <> ""
            iSchrijfRij = 15
            For Teller = 1 To 2
                Worksheets(3).Cells(iSchrijfRij, "F") = Worksheets(1).Cells(iBeginRij, "G")
                Worksheets(3).Cells(iSchrijfRij + 1, "G") = Worksheets(1).Cells(iBeginRij, "E")
                Worksheets(3).Cells(iSchrijfRij + 5, "G") = Worksheets(1).Cells(iBeginRij, "C")
                Worksheets(3).Cells(iSchrijfRij + 3, "H") = Worksheets(1).Cells(iBeginRij, "A")
                iSchrijfRij = iSchrijfRij + 15
                iBeginRij = iBeginRij + 1
            Next
            Worksheets(3).PrintOut
        Wend
End Sub
Als er nog vragen zijn, dan hoor ik het wel.

Met vriendelijke groet,


Roncancio
 
Beste Roncancio,

Als ik de vba laat draaien krijg ik de melding "next zonder for" Maar als de next eruit gehaald wordt krijg je de melding "For zonder next". weet je hoe dit kan en kan woren opgelost??

Groet Scorpio
 
Ja, de computer herkent de For-Next lus niet.
Dit kan gebeuren als er een For (of Next is vergeten) maar aangezien dit hier niet het geval is, kan je beter even het bestand opsturen.

Met vriendelijke groet,


Roncancio
 
Beste Roncancio,

Omdat het zo vroeg was gister had ik toch een aantal dingetjes over het hoofd gezien. :confused:
Vandaag nog even aan het puzzelen geslagen en gezien dat ik bepaalde stukken niet had gekopieerd of had laten staan in de oude macro. Hierdoor herkende hij de next ook niet. Ik had namelijk gedeeltes overgenomen van je macro en in de eerste macro gezet. De macro werkt nu perfect. Precies wat er moest gebeuren.

Duizend maal dank. :thumb:

Groeten Scorpio33
 
Zet de vraag dan maar op opgelost aub, rechts onder op de pagina klikken.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan