Avatar billede brilleabe Nybegynder
21. marts 2006 - 19:35 Der er 5 kommentarer og
1 løsning

Compile error ved public Array

Hej,

Jeg skal 'transportere' data mellem 2 workbooks og har lidt problemer med dette. Normalt har jeg brugt en public variabel, men nu prøver jeg at flytte et array og så går det galt.

Jeg starter i book1 hvor jeg køre en macro som aktivere book2 og starter en anden makro. I denne makro fyldes data i et array (Arr(5,2). Data ser således ud:

ASDF,    1234
JKLÆ,    2345
QWER,    3456
UIOP,    4567
ZXCV,    5678

nu skiftes tilbage til book1 og jeg prøver at 'aflæse' mit array og det er her det går galt! Jeg får en compile error.

Jeg skal 'aflæse' mit array i book1 og hvis jeg ikke deklarere den i book1 får jeg en compile error, derfor deklarere jeg i book1 (som public) - når jeg så skal loade mit array i book2 går det galt - variable not defined.

Nogen bud på hvordan jeg kommer uden om dette problem, alternativt en anden metode til at flytte et array/data mellem to workbooks?
Avatar billede bak Seniormester
21. marts 2006 - 20:18 #1
Løsningen kunne være Tools/Referencer
Døb Book1's vbaproject noget sigende
I book2 sætter du en reference til book1's project under tools / References.

Nu kan book1's PUBLIC array ses af book2
Avatar billede brilleabe Nybegynder
21. marts 2006 - 21:46 #2
Det lader til at mit array nu kan ses i book2. Super.

Lige et lille tillægsspørgsmål,
Jeg har et andet array som indeholder 3-5 værdier og jeg ønsker at checke en liste med 1-2000 poster igennem for at se om værdien i kolonne A findes i mit array. Kan dette lade sig gøre (jeg ønsker et nyt array indeholdende alle de rækkenumre hvor der er en match)

/Brille
Avatar billede brilleabe Nybegynder
21. marts 2006 - 21:56 #3
(og smider du lige et svar)
Avatar billede brilleabe Nybegynder
15. april 2006 - 08:45 #4
Hej Bak,
Skal du ik' ha' lidt for din indsats?
Avatar billede bak Seniormester
15. april 2006 - 10:21 #5
jo tak, men jeg kan ikke lige greje di andet spm. :-)
Avatar billede brilleabe Nybegynder
16. april 2006 - 09:14 #6
Hej Bak,

Tak for budet. Jeg har heller ikke selv kunne finde en løsning. Jeg checker om en liste med ca 2000 rækker indeholder et af 4 andre numre (tekststreng på 12 tegn). Dvs ca 8.000 kontroller. Derudover har jeg en del kopiering, flytning og formatering af data (resultatet). Jeg har nu fået tiden ned på 0,095-0,01 sec pr kørsel (jeg har mange kørsler). Jeg har prøvet kun at teste for en streng og så kommer tiden ned på 0,09 sec/pr kørsel. dvs jeg kan 'spare' ca 0,005 sec ved kun at teste een streng i stedet for fire. Det er sgu' imponerende så hurtigt vba behandler Array's. Før jeg brugte Array's tog søgningen ca 0,2 sec.
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