< návrat zpět

MS Excel


Téma: Podminene formatovani - vzorec pro VBA makro rss

Zaslal/a 13.5.2021 15:59

Zdravim vas,

potrebuji prosim tento vzorec pro podminene formatovani vlozit do makra.
A($B4="/n";$N4<>3333)

Selection.FormatConditions.Add Type:=xlExpression, Formula1:= _
"=A($B4="/N";$N4<>3333)"

Pokud ho však vložím do VBA kodu, tak mi hlasi Compile error - Expected End of Statement.

Pokud vsak makro nahraju a vlozim tento kod, tak mi ho VBA prevede do tohoto formatu, ktery sice nehaze compile error, ale nefunguje. 4
Selection.FormatConditions.Add Type:=xlExpression, Formula1:= _
"=""A($B4=""""/n"""";$N4<>3333)"""

Muze mi nekdo, prosim poradit, jak vzorec do VBA zapsat aby byl funkcni a kompilovatelny?

Diky

Zaslat odpověď >

#050669
elninoslov
With Range("B4").FormatConditions.Add(Type:=xlExpression, Formula1:="=AND($B4=""/n"";$N4<>3333)")
.Font.Bold = True
.Interior.Color = vbRed
End With

Ale problém je v jazykovej mutácii Excelu. FormatConditions nemá možnosť vkladať vzorce v lokálnom prevedení (FormulaLocal). Bežne sa ale vo VBA vkladajú EN vzorce. No zrovna FormatConditions vkladá Local vzorce. Problém ale niesú len preklady, ale aj oddeľovače "," vs ";". Riešením by možno bolo dočasne rýchlo vložiť do bunky (alebo do Def. názvu) EN vzorec cez Formula, a prečítať ho naspäť ako FormulaLocal, a tento prečítaný vložiť do FormatConditions, keďže tam sa vkladajú len FormulaLocal. Pokus som ale nerobil. Možno neskôr...
Samozrejme v CZ nie je AND ale je tam A.

EDIT: tak predsa rýchlo...
Names.Add "LOCAL_HELP", RefersTo:="=AND($B4=""/n"",$N4<>3333)"
With Range("B4").FormatConditions.Add(Type:=xlExpression, Formula1:=Names("LOCAL_HELP").RefersToLocal)
.Font.Bold = True
.Interior.Color = vbRed
End With
Names("LOCAL_HELP").Delete

Ale kurzor musí byť na 1 riadku, v tomto prípade na B1.citovat
#051160
avatar
Problém v tomto případě není v lokalizaci vzorce, ale v nevhodném způsobu naplnění vlastnosti Formula1.
Zkuste zapsat příkaz takto:

Selection.FormatConditions.Add Type:=xlExpression, _
Formula1:="=A($B4=""/N"";$N4<>3333)"citovat

Uživatelské menu

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

Menu

Formulář Faktura

Formulář Faktura IV

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

Helios iNuvio

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.

On-line nástroje