Toewijzen van een Range aan een Array.

Status
Niet open voor verdere reacties.

MDN111

Gebruiker
Lid geworden
13 aug 2007
Berichten
503
Hallo!

Het lukt mij niet om een deftig inzicht te krijgen op het toewijzen van een Range aan een Array.

Deze code werkt. De betreffende Range van het Actieve Workbook staat netjes in de array:
Code:
Dim aa() As Variant
aa = Range("A1:B5")

Maar deze code werkt niet, alhoewel ik naar dezelfde Range verwijs. Run-time error "13" Type mismatch:
Code:
Dim aa() As Variant
aa = ThisWorkbook.Sheets(1).Range("A1:B5")

Als ik de property .Value toevoeg, werkt het wel:
Code:
Dim aa() As Variant
aa = ThisWorkbook.Sheets(1).Range("A1:B5").Value
Doch deze werkt ook, nu zonder toevoeging van de property .Value:
Code:
Dim oSh As Worksheet, aa() As Variant
Set oSh = ThisWorkbook.Sheets(1)
aa = oSh.Range("A1:B5")
Kan iemand mij daar een verklaring voor geven, a.u.b.

Grtz,
MDN111.
 
Iets declareren als variant is niet nodig en haal de () even weg

Code:
Dim aa
of Dim aa as variant
Zal wel werken.
 
Bedankt voor de reacties, maar het zijn in feite geen antwoorden op mijn vraag. Mijn vraag luidde niet "Hoe los ik het op?", want dat is het probleem niet.

Mijn vraag was "Wat is de verklaring?".

Na nog wat ettelijke zoektochten op het www denk ik hier een afdoende verklaring gevonden te hebben.

Grtz,
MDN111.
:thumb:
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan