Ik heb twee problemen met het maken van een bepaalde selectie in een macro in excel
1. Ik gebruik in de macro "Range(Selection, Selection.End(xlDown)).Select" om naar de laatste rij met data in een bepaalde kolom te gaan, maar ik moet één cel lager zijn. Wanneer ik dit gewoon mee 'opneem' dan pakt hij een harde verwijzing naar die cel (zeg bijvoorbeeld A510) maar dit moet dynamisch blijven omdat de laatste rij niet altijd op dezelfde plek zit.
2. Ik heb door middel van IF forumles in excel (dus niet in VBA) een bepaalde check uitgevoerd, als de cel in het ene werkblad leeg is, moet hij dat in een andere ook zijn en anders moet hij een bepaalde berekening uitvoeren. Deze heb ik tot kolom 2000 doorgetrokken. Wanneer ik nu dat werkblad met formules naar een ander werkblad kopieer met plakken speciaal (waarden en getalnotaties) en vervolgens ook met "Range(Selection, Selection.End(xlDown)).Select" de laatste cel wil pakken gaat hij naar rij 2000 toe, terwijl er vanaf bijvoorbeeld cel 150 alleen lege cellen staan. Ik weet wel dat ik door middel van de formule VERGELIJK kan kijken welke cel de laatste is met data, en door middel van INDIRECT kan ik dat in excel gebruiken (bijvoorbeeld als de laatste data in rij 150 staat en ik dit door middel van VERGELIJK als waarde in cel C1) staat kun je met INDIRECT("A"&C1) de waarde van cel A150 naar een andere kopieren. Maar ik wil de waarde van de VERGELIJK formule op een dergelijke manier in VBA gebruiken zodat ik alleen dat gebied kan selecteren waar de data staat.
Heeft iemand voor deze problemen een oplossing?
1. Ik gebruik in de macro "Range(Selection, Selection.End(xlDown)).Select" om naar de laatste rij met data in een bepaalde kolom te gaan, maar ik moet één cel lager zijn. Wanneer ik dit gewoon mee 'opneem' dan pakt hij een harde verwijzing naar die cel (zeg bijvoorbeeld A510) maar dit moet dynamisch blijven omdat de laatste rij niet altijd op dezelfde plek zit.
2. Ik heb door middel van IF forumles in excel (dus niet in VBA) een bepaalde check uitgevoerd, als de cel in het ene werkblad leeg is, moet hij dat in een andere ook zijn en anders moet hij een bepaalde berekening uitvoeren. Deze heb ik tot kolom 2000 doorgetrokken. Wanneer ik nu dat werkblad met formules naar een ander werkblad kopieer met plakken speciaal (waarden en getalnotaties) en vervolgens ook met "Range(Selection, Selection.End(xlDown)).Select" de laatste cel wil pakken gaat hij naar rij 2000 toe, terwijl er vanaf bijvoorbeeld cel 150 alleen lege cellen staan. Ik weet wel dat ik door middel van de formule VERGELIJK kan kijken welke cel de laatste is met data, en door middel van INDIRECT kan ik dat in excel gebruiken (bijvoorbeeld als de laatste data in rij 150 staat en ik dit door middel van VERGELIJK als waarde in cel C1) staat kun je met INDIRECT("A"&C1) de waarde van cel A150 naar een andere kopieren. Maar ik wil de waarde van de VERGELIJK formule op een dergelijke manier in VBA gebruiken zodat ik alleen dat gebied kan selecteren waar de data staat.
Heeft iemand voor deze problemen een oplossing?