Avatar billede fhansen82 Mester
14. november 2018 - 22:44 Der er 3 kommentarer og
1 løsning

Public variabel i Sheet

Hej

Kæmper med fejlen "Invalid outside procedure".

I "sheet3 (2018 - Input) har jeg alt VBA, altså ingen Modules. Alt script indhold skal kun benyttes i selve det nævnte sheet. Hvordan deklarerer jeg variabel "a" og angiver værdi "10" til denne variabel således den kan benyttes i de private subs jeg har i samme sheet? Variabel "a" sætter værdi for variabel "b", som benyttes i en funktion.

Jeg har prøvet mange forslag fra nettet, men ingen har hjulpet. I nogle tilfælde forsvinder fejlen, men variablen "b" er tom, når jeg kører subs. Når jeg angiver værdi direkte i variabel "b" i sub, er der ingen problemer.
Avatar billede Max_P_Larsen Seniormester
15. november 2018 - 10:12 #1
Public Const a = 1

I Excel 365 virker dette IKKE i et arks kodemodul. Der kommer en "Compile error"-fejl med det samme, når jeg skifter linje: "Constants, fixed-length strings, arrays, user-defined types and Declare statements not allowed as Public members of object modules".

I et "almindeligt" kodemodul, jeg har tilføjet, giver det dog ikke problemer. Så du bliver nok nødt til at tilføje et "Module", hvis du vil have det til at fungere.
Avatar billede fhansen82 Mester
16. november 2018 - 21:21 #2
Jeg har allerede forsøgt at oprette modul og indsætte variabel som public. Men variabel b i object forbliver 0, når jeg sætter den til at svare til variabel a fra modul.

Men måske jeg gør noget galt?
Avatar billede kabbak Professor
17. november 2018 - 10:57 #3
en omvej, kan måske være

Public Function A()
A = 10
End Function

Private Sub test()
B = A * 10
MsgBox B
End Sub
Avatar billede fhansen82 Mester
17. november 2018 - 19:44 #4
Muhahaha, det virkede. MANGE tak :)
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

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