< návrat zpět

MS Excel


Téma: Zamčení buňky při zavření souboru rss

Zaslal/a 21.3.2013 13:12

Ahoj,
prosím o pomoc zdatnější :-)
Mám v excelu několik sloupců, do kterých se každý měsíc vyplní do jedné buňky hodnota. Po uložení a zavření souboru bych potřebovala, aby se vyplněná buňka uzamčela. Pomůžete mi? Díky

Zaslat odpověď >

Strana:  « předchozí  1 2 3 4   další »
icon #012534
avatar
Ale ja si snahu predstavujem tak, že tomu budeš venovať viac, než pár minút 1
Môžem vedieť, prečo sú v súbore zlúčené bunky a nie je použité namiesto zlučovania buniek zarovnanie na stred výberu? Je nutné v zlúčených bunkách niečo prepisovať a to ešte k tomu pravidelne?citovat
icon #012539
avatar
Tak čo, Elly, asi nič, že? 1
Zlúčené bunky sú na figu borovú, ale keď sú pre Teba tak "dôležité" tak tuná to máš i pre prípad zlúčených buniek a doubleclickov do bunky (som zvedavý, s čím ešte prídeš) 1
V module:Option Explicit
Public MyLockedRange As Range
V kódovom okne listu:Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Target <> "" Then
If MyLockedRange Is Nothing Then
If Target.MergeCells = False Then Set MyLockedRange = Target Else Set MyLockedRange = Range(Target.MergeArea.Address)
Else: If Target.MergeCells = False Then Set MyLockedRange = Union(MyLockedRange, Target) Else Set MyLockedRange = Union(MyLockedRange, Range(Target.MergeArea.Address))
End If
End If
End Sub
V kódovom okne ThisWorkbook:Option Explicit
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Application.ScreenUpdating = False
Dim SheetToProtect As Worksheet
If Not MyLockedRange Is Nothing Then
Set SheetToProtect = MyLockedRange.Parent
SheetToProtect.Unprotect ("HESLO")
MyLockedRange.Locked = True
SheetToProtect.Protect ("HESLO")
End If
Application.ScreenUpdating = True
End Sub
citovat
icon #012570
eLCHa
@AL

Zrovna řeším problém s ribbonem a narazil jsem na toto:
http://www.rondebruin.nl/ribbonstate.htm

Nezávisle se mi tedy potvrdilo, že VBA má tak trochu problém s pamětí a proto je lepší opravdu používat prostředky, na které se dá spolehnout.

Takže hodnoty ukládat do buněk, pojmenovaných názvů apod. A pokud mám soubor, ve kterém je velké množství vzorců a každý zápis do buňky vyvolá propočet, který trvá i sekundu a to pak otravuje, používám ovládací prvky vložené na skrytý list (label, listbox...)citovat
icon #012572
avatar
@eLCHa
pôvodne som tú poslednú verziu chcel napísať pomocou pomenovaných oblastí, ale trochu ma trápilo, že pokiaľ pomenovanú oblasť po tom, čo sa bunky zamknú, pred uložením zmažem, tak to následne zas hodí chybu. Takže, cez pomenované oblasti by to šlo napr. tak, že vytvorím pomenovanú oblasť pre bunku, o ktorej budem vedieť, že bude zamknutá vždy a túto oblasť postupne rozširovať o ďalšie bunky, pred uložením v nej nechať zas len tú jednu pôvodnú bunku. Pokiaľ Elly určí, ktorá bunka bude zamknutá hneď od začiatku, tak to makro môžem prepísať.citovat
icon #012573
eLCHa
Jsou dvě možnosti
Buď tam tu oblast nechat, dát jí hodnotu např. "=0" a pak testovat, jestli odkaz je typu range. Pokud je tak zamykat. Toto je podle mne lepší, protože by se takto dalo identifikovat list, pro který se má procedura provést (když název existuje, tak...).

Druhou možností je název smazat a testovat jeho existenci.citovat
icon #012575
avatar
Druhou možností je název smazat a testovat jeho existenci.To som práve chcel, ale nejak som nedokázal prísť na to, ako tú podmienku napísať 1

ad Egypt: Včera som to dal do Access a vypadlo 430557 kombinácií 1citovat
icon #012576
eLCHa
Mno tady by posloužilo právě On Error

dim s as string
s = vbnullstring
on error resume next
s=název.value
on error goto 0

if not s = vbnullstring then
'kód
end if
citovat
icon #012577
avatar
Ďakujem, príležitostne to Elly do kódu zapracujem.citovat
icon #012604
eLCHa
ad Egypt: Včera som to dal do Access a vypadlo 430557 kombinácií

Kdybyste někdy neměl co dělat, zajímalo by mě, jestli to to moje makro zvládne ;)))citovat
icon #012612
avatar
@eLCHa:
asi by to zvládlo, ničmenej, než by vygenerovalo výstup, tak by mu to asi pár hodín trvalo (to moje bežalo cca 13 hodín a po uplynutí uvedenej doby malo 270 tis. nekompletných viet ale stále sa snažilo, to áno, akurát, že medzitým sa počítač v podstate nedal na nič iné používať - radšej som nechal bežať v noci). Vaše by možno bežalo kratšiu dobu, ale stále asi príliš dlho na to, aby sa to dalo v praxi používať. To už je fakt lepší ten access, i s napísaním dotazov to trvá podstatne kratšiu dobu. Pokiaľ máte záujem, môžem Vám zdrojové dáta poslať, spolu s tým ako som to poriešil v acesse, slečne som k tomu vytvoril i manuál, môžem zaslať komplet, možno Vás napadne, ako by sa tie dotazy dali tvoriť jednoduchšie. Dajte vedieť, pošlem...
Dopredu totiž nedokážem určiť dostatočný počet uzlov na to, aby každá veta bola kompletná, čiže neviem, koľko tabuliek musím v dotaze zreťaziť a je to taký systém pokus-omyl. Výstup je možné otestovať v Exceli, pokiaľ sú niektoré vety nekompletné, tak v dotaze zreťaziť ďalšiu tabuľku a tak dokola - to asi nie je úplne čisté riešenie, na lepšie som ale neprišiel. Každopádne, keď to človek nakoniec nejako spláca, tak výstup je generovaný behom pár sekúnd.citovat

Strana:  « předchozí  1 2 3 4   další »

Uživatelské menu

Nejste přihlášen(a)
avatar\n

Menu

Formulář Faktura

Formulář Faktura IV

Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.

Helios iNuvio

Používáte podnikový systém Helios iNuvio? Potřebujete pomoci se správou nebo vyvinout SQL proceduru? Více informací naleznete na stránce Helios iNuvio.

On-line nástroje