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

Zaščita celic

Pomoč pri izdelavi makrov

Zaščita celic

OdgovorNapisal/-a dragopre » Po dec 10, 2018 5:32 pm

Pozdravljeni

Na prvem listu dokumenta imam podatke, ki jih uporabnik vnaša.
Na ostalih listih imam poročila in izvlečke teh podatkov. Te liste sem zaščitil, da uporabnik ne bi »pokvaril« formul.
Izbiro zaščitenih celic dovolim, ker z dvo-klikom oziroma desnim klikom prikažem specifikacijo rezultata (seštevka),
oziroma omogočim popravek podatka na osnovnem listu.
Moti me, ker pri poskusu vnosa v zaščiteno celico, uporabnik dobi sporočilo z navodilom za odstranitev zaščite.

Ali je možno to sporočilo zamenjati s svojim sporočilom, npr.: »To je izveden podatek, popravljaj podatke na vnosnem listu.«

Hvala za pomoč, Drago
dragopre
 
Prispevkov: 66
Pridružen: To dec 11, 2012 11:46 pm



Matjazev.NET
 

Re: Zaščita celic

OdgovorNapisal/-a admin » Po dec 10, 2018 8:26 pm

Pozdravljeni,

Jaz ne poznam načina, ki bi omogočil spremeniti sporočilo, ki ga uporabnik dobi ob izboru zaščitene celice.

Edini način, ki ga poznam in s katerim dosežete željeni učinek je uporaba VBA makra:

Koda: Izberi vse
Private Sub Worksheet_Change(ByVal Target As Range)
  ' dovolim spreminjati celice na območju A1 do A10
  If Not (Intersect(Target, Range("$A$1:$A$10")) Is Nothing) Then Exit Sub
 
  ' ostalih ne dovolim
  MsgBox "To je izveden podatek, popravljaj podatke na vnosnem listu."
 
  With Application
    .EnableEvents = False
    .Undo
    .EnableEvents = True
  End With
End Sub


Seveda pa to sedaj preprečuje spremembe tudi iz vaše kode, zato morate - kadar podatke spreminjate iz kode - to posebej testirati... Recimo

Koda: Izberi vse
Public SpreminjamIzKode As Boolean

Private Sub Worksheet_Change(ByVal Target As Range)
  If (SpreminjamIzKode) Then Exit Sub
 
  ' in tako dalje
End Sub


Je nekaj dela, a takšno je pač življenje razvijalcev :)
lp,
Matjaž Prtenjak
Administrator
admin
Site Admin
 
Prispevkov: 3512
Pridružen: Sr jul 20, 2005 10:06 pm

Re: Zaščita celic

OdgovorNapisal/-a dragopre » Po dec 10, 2018 10:23 pm

Najlepša hvala za hiter odgovor.
Nekaj dela je, pa ni prehudo. Saj sem preverjal dogodke lista, nisem pa pomislil,
da lahko izvedem preklic spremembe.

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


Vrni se na VBA

Kdo je prisoten

Po forumu brska: 0 registriranih uporabnikov in 0 gostov

cron