..|| Blog || Produkti/Storitve || MExcel || MDodatki || 300 nasvetov ||..

Lastnost: EnableSelection

Pomoč pri izdelavi makrov

Lastnost: EnableSelection

OdgovorNapisal/-a dragopre » Ne feb 17, 2019 7:27 pm

Pozdravljeni

Imam težavo z nastavitvijo EnableSelection=xlUnlockedCells
V delovnem zvezku imam tri liste zaščitene in nastavljeno lastnost: EnableSelection=xlUnlockedCells.
Ko zvezek zaprem in ga ponovno odprem pa se nastavitve spremenijo na: EnableSelection=xlNoRestrictions.
Pri zapiranju vedno potrdim shranjevanje sprememb!

V zvezku imam tudi VBA kodo v kateri v nekaterih primerih listu ukinem zaščito in jo po spremembi zaščitenih celic ponovno vrnem.
Nastavitve EnableSelection v VBA kodi ne spreminjam.
Za test sem v dogodka Workbook_BeforeClose in Workbook_Open dodal naslednjo kodo:

Koda: Izberi vse
Private Sub Workbook_BeforeClose(Cancel As Boolean)
  Prot = Worksheets("Promet").ProtectContents               ' True
  EnSel1 = Worksheets("Promet").EnableSelection             ' 1 (xlUnlockedCells)
  EnSel2 = Worksheets("Namensko").EnableSelection           ' 1 (xlUnlockedCells)
  EnSel3 = Worksheets("Nastavitve").EnableSelection         ' 1 (xlUnlockedCells)
  EnSel4 = Worksheets("Poročilo").EnableSelection           ' 0 (xlNoRestrictions)
  EnSel5 = Worksheets("Projekti").EnableSelection           ' 0 (xlNoRestrictions)
  EnSel6 = Worksheets("Vir_XX").EnableSelection             ' 0 (xlNoRestrictions)
  EnSel7 = Worksheets("START").EnableSelection              ' 1 (xlUnlockedCells)
  Stop                                                      ' TEST
End Sub

Private Sub Workbook_Open()
  Prot = Worksheets("Promet").ProtectContents               ' True
  EnSel1 = Worksheets("Promet").EnableSelection             ' 0 (xlNoRestrictions)
  EnSel2 = Worksheets("Namensko").EnableSelection           ' 0 (xlNoRestrictions)
  EnSel3 = Worksheets("Nastavitve").EnableSelection         ' 0 (xlNoRestrictions)
  EnSel4 = Worksheets("Poročilo").EnableSelection           ' 0 (xlNoRestrictions)
  EnSel5 = Worksheets("Projekti").EnableSelection           ' 0 (xlNoRestrictions)
  EnSel6 = Worksheets("Vir_XX").EnableSelection             ' 0 (xlNoRestrictions)
  EnSel7 = Worksheets("START").EnableSelection              ' 1 (xlUnlockedCells)
  Stop                                                      ' TEST
  Worksheets("Promet").EnableSelection = xlUnlockedCells              ' Za vsak slučaj
  Worksheets("Namensko").EnableSelection = xlUnlockedCells            ' Za vsak slučaj
  Worksheets("Nastavitve").EnableSelection = xlUnlockedCells          ' Za vsak slučaj
End Sub


V komentarju sem zapisal rezultat, ki sem ga preveril pri STOP ukazu.
Če zvezek samo odprem in zaprem ( in ponovim vajo) je rezultat vedno isti:
- Tik pred zapiranjem je nastavitev EnableSelection = xlUnlockedCells
- Ko pa zvezek takoj nato spet odprem pa je nastavitev zopet: EnableSelection = xlNoRestrictions.
Kot, da se nastavitev pri shranjevanju ne bi zapisala ali pa pri ponovnem odpiranju preglasila z neko nastavitvijo, ki jo ne poznam.
Zanimivo, pri listu "START" (ki ni zaščiten) se to ne dogaja.

Saj pri Open lahko postavim nastavitev, vendar dogajanja ne razumem.
Mi lahko pomagate / razložite?

Lep pozdrav, Drago
dragopre
 
Prispevkov: 73
Pridružen: To dec 11, 2012 11:46 pm



Matjazev.NET
 

Re: Lastnost: EnableSelection

OdgovorNapisal/-a admin » Ne feb 17, 2019 8:01 pm

Pozdravljeni,

Ne vem, kaj počnete v VBA kodi, vendar Excel sam zase teh elementov ne spreminja.

To najlažje preverite tako, da
  1. Odprete nov delovni zvezek
  2. V njem odprete tri liste in na prvem nastavite xlNoRestrictions, na drugem xlUnlockedCells in na tretjem xlNoSelection
  3. Na vsakem izmed listov nekaj celic odščitite
  4. Vse liste zaščitite in zvezek shranite
  5. Ko ga ponovno odprete bo vse tako kot je bilo nastavljeno!

Sem vam pripravil tudi primer, kjer so listi zaščiteni z geslom 'test', odščitene celice pa so rumene. Zvezek lahko odpirate, zapirate, popravljate... pa bo vse tako kot je nastavljano.

Napaka je nekje v vaši VBA kodi
lp,
Matjaž Prtenjak
Administrator
admin
Site Admin
 
Prispevkov: 3526
Pridružen: Sr jul 20, 2005 10:06 pm


Vrni se na VBA

Kdo je prisoten

Po forumu brska: 0 registriranih uporabnikov in 2 gostov

cron