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

Rijen kopieren

Status
Niet open voor verdere reacties.

peter16

Gebruiker
Lid geworden
2 dec 2000
Berichten
87
Hallo ik heb het volgende probleempje.

Op blad 2 heb ik een database staan (elke regel is een record). Op blad 1wordt middels formules een deel van de inhoud van blad 2 weergegeven. Het aantal records (ingevulde regels) op blad 2 wijzigd voortdurend. Stel dat er 112 regels gevuld zijn. Ik wil nu dat op blad 1 ook maar 112 regels de formules met de verwijzigen bevatten. Ik dacht dit te doen middels een macro. Onderstaand een voorbeeldje waarbij rij 2 de originele te kopieren formules bevat. De variabele hierin is feitelijk "112" in de derde regel van de macro. Dit getal is de afhankelijk van het aantal ingevulde regels in blad 2. Wie weet hoe ik het aantal te selecteren rijen variabel kan maken? Als mijn vraag niet duidelijk is dan verneem ik het wel.

Sub Overnemen()

Rows("2:2").Select
Selection.Copy
Rows("3:112").Select
ActiveSheet.Paste
Range("A2").Select
Application.CutCopyMode = False
End Sub


Alvast bedankt.

Peter
 
Dat kan niet op die manier.
Als je rij 2 kopieert naar onderliggende rijen, dan bevatten al die rijen dezelfde formules, dus komt er ook in alle rijen hetzelfde te staan; dat zal niet de bedoeling zijn.
Als je toch een macro wil gebruiken, kun je beter de rijen in blad 2 doorlopen. Elke keer als een rij gegevens bevat (of bv. alleen de eerste cel van een rij) kopieer je die rij naar blad 1. Dat doe je net zo lang tot je 112 rijen bij elkaar hebt. Met deze aanwijzingen zou het je moeten lukken.
 
kopieren kan wel

Het kopieren op zich is geen probleem. Immers als in cel A 2 van blad 1 de formule staat met een verwijzing naar cel A2 van blad 2 dan veranderd de formule in A2 met kopieren naar A3 uiteraard automatisch door naar verwijzing naar A3 van blad 2.

Mij probleem is dus dat ik een aantal rijeen wil selecteren waarbij het aantal afhankelijk is van het aantal ingevulde rijeen op blad 2. Het aantal ingevulde rijeen kan ik bijv. tellen met een formule als =aantalarg(A1:A200) in blad 2. Maar hoe kan ik deze waarde gebruiken in bijv. bijgevoegde macro?

Peter
 
Ik zou de voorkeur geven aan wat ik hierboven schreef, maar als je jouw methode wil gebruiken, dan moet je je formule met het aantal argumenten in je macro verwerken. Je voegt dan bv. toe: B = WorksheetFunction.CountA(Sheets("Blad2").Range("A1:A200")) en Rows("3:112").Select verander je dan in Rows("3:" & B).Select
Zorg wel dat blad 1 geselecteerd is als je je macro uitvoert. Om daar niet naar te hoeven kijken kun je dus beter toevoegen dat het kopiëren in blad 1 dient plaats te vinden.
Aanvulling: Bovenstaande werkt alleen maar goed als er in Blad 2 geen lege rijen voorkomen (en vind ik dus niet aan te bevelen).
 
Laatst bewerkt:
Hoi Peter,

Ik denk dat mijn databaseje in de discussie "Behouden van celinhoud", laatste antwoord een simpele oplossing is voor jouw 'probleem'. met kleine aanpassingen kun je de verwijzing van blad1 naar blad2 zetten.

Mocht het iets zijn kan ik je wel aangeven hoe je de verwijzingen tot stand moet brengen en hoe je meer kolommen kunt vullen.

Jeroen
 
Geukt

Hallo Fra en Jeroen,

Met name het tweede antwoord van Fra was wat ik zocht. Ik kan hier heel goed mee uit de voeten.

Bedankt.

Peter
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan