Avatar billede swamboo Seniormester
08. oktober 2019 - 22:49 Der er 4 kommentarer og
1 løsning

Statisk array virker ikke

...men jeg gør det nok forkert.

Jeg har en sub som henter et datasæt ned fra en extern fil.
Den lukker jeg igen, men så snart jeg benytter en anden sub er data væk.

Jeg bruger:

Private Sub CommandButton2_Click()

Static Arr As Variant

Er det forkert??
Avatar billede Jan Hansen Ekspert
08. oktober 2019 - 23:14 #1
Variabler, der er erklæret med statisk sætning, bevarer deres værdier, så længe koden kører.

Jeg ville skrive

Dim Arr as Variant ' skrevet før første Sub så er den global variabel
eller
Static Arr As Variant  ' skrevet før første Sub så er den global variabel

Private Sub CommandButton2_Click()
Avatar billede swamboo Seniormester
09. oktober 2019 - 20:41 #2
Det kan jeg ikke få til at virke.
Måske forstår jeg ikke hvor det skal stå først:

Jeg har prøvet i:
Userform koden
Modules koden

Intet virker.
Avatar billede Jan Hansen Ekspert
10. oktober 2019 - 08:37 #3
Option Explicit

Dim Arr As Variant
Static Arr2 As Variant

Sub Et_eller_andet()
    'Indlæser Array
End Sub
Sub Et_eller_andet2()
    'Aflæser Array
End Sub

ej testet, burde virke i både en userform og et modul (tror jeg)
Avatar billede swamboo Seniormester
10. oktober 2019 - 22:27 #4
Perfekt...
Jeg tror dog også det tidligere forslag virker - JEG SKULLE JO BARE HUSKE AT FJERNE DEN ALMINDELIGE DIM I SUB'EN... SUK!!!! :-)

Men det virker - 100000 tak, det er meget værdsat!!!! :-)
Avatar billede Jan Hansen Ekspert
10. oktober 2019 - 22:30 #5
Velbekomme
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
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

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