Variabel bereik selekteren in Excel-VBA

Status
Niet open voor verdere reacties.

anton44

Verenigingslid
Lid geworden
20 mei 2005
Berichten
1.786
Met de macro recorder heb ik een routine opgenomen waarmee o.a. een vast cellenbereik geselekteerd wordt met de bedoeling de inhoud van tab 2 naar tab 1 te kopiëren. Echter dit bereik A8:U13 kan lege rijen (aan onderzijde) bevatten die ik niet wenst te selekteren.
Mijn aanpak: bepaal het aantal gevulde rijen in het actieve werkblad met ISLEEG enz.(celwaarde= 1 tot 7), deze waarde verwerken in een If-Then routines.
Ik weet echter niet hoe ik de celwaarde kan ophalen en in de routine in te passen.
Graag hulp.
 
Hallo Wigi,
Bedankt voor je snelle reactie. Mijn VBA kennis is echter niet toereikend om mijn oplossing daar uit te halen. Kun je concreter reageren ?
m.vr.gr. anton44
 
Hallo Wigi,
Bedankt voor je snelle reactie. Mijn VBA kennis is echter niet toereikend om mijn oplossing daar uit te halen. Kun je concreter reageren ?
m.vr.gr. anton44

Dan zal jij toch meer gegevens moeten verstrekken, en ook een bestandje bijhangen.
 
Een vereenvoudig model gaat hierbij. Info op blad < Import >
 
Laatst bewerkt:
Anton

Code:
Range("A8:J" & Range("A5") + 7).Cut 'de plaats waar je naar kopieert

In A5 zet je:

=AANTAL(A8:A13)

Wigi
 
Het werkt !!
Ter info: .cut heb ik vervangen door .Select (niet knippen maar plakken is gewenst)
aantal( : ) telt alleen waarden. Hou de voorwaardelijke telling met ISLEEG aan.

Hartelijk dank voor de snelle ondersteuning
 
.cut heb ik vervangen door .Select (niet knippen maar plakken is gewenst)

Wat je neemt hangt af van wat je met dat bereik wilt doen. Geef eens de code NA de regel die ik opgaf.

aantal( : ) telt alleen waarden. Hou de voorwaardelijke telling met ISLEEG aan.

Dat vind ik geen goed idee. De bedoeling is toch dat je telt hoeveel cellen er gebruikt zijn? Wel,

=AANTAL(A8:A13)

is de ideale functie daarvoor. Als het ook tekst zou kunnen zijn, kan je evt.

=AANTALARG(A8:A13)

nemen.

Wigi
 
Wgi,
Met aantalarg krijg ik hetzelfde resultaat, en is eenvoudiger. Neem ik over !
Het toevoegen van code NA wil ik morgen uitproberen, al weet ik nog niet precies wat het betekent en hoe in te voeren.
of: Range("A8:J" & Range("A5") + 7).Cut 'de plaats waar je naar kopieert
NA

of: Range("A8:J" & Range("A5") + 7).Cut 'de plaats waar je naar kopieert
Code NA

of: ?
 
Het toevoegen van code NA wil ik morgen uitproberen, al weet ik nog niet precies wat het betekent en hoe in te voeren.
of: Range("A8:J" & Range("A5") + 7).Cut 'de plaats waar je naar kopieert
NA

of: Range("A8:J" & Range("A5") + 7).Cut 'de plaats waar je naar kopieert
Code NA

of: ?

Hahaha :D :)

Ik bedoel gewoon: wat wil je met het bereik

Code:
Range("A8:J" & Range("A5") + 7)

doen? Knippen, Kopiëren, Wissen, ... Punt is dat je niet

Code:
Range("A8:J" & Range("A5") + 7).Select
Selection.Cut

zoals de macro recorder zou zeggen. Dan flitst je beeld ook minder. Dus vandaar mijn vraag: wat is de code ná de regel die ik je gaf.

Wigi
 
Wigi,
Je voorgestelde methode was reeds geimplementeerd in het testmodel wat ik je gestuurd heb en prima werkt. De keuze voor Copy of Cut hangt uiteraard af van de bedoeling.
Nogmaals dank voor je hulp
 
Wigi,
Je voorgestelde methode was reeds geimplementeerd in het testmodel wat ik je gestuurd heb en prima werkt. De keuze voor Copy of Cut hangt uiteraard af van de bedoeling.
Nogmaals dank voor je hulp

OK in orde.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan