» Poradna » Programy

Excel - zamezení kopírování formátu bunky

 | Microsoft Windows XP Firefox 13.0.1

Potřeboval bych poradit pokud to jde jak uiživateli zabránit kopírovat s buňkami i jejich formát.

Mám sdílenou tabulku v Excel 2007 do které zapisuje asi 10 uživatelů. Pole k vyplnění jsou odemčená a ostatní prvky aplocha jsou zamčené. Pár jedinců místo vypisování mi obsah kopíruje a přenáší tím i formát a tabulka pak vypadá šíleně. Nevíte jak tomu zabránit?

Mohlo by vás také zajímat

Odpovědi na otázku

 |   |  Microsoft Windows 7 Opera 9.80

a co to obejít tím, že uživatelé budou data zapisovat do jiné buňky, jejíž obsah se pak pomocí odkazu přenese do buňky

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Opera 9.80

... příslušné buňky

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows XP IE 8.0

Elegantnější asi bude makro

Sub ZrusCopy()
EnableControl 21, False
EnableControl 19, False
EnableControl 22, False
EnableControl 755, False
Application.OnKey "^c", ""
Application.OnKey "^v", ""
Application.OnKey "+{DEL}", ""
Application.OnKey "+{INSERT}", ""
Application.CellDragAndDrop = False
End Sub

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows XP IE 8.0

Zapnutí:
Sub PovolCopy()
EnableControl 21, True
EnableControl 19, True
EnableControl 22, True
EnableControl 755, True
Application.OnKey "^c"
Application.OnKey "^v"
Application.OnKey "+{DEL}"
Application.OnKey "+{INSERT}"
Application.CellDragAndDrop = True
End Sub

Souhlasím  |  Nesouhlasím  |  Odpovědět
 | Microsoft Windows XP Firefox 13.0.1

dik za ochotu, ale makra jsou pro mě trochu složitá - používám jen základní funkce.
Jak funguje uvedené makro? Kdy se uvedené makro spouští?

Přesun bunek z jiné vstupní tabulky se mi taky moc nelíbí pro složitost.
Základní tabulka má listů jako je v kalendářním roce týdnů 52. Při duplicitě vstupních tabulek by to bylo už 104
to je z důvodu přehlednosti moc

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows XP IE 8.0

OK, dáme si to krok po kroku a aby se to automaticky spustilo i vypnulo se sešitem:
1. Zazálohuj
2. Zavři všechny Excely a spusť pouze ten sešit, kde chceš omezit kopírování
3. Jdi do Visual Basic editoru - karta vývojář, nebo Alt+F11
4. V levém sloupci si najdi název toho sešitu, rozbal plusem podnabídky a najdi položku ThisWorkBook
4. Na ThisWokbook dej pravé tlačítko a položku View Code
5. Nakopíruj celý následující text:
Option Explicit

Sub EnableControl(Id As Integer, Enabled As Boolean)
Dim CB As CommandBar
Dim C As CommandBarControl
For Each CB In Application.CommandBars
Set C = CB.FindControl(Id:=Id, recursive:=True)
If Not C Is Nothing Then C.Enabled = Enabled
Next
End Sub

Private Sub Workbook_Activate()
EnableControl 21, False ' cut
EnableControl 19, False ' copy
EnableControl 22, False ' paste
EnableControl 755, False ' pastespecial
Application.OnKey "^c", ""
Application.OnKey "^v", ""
Application.OnKey "+{DEL}", ""
Application.OnKey "+{INSERT}", ""
Application.CellDragAndDrop = False
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
EnableControl 21, True ' cut
EnableControl 19, True ' copy
EnableControl 22, True ' paste
EnableControl 755, True ' pastespecial
Application.OnKey "^c"
Application.OnKey "^v"
Application.OnKey "+{DEL}"
Application.OnKey "+{INSERT}"
Application.CellDragAndDrop = True
End Sub

Private Sub Workbook_Deactivate()
EnableControl 21, True ' cut
EnableControl 19, True ' copy
EnableControl 22, True ' paste
EnableControl 755, True ' pastespecial
Application.OnKey "^c"
Application.OnKey "^v"
Application.OnKey "+{DEL}"
Application.OnKey "+{INSERT}"
Application.CellDragAndDrop = True
End Sub

Private Sub Workbook_Open()
EnableControl 21, False ' cut
EnableControl 19, False ' copy
EnableControl 22, False ' paste
EnableControl 755, False ' pastespecial
Application.OnKey "^c", ""
Application.OnKey "^v", ""
Application.OnKey "+{DEL}", Ukázat celý příspěvek

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows XP IE 8.0

Z toho co popisuješ by to chtělo spíš zkusit nějaké základy Accesu a udělat databázi, 52 listů musí být pěkně nepřehledný maglajs na obsluhu i na správu

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows XP IE 8.0

Tak PS2: Ještě jednou stručně, co to vlasně udělá - při otevření souboru to zakáže veškeré kopírování a vkládání (Ctrl+c, Ctrl+v, nabídky přes pravé tlačítko).
Ponechání kopírování a zakázání je kopírování s formátem zkusím vykoumat, ale není teď čas

Souhlasím  |  Nesouhlasím  |  Odpovědět
 | Microsoft Windows XP Firefox 13.0.1

Je to super - dík za Makro.
Jsem zvědav jak se na to budou tvářit naši hříšníci.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows XP IE 8.0

Rád jsem pomohl, kdyby něco, tak napiš na mail, nelezu sem moc pravidelně

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows Vista IE 9.0

To je divné, zkusila jsem si to udělat, přesně krok za krokem, všechno se mi uložilo, s koncovkou .xlsm, ale kopíruju i s formáty vesele dál... Čím to může být?

Souhlasím  |  Nesouhlasím  |  Odpovědět
 | Microsoft Windows XP Firefox 16.0

Musíš mít hlavně povoleno spouštění maker. Pokud to tak nemáš vyjede ti tabulka Bylo zakázáno a musíš je povolit. - platí pro Ofice 2007Makro se musí spustit při startu sešitu jinak to nafunguje

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows Vista IE 9.0

Změnila jsem nastavení "Zakázat všechna Makra s oznámením" na "Zakázat všechna Makra bez oznámení" a stejně se žádné oznámení neobjevilo a pustilo mě to kopírovat a vložit. Pak jsem povolila všechna Makra bez omezení a už to funguje. Je to bezpečné?

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Chrome 57.0.2987.133

Dobrý dendobré rady, jenže já bych uvítal aby ctr+c a ctr+v, resp. přetažení v buňkách fungovalo, ale nezměnilo to formáty....???

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Chrome 59.0.3071.115

Michale super díky za Marko... ale mám otázku zda jde toto aplikovat jen na určité oblasti buněk nebo jednotlivé buňky. záměr je část tabulky nechat s možností kopírování a část jen vpisování dat ručně.a drobnost CTRl+D stále pracuje

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Chrome 59.0.3071.115

Ctrl + D jsou už přidal jen to vztáhnout na oblast sešitu

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Chrome 79.0.3945.79

Slo by toto udelat pouze na zamceny list? Tak abych mohl po jeho odemceni stim pracovat normalne pracovat?

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 10 Chrome 90.0.4430.93

Parádní věc kterou hledám. Jen se chci zeptat jak to udělat tak aby to bylo zakázané pouze když je list uzamčený. Jedná se mi o to abych v době cílené úpravy (vzorců, formátů a dalšího...) mohl copy a paste používat.Předem děkuji za odpověď

Souhlasím  |  Nesouhlasím  |  Odpovědět

Související témata: Vyplnění