Avatar billede fly__one Nybegynder
12. marts 2006 - 11:42 Der er 13 kommentarer

Arrays og VBA

Hej jeg har et spørgsmål vedr. læsning af ét element i en vektor/matrix.

Dvs. hvis jeg har en vektor bestående af 10,20,30, ønsker jeg at kunne skrive fx 20 i Excel. Hvordan gør man det?
Jeg har forsøgt med: print x(2), men det virker ikke.
Avatar billede kabbak Professor
12. marts 2006 - 11:45 #1
Range("A1") = x(2)
Avatar billede kabbak Professor
12. marts 2006 - 11:46 #2
eller
[A1] = x(2)
Avatar billede kabbak Professor
12. marts 2006 - 11:49 #3
Det virker i det aktive ark, ellers skal du have arket med
eks.
[Ark2].[A1]= x(2)
Avatar billede fly__one Nybegynder
12. marts 2006 - 12:56 #4
Funktionen skal ikke være afhængig af en bestemt celle som ex. (A1).
Det jeg ønsker er, at når jeg har markeret et område (jeg har lavet en funktion) skal jeg i VBA kunne vælge hvilke af elementerne jeg vil skrive i Excel.
Avatar billede kabbak Professor
12. marts 2006 - 13:30 #5
må jeg se din Funktion og hvordan du sætte data ind i Arrayet
Avatar billede kabbak Professor
12. marts 2006 - 13:35 #6
et eksempel

Public Function IndArray(nr As Integer)
ind = Array(10, 20, 30)
IndArray = ind(nr - 1)
End Function


kaldes med
=indarray(1)
det giver værdien 10, for et array starter altid med 0, hvis det er lavet på viste måde.
Avatar billede fly__one Nybegynder
12. marts 2006 - 16:00 #7
mange tak for hjælpen, men "min" n dækker over de variable jeg har i Excel,ark1. Dvs. jeg markerer ex. 10 20 30 i ark1 vha. funktionen ind. Dernæst ønsker jeg internt i VBA at kunne styre hvilken et af tallene jeg skriver ud i ark1

Function ind(n)

Dim i
Dim x(3)
osv.
Avatar billede fly__one Nybegynder
13. marts 2006 - 20:03 #8
Hej min forrige kommentar skulle ikke forstås som jeg har fundet løsning. Mit problem er stadig, at jeg ønsker at kunne markere et område og i VBA styre hvilke af variablene, jeg skriver ud i Excel.
Er det muligt vha. noget lign. nedenstående:

Function ind(n)

Dim i
Dim x(3)

+ Løkke

ind=x(2)

end function
Avatar billede bak Seniormester
13. marts 2006 - 21:11 #9
Function ind(n As Range)
Dim i As Long
Dim v As Variant
x = n    'sæt x = hele området
løkke
ind = x(i, 1)  'udstræk i'te række og 1 kolonne af x
End Function
Avatar billede bak Seniormester
13. marts 2006 - 21:12 #10
Avatar billede fly__one Nybegynder
13. marts 2006 - 22:02 #11
Det virker ikke. Måske fordi jeg ikke har forklaret problemet ordentlig.
Jeg ønsker at markere ex. 3 celler i ark1 vha. en funktion skrevet i vba. Derefter vil jeg kunne "styre" hvilket element, der skal skrives i Excel.
Ex. 100(A1) 200(b1) 300(c1) markeres med funktion og jeg vil kun have 300 som resultat. Hvordan gøres det via arrays???
Avatar billede fly__one Nybegynder
19. marts 2006 - 10:49 #12
Hej Bak, du kan få pointene, da jeg synes du gav inspiration til løsningen.
Avatar billede bak Seniormester
20. marts 2006 - 22:52 #13
nej tak , har selv løst vil jeg hellere have att du viser løsningen så vi kan lære lidt :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi har et stort udvalg af Excel kurser. Find lige det kursus der passer dig lige her.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester