Trädvy Permalänk
Medlem
Plats
Stockholm
Registrerad
Aug 2005

Eval() i VBA?

Vill skapa en array som heter vad som finns i en cell i Excel i ett VBA macro

ex.
Eval ("Dim arr" & Range("A1").value & "(1 To 384) As String")

men det fungerar inte. förslag?

Stationär: FD Define R4 | Asus P8Z77-V Pro | Core i5 3570K @ 4.23GHz | 8 GB Corsair Vengeance @1648Mhz | Asus Radeon HD 7790 | Samsung Evo 850 512 GB | Win 10 Home x64 | NAS Synology 210j 2x2TB Samsung F4

Trädvy Permalänk
Medlem
Plats
Hemma
Registrerad
Dec 2006

blir inte det svårt att "hålla koll" på arrayn om du inte har ett bestämt namn?
förmodar att du har flera columner som ska bli vars en array?

kanske kan använda en två dimensionell array istället?
så du får en "rubrikrad" och sen själva arrayn.
ex:

i excel:

A B 1 hej hej då 2 1 4 3 3 7

i vba:
din_array(1,1) = range("A1").value '(hej)
din_array(1,2) = range("A2").value '(1)
din_array(1,3) = range("A3").value '(3)

din_array(2,1) = range("B1").value '(hej då)
din_array(2,2) = range("B2").value '(4)
din_array(2,3) = range("B3").value '(7)

detta borde ge dig möjligheten att "leta" i arrayn efter den column du söker.
är inte expert på arrayer själv men antar du kan göra en for-loop liknande:

for i=1 to 10
if din_array(i,1)= range("A1").value
blabla
end if
next i

kanske inte perfekt för dig men ganska nära det du söker...