Stránka 1 z 1

Makro excel - automatické zamykání buněk  Vyřešeno

Napsal: 17 bře 2016 21:22
od Franťas
Ahoj, chtěl bych se zeptat, nejlépe zkusit vytvořit do mé přílohy makro, tak aby vždy když zapíšu číslo nebo znak v tabulce tak se automaticky uzamkne a buňka nebude být moci editována, smazána, upravena a zamkne se třeba pod heslem. Přesto prázdné buňky aby zůstaly otevřené. Případně jak jako editovatel mohu sám udělat úpravu abych nenarušil makro. Našel jsem nějaké návody ale makra jako taková neznám a nevím jak bych to vytvořil sám, prosím o radu, moc děkuji

Re: Makro excel - automatické zamykání buněk

Napsal: 20 bře 2016 14:02
od guest
Ukázka v čistém sešitu na listu List1, viz VBA (ALT+F11) a modul listu s událostní procedurou Worksheet_Change:

Kód: Vybrat vše

'heslo listu
Const cstrHeslo As String = "heslo"

'před použitím odstraňte zámek všech buněk listu

Private Sub Worksheet_Change(ByVal Target As Range)

    Dim rngBunka As Range

    'odemčení listu heslem
    ActiveSheet.Unprotect cstrHeslo

    'pro každou z měněných buněk
    For Each rngBunka In Target.Cells

        'je buňka prázdná?
        If IsEmpty(rngBunka) Then
            'vyjmi ji oblasti zamčených
            rngBunka.Locked = False
        Else
            'uplatni na ni zámek
            rngBunka.Locked = True
        End If

    Next rngBunka

    'znovuzamčení listu heslem
    ActiveSheet.Protect cstrHeslo
   
End Sub


Před aplikací kódu na jiném listu odstraňte u všech buněk zámek (viz poslední karta dialogu Formát buňky) a přeneste kód do patřičného modulu.

Re: Makro excel - automatické zamykání buněk

Napsal: 23 bře 2016 06:58
od Franťas
Moc děkuji, funguje to přesně podle mých představ!!!!!!!!