"Globalno" poimenovanje lista

Pomoč pri izdelavi makrov
Odgovori
Samo
Prispevkov: 8
Pridružen: Sr Avg 24, 2005 8:40 am

"Globalno" poimenovanje lista

Odgovor Napisal/-a Samo »

Pozdravljeni

V Excelovi datoteki imam liste z dolgimi poimenovanji. V makroju, ki dela s temi listi, sem zato uporabil ukaz set

Koda: Izberi vse

 Set ListCR = Sheets("Podatki CR za bla bla bla") 
V isti datoteki (in modulu) pa sem sedaj napisal še en makro. Ta pa definicije ListCR ne pozna. Ker je nočem še enkrat napisati (listov je namreč veliko), želim definicijo narediti globalno. Torej, da bo 1x napisana in jo bodo vsi makroji v datoteki poznali.

Prosim za pomoč?

lp Samo
admin
Site Admin
Prispevkov: 3691
Pridružen: Sr Jul 20, 2005 10:06 pm

Odgovor Napisal/-a admin »

Pozdravljeni,

Spodaj imate primer, va katerem je vse opisano:

Koda: Izberi vse

Public ListCR As Worksheet

Sub PostaviListe()
  Set Module1.ListCR = Worksheets("List1")
End Sub

Sub VsakaDrugaFunkcija()
  ' najprej kličite funkcijo, ki postavi imena listom
  PostaviListe
  
  ' delajte z listi kar želite
  ListCR.Cells(1, 1).Value = "ups!"
  
  ' ...  in tako dalje
End Sub

Sub InNaslednjaFunkcija()
  ' najprej kličite funkcijo, ki postavi imena listom
  PostaviListe
  
  ' delajte z listi kar želite
  ListCR.Cells(1, 2).Value = "ups 2!"
  
  ' ...  in tako dalje
End Sub
Ideja je torej v tem, da deklarirate globalne spremenljivke, za katere napišete funkcijo, kjer jih inicializirate. Nato pa to funkcijo kličete na začetku vaske druge funkcije.
lp,
Matjaž Prtenjak
Administrator
Samo
Prispevkov: 8
Pridružen: Sr Avg 24, 2005 8:40 am

Odgovor Napisal/-a Samo »

Najlepša hvala, čeprav sem pričakoval več. A sem bom žalil Bilu Gatesu. Niste vi krivi, da ne dela nekaj v smislu

Koda: Izberi vse

 Public ListCR As Worksheet = Worksheets("List1") 
in da niso potrebni posebni makroji za inicializacijo.

No, še enkrat, res hvala za trud in hiter odgovor.

lp Samo
Odgovori