Kezdőlap › Fórumok › Excel témák › [Resolved] Zárolt cellák másolása
- This topic has 5 hozzászólás, 3 résztvevő, and was last updated 5 years, 10 months telt el by delila.
-
SzerzőBejegyzés
-
2019-01-21-10:56 #5509
Sziasztok!
Kérdésem, hogy miként lehet megakadályozni, hogy az egyébként jelszóval védett munkalap celláit – részben vagy teljes egészébe – másik munkalapra lehessen másolni.
Köszönöm2019-01-21-13:10 #5510Szia!
Ezt makróval tudod megoldani. A lapfülön – ahol a tiltásokat be akarod vezetni – jobb klikk, Kód megjelenítése. Bejutottál a VB szerkesztőbe. Bal oldalon ki van jelölve a lap, ahonnan kiindultál, jobb oldalon egy üres felületet látsz. Oda másold be a lenti makrót. Mikor a füzetben rálépsz a lapodra, indul a makró, és letiltja a kivágás, másolás, beillesztés és vonszolás lehetőségét.Private Sub Worksheet_Activate() Dim oCtrl As Office.CommandBarControl 'CTRL+C, CTRL+V és CTRL+X letiltása Application.OnKey "^c", "" Application.OnKey "^x", "" Application.OnKey "^v", "" 'Cut menü letiltása For Each oCtrl In Application.CommandBars.FindControls(ID:=21) oCtrl.Enabled = False Next oCtrl 'Copy menü letiltása For Each oCtrl In Application.CommandBars.FindControls(ID:=19) oCtrl.Enabled = False Next oCtrl 'Vonszolás letiltása Application.CellDragAndDrop = False End Sub
Érdemes a lap elhagyásához bevinni a fentiek engedélyezését.
Private Sub Worksheet_Deactivate() Dim oCtrl As Office.CommandBarControl 'CTRL+C, CTRL+V és CTRL+X engedélyezése Application.OnKey "^c" Application.OnKey "^x" Application.OnKey "^v" 'Cut menü engedélyezése For Each oCtrl In Application.CommandBars.FindControls(ID:=21) oCtrl.Enabled = True Next oCtrl 'Copy menü engedélyezése For Each oCtrl In Application.CommandBars.FindControls(ID:=19) oCtrl.Enabled = True Next oCtrl 'Vonszolás engedélyezése Application.CellDragAndDrop = True End Sub
A füzetet makróbarátként (xlsm kiterjesztéssel) kell mentened.
2019-01-21-17:26 #5511Ez gyönyörű Delila!
Egy átlagos felhasználó esetén ad is némi védelmet.
És mi van akkor, ha nyit egy üres munkafüzetet, és oda nemes egyszerűséggel képlettel lemásolja a védett munkalap celláit?
Tehát az új munkalap A1-es cellájába beírja, hogy
=Védett_lap!A1
Majd ezt jobbra és lefelé lemásolja addig, amíg a védett lapon van adat.
Vagy csak azokra a területekre, amiket ki akar nyerni belőle.
???Ez ellen nem nagyon tudsz mit tenni szerintem.
Imre
2019-01-21-20:48 #5512Csakis „átlagos felhasználók” ellen készült. 🙂
2019-01-22-14:42 #5513Köszönöm Delila!
A felhasználók „átlagosak”, de tudjuk mindenre képesek 🙂
Sejtettem, hogy valami makró lesz belőle.
Nincs problémám vele, be is vittem.
De nem megy 🙁
Természetesen makróbarátként lett mentve.
Hiba üzenetet nem ír.Köszi
2019-01-22-14:55 #5514Feltételezem, hogy csak 1 lapod van a füzetben, ezért nem indul sem a lapra lépés, sem a lap elhagyása esetén induló két makró.
Másold át a két makrót a VB szerkesztőben bal oldalon található ThisWorkbook laphoz (lapot kijelölöd, jobbra bemásolod). Az első makró első sorát (Private Sub Worksheet_Activate()) írd át Private Sub Workbook_Open() -re, a másodikét (Private Sub Worksheet_Deactivate()) pedig Private Sub Workbook_BeforeClose(Cancel As Boolean) -ra.
Az első a füzet megnyitásakor, a második pedig a bezáráskor indul automatikusan. Az eredeti, laphoz rendelt két makrót törölheted.
-
SzerzőBejegyzés
- Be kell jelentkezni a hozzászóláshoz.