< návrat zpět

MS Excel


Téma: Tabulka - zamknout list rss

Zaslal/a 20.3.2023 10:33

AlfanDobrý den,
můžete mi, prosím, někdo poradit, jak zamknout list, na kterém se zadávají data a list je ve formátu Tabulky?
Já potřebuji mít zamknuté pouze záhlaví, názvy sloupců a pak také buňky ve sloupci "E".
Označil jsem všechny buňky na listu a odemkl je.
Pak jsem označil buňky v záhlaví a zamkl je a totéž jsem udělal pro buňky ve sloupci "E", ale jen ty, které jsou teď "aktivní" - v řádku jsou data.
Pak jsem list zamkl.
Jenže při zadání data v prvním sloupci se automaticky nezmění rozsah Tabulky.
CO dělám špatně, a lze to vůbec?
Heslo je: 1234

Děkuji.
Radek

Příloha: zip54678_vnitro-faktura-polozky-tab-wall.zip (19kB, staženo 4x)
Zaslat odpověď >

#054679
avatar
https://www.excel-first.com/autoexpand-excel-tables-on-protected-sheets/citovat
#054680
Alfan
Děkuji.
Ale nefunguje mi to.
To VBA jsem si zkopíroval a zkopíroval jsem i do mého sešitu ten list "switch".
Dovolí mi to přepsat buňku ve sloupci "E", kde mám vzorec.citovat
#054681
avatar
Pretože stĺpec E nemáš uzamknutý!
Označ si CELÝ stĺpec E a nastav Ochrana - Zamknúť bunky.
Potom zamkni zošitcitovat
#054682
Alfan
Tak asi dělám něco fakt špatně...
Já to takto udělal.
Spíš si myslím, jestli nemám špatně to VBA?
Příloha: zip54682_vnitro-faktura-polozky-tab-work.zip (29kB, staženo 2x)
citovat
#054683
avatar
Takže moje odporučenie na uzamknutie celého stĺpca E je omyl: tabuľka preberá aj status Ochrana bunky, takže stačí Ti chrániť vyplnené bunky stĺpca E.
Neskúmal som zverejnené makro, ale inšpiroval som sa návrhom využiť udalosť Selection.Change a tak som odvodil čosi takéto:
Do modulu hárku Data vlož túto procedúru:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column = 5 Or Target.Row = 1 Or Target.Row > Range("A1").End(xlDown).Row + 1 Then
ActiveSheet.Protect (1234)
Range("A" & Range("A1").End(xlDown).Row + 1).Select
Else: ActiveSheet.Unprotect (1234)
End If
End Sub

a malo by to ísť.
Funguje to tak, že v prípade, že sa aktívnou má stať bunka riadka 1 alebo stĺpca E alebo v nižšom než nasledujúcom riadku, hárok sa zamkne s heslom 1234 a aktívnou sa stane prvá voľná bunka v stĺpci A.
Nižšie nepustí skôr, než je vyplnená nasledujúca bunka stĺpca A
Čižecitovat
#054684
Alfan
Jj, funguje je to.
Akorát, když zadávám data a chci přejít "šipkou" ze sloupce "D" de facto přes sloupec "E" do sloupce "F" a skočím do sloupce "E", automaticky se mi kurzor přesune do sloupce "A" o řádek níž.
Musím jedině kliknout do "F" myší.
Nejde to nějak ošetři, aby se ten sloupec "E" přeskočil v tom samém řádku, pokud se budu pohybovat šipkami?
Jde mi jen o komfort zadávání dat.
Ale každopádně děkuji.
Radekcitovat
#054685
avatar
Jedine tak, že pri presune na bunku stĺpca E skočí ZA ňu a nie na začiatok:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column = 5 Or Target.Row = 1 Or Target.Row > Range("A1").End(xlDown).Row + 1 Then
ActiveSheet.Protect (1234)
If Target.Column = 5 Then
Range("F" & Target.Row).Select
Exit Sub
End If
Range("A" & Range("A1").End(xlDown).Row + 1).Select
Else: ActiveSheet.Unprotect (1234)
End If
End Sub
citovat
#054686
Alfan
Super, děkuji, takto stačí.
Radekcitovat

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