12. juli 2012 - 12:59Der er
15 kommentarer og 1 løsning
Kun "sætte" varibler en gang
Hej,
Jeg er igang med at lave et ark hvor jeg i flere moduler og procedure skal bruge de samme variabler med en fast celle reference, mit bud var at bruge nedenstående, men den virker ikke: Public Const Kontanthjælp As String = Sheets("data").Range("B2")
Jeg kan sagtens få lov at dimensionere en varible der gælder for hele arket, men selve referencen til cellens værdi kan jeg ikke få til at virke.
Jeg vil gerne have et modul der kun indeholde henvisningerne til cellerne, så det så vidt muligt kun er et sted jeg skal ind og redigere.
Nej det gør jeg ikke nødvendigvis, men lige nu er alle mine variabler defineret i toppen af et modul, mens selve referencen til cellen skal skrives i hver eneste procedure: Kontanthjælp = Sheets("Data").Range("B2")
Når jeg så bruger variablen Kontanthjælp i 20 forskellige procedure i 5 forskellige moduler, bliver det til rigtig mange steder den samme defination står.
Du kan anvende fuktionerne som konstanter: Sub test() If kontantHjælp > bidrag Then ... Else ... End If End Sub
...hvor disse hentes fra module1 - det er her ud kan ajf. ref. til data. Skal kun defineres 1 x
Public Function kontantHjælp() kontantHjælp = Sheets("data").Range("B2") End Function Public Function bidrag() bidrag = Sheets("data").Range("B3") End Function
Tillægsspørgsmål: Kan man også definere rækker på den måde, jeg har nemlig et ark hvor en masse række vises eller skjules afhængig af forskellige værdier, så i stedet for at sige: Activesheets.Rows("22:25").Hidden = True
KontHjælpRække.Hidden = True
Jeg ved at der vil ske ændringer i arkets udseende, så indhold kan nemt skifte række.
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.