Uzamčená buňka - zákaz změny formátu při kopírování Vyřešeno

Programy pro práci v kanceláři (Word, Excel, Access…=>Office)

Moderátor: Mods_senior

Lůjík
nováček
Příspěvky: 19
Registrován: listopad 13
Pohlaví: Žena
Stav:
Offline

Uzamčená buňka - zákaz změny formátu při kopírování

Příspěvekod Lůjík » 18 lis 2013 14:53

Ahoj potřebovala bych poradit. Mám zamčený list a v něm několik buněk, do kterých je povoleno pouze psát, ale nesmí se v nich měnit formát. To vše funguje do té doby, než někdo text kopíruje z jiné tabulku s jiným formátování (ohraničením aj.), pak se formát zkopíruje ze zdroje a ani nejde změnit, protože je buňka uzamčena proti formátování. Potřebovala bych nějak nastavit, aby se formát nezměnil, případně nějaké automatické makro, které nastaví výchozí písmo,ohraničení i výšku řádku (která se mi po vložení taky změní).

Nebo mě napadlo, zda nejde nastavit parametr, aby do této buňky byly hodnoty vkládány pouze jako vložit jinak->hodnoty.

Existuje nějaké řešení, moc děkuju za pomoc :sigh:

Reklama
guest
Pohlaví: Nespecifikováno

Re: Uzamčená buňka - zákaz změny formátu při kopírování

Příspěvekod guest » 18 lis 2013 17:52

Je to stejné, jako když se ošetřuje přepis Data / Ověření v buňce technikou nakopírování - sledování události Worksheet_Change listu a v případě, že se změnila sledovaná buňka a její vlastnost, vrátit konkrétní vlastnost kódem zpět nebo rovnou použít Application.Undo.

Lůjík
nováček
Příspěvky: 19
Registrován: listopad 13
Pohlaví: Žena
Stav:
Offline

Re: Uzamčená buňka - zákaz změny formátu při kopírování

Příspěvekod Lůjík » 19 lis 2013 16:02

To zní dobře, jen to asi neumím napsat. Nenapsal bys mi kod, který hlídá buňky A1 až B2 a když dojde ke změně, tak vrátí původní formátování. Byla bych Ti mooc vděčná

cmuch
Level 4.5
Level 4.5
Příspěvky: 1544
Registrován: březen 11
Bydliště: Drsná Vysočina :D
Pohlaví: Muž
Stav:
Offline

Re: Uzamčená buňka - zákaz změny formátu při kopírování  Vyřešeno

Příspěvekod cmuch » 19 lis 2013 18:15

Mělo by to splňovat toto.
Vlož do modulu příslušného listu

Kód: Vybrat vše

Private Sub Worksheet_Change(ByVal Target As Range)

Dim rngHlidani As Range
Dim VlozenaHodnota As Variant

'nastaveni hlidani oblasti
Set rngHlidani = Range("A1:B2")

VlozenaHodnota = Target.Value

 ' pokud je vybrana bunka z definovane oblasti tak proved
 If Union(rngHlidani, Target).Address = rngHlidani.Address Then

    With Application
          .EnableEvents = False
          .Undo
        Range(Target.Address) = VlozenaHodnota
          .EnableEvents = True
    End With
 End If
End Sub


  • Mohlo by vás zajímat
    Odpovědi
    Zobrazení
    Poslední příspěvek
  • Super změny
    od jaojao » 24 bře 2024 19:10 » v PC-HELP - připomínky k fóru
    1
    459
    od jaojao Zobrazit poslední příspěvek
    26 bře 2024 12:41
  • prenos suborov a konverzia formatu
    od Sami » 01 dub 2023 12:14 » v Multimédia (filmy, hudba, CDs/DVDs)
    2
    3046
    od Sami Zobrazit poslední příspěvek
    01 dub 2023 13:49
  • Kopírování řádků s funkcí když Příloha(y)
    od Martyn20 » 20 črc 2023 16:50 » v Kancelářské balíky
    3
    1791
    od Melvidor Zobrazit poslední příspěvek
    21 črc 2023 08:41
  • Obnoveni ztracenych fotek z telefonu pri kopirovani do pc
    od Dizzy66 » 21 led 2024 17:08 » v Vše ostatní (sw)
    2
    1023
    od šulda Zobrazit poslední příspěvek
    23 úno 2024 07:12

Zpět na “Kancelářské balíky”

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 7 hostů