Ginger
Terugkerende gebruiker
- Lid geworden
- 29 dec 2006
- Berichten
- 2.972
Als je in VBA een selectie van cellen in een variabele propt, krijg je een array met meer dimensies.
Dus een reeks cellen in een regel geeft (bijvoorbeeld bereik A1:G1) bij q1 = Range("A1:G1") een array van "1 to 1, 1 to 7".
Een reeks cellen in een kolom geeft (bijvoorbeeld bereik A1:A7) bij q1 = Range("A1:A7") een array van "1 to 7, 1 to 1".
Mijn vraag is dus hoe je de array q1 kan transponeren naar de array q2 maar dat WEL beide dimensies blijven bestaan. Want als je het zo doet: q2 = application.transpose(q1) verandert de array q2 in een één-dimensionale array. Daarop liep dan m'n code stuk toen ik nog niet de functie er bij had die het element voor element omzet.
Het gaat er dus om dat ik één kolom met meerdere regels óf één regel met meerdere kolommen kan selecteren en dat in 1 procedure kan afvangen. Nu doe ik dat door de array's element voor element om te zetten, maar vroeg me af of dat toch nog eenvoudiger met de transpose functie kan. (Ik gebruik deze procedure voor het snel opzetten van bijvoorbeeld puntkomma gescheiden strings.)
Voor de goede orde... M'n procedure werkt zo prima! DAAR hoeft dus opzich niets meer aan te veranderen. Het is voor mij puur het "leer momentje" van die application.transpose....
Dus een reeks cellen in een regel geeft (bijvoorbeeld bereik A1:G1) bij q1 = Range("A1:G1") een array van "1 to 1, 1 to 7".
Een reeks cellen in een kolom geeft (bijvoorbeeld bereik A1:A7) bij q1 = Range("A1:A7") een array van "1 to 7, 1 to 1".
Mijn vraag is dus hoe je de array q1 kan transponeren naar de array q2 maar dat WEL beide dimensies blijven bestaan. Want als je het zo doet: q2 = application.transpose(q1) verandert de array q2 in een één-dimensionale array. Daarop liep dan m'n code stuk toen ik nog niet de functie er bij had die het element voor element omzet.
Het gaat er dus om dat ik één kolom met meerdere regels óf één regel met meerdere kolommen kan selecteren en dat in 1 procedure kan afvangen. Nu doe ik dat door de array's element voor element om te zetten, maar vroeg me af of dat toch nog eenvoudiger met de transpose functie kan. (Ik gebruik deze procedure voor het snel opzetten van bijvoorbeeld puntkomma gescheiden strings.)
Voor de goede orde... M'n procedure werkt zo prima! DAAR hoeft dus opzich niets meer aan te veranderen. Het is voor mij puur het "leer momentje" van die application.transpose....
Bijlagen
Laatst bewerkt: