Ve spolupráci se SEDUO jsem vytvořil několik videokurzů:
Kromě klasické provedení požadované akce, změnte pomocí události předvidatelné chování Excelu - například zamezte zobrazování kontextové nápovědy při pravém kliku myší.
Jako všechny události po jejím "odchycení" bude provedena požadovaná akce (například zobrazení dialogového okna. Pokud ale nastavíte argument Cancel na hodnotu True můžete zrušit přednastavené chování Excelu (napřílad nezobrazit kontextovou nabídku). Protože nastane událost a teprve po ní se provádí ono zobrazování kontextové nabídky, takže v události můžete nastavit její nezobrazování.
S těmito nastaveními opatrně, může znást nejen uživatelé, kteří si budou myslet, že jim excel nefunguje, ale může způsobit problémi i Vám pokud budete hledat případnou chybu v kódu.
Nejednodužší ukázka jednoduše deaktivuje zobrazení kontextového menu po kliku na pravým tlačítkem myši.
Private Sub Worksheet_BeforeRightClick(ByVal target as Range, ByRef cancel as Boolean)
' cancel - provede deaktivaci
cancel = True
End Sub
Při kliku pravým tlačítkem myši se objeví dialogové okno. Poté "vyskočí" kontextové menu pro danou buňku.
Private Sub Worksheet_BeforeRightClick(ByVal target as Range, ByRef cancel as Boolean)
MsgBox ("Byl proveden klik pravým tlačítkem myši!")
End Sub
Při kliku pravým tlačítkem myši přičtu do dané buňky hodnotu 2 a navíc nezobrazím kontextové menu.
Private Sub Worksheet_BeforeRightClick(ByVal target As Range, ByRef cancel As Boolean)
' Klikem do buňky přičtu 2
Dim HodnotaBunky As Integer
HodnotaBunky = target.Value
HodnotaBunky = HodnotaBunky + 2
target.Value = HodnotaBunky
' nezobrazím dialogové okno
cancel = True
End Sub
Po dvojkliku se v buňce nezobrazí kurzor
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Cancel = True
End Sub
Po dvojkliku obdržíte dialogové okno
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
MsgBox ("Byl proveden dvojklik pravým tlačítkem myši!")
End Sub
Kombinace předchozích
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
MsgBox ("Byl proveden dvojklik pravým tlačítkem myši!")
Cancel = True
End Sub
Další informace o událostech listu jsou v souhrném článku: Události listu v MS Excel VBA - Pro další náměty k čemu využíváte událost SelectionChange jsou k dispozici komentáře.
Článek byl aktualizován: 19.09.2020 11:07
Pomohl vám článek? Vyřešili jste problém? Můžete mě podpořit zakoupení tabulky (samozdřejmě čokoládové), když kafe nepiji ;) Odkaz na zakoupení čokolády. Za veškerou podporu vám děkuji a samozdřejmě jí využiji do zdokonalování a rozšířování webu.
Případně přidejte odkaz na vaši oblíbenou sociální síť, případně využijste hashtag #JakNaExcel .
Děkuji za váš čas a doufám, že jste nalezli odpověď na svůj problém.
Narazili jste v článku na nejasnost, chybu? Máte tip na vylepšení nebo doplnění článku? Budu rád pokud se zmínite v komentářích.
Microsoft Office (Word, Excel, Google tabulky, PowerPoint) se věnuji od roku 2000 (od dubna roku 2004 na této doméně) - V roce 2017 jsem od Microsoft získal prestižní ocenění MVP (zatím 8x za sebou). Své vědomosti a zkušenosti dávám k dispozici i on-line ve videích pro SEDUO. Ve firmách školím a konzultuji, učím na MUNI. Tento web již tvořím přes 20 let (o Excel píší přes 25). Zdarma je zde přes 1.500 návodu, tipů a triků, včetně přes 350 různých šablon, sešitů a přes 70 taháků v pdf.
Pomohl Vám návod? Sdílejte na Facebooku, G+ |
||
LinkedIn... |
Stránky o MS Office (Excel) produktu společnosti Microsoft. Neslouží jako technická podpora.
| Email na autora: pavel.lasak@gmail.com | Copyright © : Pavel Lasák 2004 - 2025 |