Meerdere "losse" kolommen naar 1 array

Status
Niet open voor verdere reacties.

Scripter

Gebruiker
Lid geworden
15 jun 2009
Berichten
65
Ooit ergens gelezen dat je meerdere "losse" kolommen in 1 keer op kan nemen in een (2d) array.
Het was een oplossing waarbij je simpelweg de kolomnummers op kon geven.
Nu dat ik het nodig heb, nergens meer te vinden...

Stel dat ik vanaf
Code:
range("A1:D3")
alleen de kolommen B en D op wil nemen:

Werkblad ziet er zo uit (voorbeeld uiteraard)
A1 B1 C1 D1
A2 B2 C2 D2
A3 B3 C3 D3

Dan zou mijn array er zo uit moeten zien:
B1 D1
B2 D2
B3 D3

Code:
Arr = range("A1:D3")
geeft de hele range. Volgens mij was het iets als
Code:
Arr = range("A1:D3",2,4)
of
Code:
Arr = range("A1:D3"),2,4
maar dat werkt niet.
Heeft iemand een idee?
 
het simpelst is natuurlijk

Code:
sn=sheet1.cells(1).currentregion
 
Hoi
Ik snap uw vraag totaal niet
maar volgens deze:
Werkblad ziet er zo uit (voorbeeld uiteraard)
A1 B1 C1 D1
A2 B2 C2 D2
A3 B3 C3 D3

Dan zou mijn array er zo uit moeten zien:
B1 D1
B2 D2
B3 D3
Kan je hier iets mee?
Groet
 

Bijlagen

Het gaat er om dat ik een aantal specifieke en niet aangrenzende kolommen uit een range naar een array wil zetten.

dus waar .currentregion alle kolommen (A t/m D) in de array zet, wil ik alleen de kolommen B en D in de array.
 
Toch nog ergens gevonden. Dit is wat ik zocht:
Code:
Dim vArr As Variant, vRows As Variant
Dim lLastRow As Long

lLastRow = 3
vRows = Evaluate("row(1:" & lLastRow & ")")
 
vArr = Application.Index(Columns("A:D"), vRows, Array(2, 4))
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan