Číselné typy nie sú objekty, a teda sa nenastavujú cez Set. A ešte k tomu Integer! Ten má obmedzenie na 32767. Na farby potrebujete Long.
EDIT: A ešte pozerám, že tam vkladáte český vzorec. To nejde do Formula1. To sa dá iba do FormulaLocal, ale podmienený formát takú možnosť nemá. Tam treba iba ENG ekvivalent vzorca vkladať. Možnosť by bola to prekonvertovať cez FormulaLocal nejakej nepotrebnej bunky alebo cez dočasný definovaný názov. Mám sa Vám na to mrknúť?
Hmm, vlastne ani to nepôjde. Lebo ak spustíte na SK alebo EN verzii Excelu vloženie CZ vzorca, síce ako FormulaLocal, výsledok bude rovnaký - nefunkčnosť, lebo "Local" je na EN Office predsa EN, a pod.
EDIT2: No a ešte tam máte ďalšiu zradu. Indexovanie podmienených formátov. Nemôžete používať stále index 1. To sa mení podľa toho, koľko formátov zasahuje do daného rozsahu. Jednoduchšie, prehľadnejšie a menej náchylné k chybe bude priame nastavenie hneď pri vytváraní PF.
Private Sub Workbook_Open()
'Vymazani a naslednem nastaveni podmineneho formatovani
Dim ERR As String
Dim OK As String
Dim X As String
Dim Uvozovka As String
Dim CERVENA As Long
Dim ZELENA As Long
Dim MODRA As Long
Uvozovka = """"
ERR = "ERR"
OK = "OK"
X = "X"
CERVENA = RGB(255, 0, 0)
ZELENA = RGB(0, 255, 0)
MODRA = RGB(0, 0, 255)
With List2
.Cells.FormatConditions.Delete
.Range("A2:A99999").FormatConditions.Add(Type:=xlExpression, Formula1:="=LEN($A2)>17").Interior.Color = vbRed 'CERVENA
.Range("B2:B99999").FormatConditions.Add(Type:=xlExpression, Formula1:="=AND(LEN($B2)<>4;$B2<>"""")").Interior.Color = vbRed 'CERVENA
.Range("A2:A99999").FormatConditions.Add(Type:=xlExpression, Formula1:="=$H2=" & Uvozovka & ERR & Uvozovka & "").Interior.Color = vbRed 'CERVENA
.Range("A2:J99999").FormatConditions.Add(Type:=xlExpression, Formula1:="=$I2=" & Uvozovka & OK & Uvozovka & "").Interior.Color = vbGreen 'ZELENA
.Range("A2:J99999").FormatConditions.Add(Type:=xlExpression, Formula1:="=$I2=" & Uvozovka & X & Uvozovka & "").Interior.Color = vbBlue 'MODRA
End With
End Sub
Ako ešte vidíte, zrovna červená, zelená a modrá farba (a ešte iné) majú svoju konštantu, ktorú Excel rovno pozná a môžete použiť tie. Ak chcete ľubovoľnú farbu mixovať, samozrejme použite to RGB(). V opačnom prípade potom zmažte aj definície aj nastavenie tých premenných farieb.
citovat