< návrat zpět

MS Excel


Téma: VBA - není možné nastavit vlastnost Locked třídy rss

Zaslal/a 29.1.2019 13:41

mám v Excelu ve formuláři přidaný VBA kód, který mi v jednom okně ošetřuje velikost textu (při zadání většího množství textu automaticky zmenší velikost písma, aby se text vešel do okna) a dále mi hlídá další buňku a dle hodnoty této buňky zavírá a otevírá pomocí funkce .Locked jiné buňky sešitu a mění jejich nastavení (barva, hodnota,...). Mám ale problém, že když jsou aktivní (nezakomentované) obě funkce, tak mi ta druhá funkce nechce fungovat a hlásí to hlášku "není možné nastavit vlastnost Locked třídy Range". Už si s tím nevím rady a budu vděčný za nápovědu. Děkuji. Kod je níže ...
Private Sub Worksheet_Change(ByVal polozka As Range)
' 1. položka
If polozka.Address = "$J$9" Then
ActiveSheet.Unprotect
'bila barva cele oblasti a jeji odemceni (bunek)
Range("N9:O10").Interior.ColorIndex = 2
'-- hotově
If polozka.Value Like "*hotově" Then
Range("N9").Interior.ColorIndex = 15
Range("N9:N10").Formula = "---"
Range("N9:N10").Locked = True
Range("O9:O10").Locked = False
Range("O9").Value = ""
End If
'-- terminál
If polozka.Value Like "*terminál" Then
Range("O9").Interior.ColorIndex = 15
Range("O9:O10").Formula = "---"
Range("O9:O10").Locked = True
Range("N9:N10").Locked = False
Range("N9").Value = ""
End If
'-- prázdná hodnota
If polozka.Value = "" Then
Range("N9:O10").Interior.ColorIndex = 2
Range("N9:O10").Formula = ""
Range("N9:O10").Locked = True
End If
ActiveSheet.Protect

End If
End Sub

Sub Worksheet_Calculate()
With Range("E9")
ActiveSheet.Unprotect
If Len(.Text) > 59 Then
.Font.Size = 8
Else
.Font.Size = 11
End If
ActiveSheet.Protect
End With
End Sub

Zaslat odpověď >

#042618
avatar
Ty událostní procedury se perou s vlastním obsahem. Když v událostní proceduře Change měníte obsah buněk, vyvoláváte tím další volání této procedury. Když měníte vzorce, vyvoláváte asi nový přepočet. A tak dokola. Zkuste se podívat na účinek Application.EnableEvents, který by mohl v tomto případě velmi pomoci.citovat
#042648
avatar
Super, děkuji moc. Vypadá to, že to byl ten problém ... :-)citovat

Uživatelské menu

Nejste přihlášen(a)
avatar\n

Menu

On-line nástroje

Formulář Faktura

Formulář Faktura IV

Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.

Aktivní diskuse

odpocet a storno tl.

PavDD • 28.3. 8:53

odpocet a storno tl.

Začátečník • 26.3. 14:39

odpocet a storno tl.

PavDD • 26.3. 10:22

odpocet a storno tl.

elninoslov • 26.3. 7:50

odpocet a storno tl.

PavDD • 26.3. 7:26

odpocet a storno tl.

elninoslov • 25.3. 22:34

odpocet a storno tl.

Začátečník • 25.3. 15:09