Zaslal/a
29.1.2019 13:41má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
Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.
Používáte podnikový systém Helios iNuvio? Potřebujete pomoci se správou nebo vyvinout SQL proceduru? Více informací naleznete na stránce Helios iNuvio.