< návrat zpět

MS Excel


Téma: Uprava vozorce pro označení víkendů rss

Zaslal/a 14.7.2023 13:16

Zdravím, prosím o úpravu vzorce ve VBA

Funguje mi vzorec

Columns("I:AV").Select
Selection.FormatConditions.Add Type:=xlExpression, Formula1:= _
"=DENTÝDNE(I$1;2)>5"
With Selection.FormatConditions(1).Interior
.PatternColorIndex = 0
.Color = RGB(255, 230, 153)
End With


Ale chtěl bych ho upravit do nějaké čitelnější podoby. Zkoušel jsem, ale ztroskotá to hned na prvním řádku.

With Range("I:AV").FormatConditions.Add(Type:=xlExpression, Formula1:= _
"=weekday(I$1,2)>5")
.Selection.FormatConditions(1).Interior
.PatternColorIndex = 0
.Color = RGB(255, 230, 153)
End With


Děkuji

Zaslat odpověď >

#055179
elninoslov
Nemám tu teraz CZ Excel, ale mne sa zdá, že do PF ako Formula1 musí ísť vo VBA lokálny vzorec.
Sub PF()
With Worksheets("Hárok1").Range("I:AV").FormatConditions.Add(Type:=xlExpression, Formula1:="=WEEKDAY(I$1;2)>5").Interior
.PatternColorIndex = 0
.Color = RGB(255, 230, 153)
End With
End Sub

A ešte ma napadá, určite myslíte I$1 a nie náhodou $I1 alebo I1 ???citovat
#055180
avatar
Jak říká @elnino. V CZ Excel Formula1:="=DENTÝDNE(I$1;2)>5").Interiorcitovat
#055203
avatar
Děkuji, měli jste pravdu, je třeba dát českou verzi, dává to vlastně smysl u podmíněného formátování. 1 Můj kód házel chybu, když jsem zkoušel CZ i EN verzi, je to kvůli tomu, že mi tam chyběl název listu?

A ešte ma napadá, určite myslíte I$1 a nie náhodou $I1 alebo I1 ???

Potřeboval jsem I$1, protože data jsou v prvním řádku I: AV.

Ještě mě napadlo, šlo by to bez podmíněného formátování? Jak jsem říkal, data jsou v prvním řádku I:AV, pokud bude víkend, označit celý sloupec barevně.

Děkujicitovat
#055205
elninoslov
Všetko píšem teraz len z brucha, bez skúšania.

"...Můj kód házel chybu..."

Myslíte ktorý?
Ten prvý práveže vyzerá priechodne...

Ten druhý hodí chybu:
-za 1. lebo je tam EN vzorec aj EN oddeľovač parametrov,
-za 2. lebo to, čo by vrátil "With" (ak by tam bol lokáln vzorec) je už FormatConditions, teda nemôžete vo FormatConditions hľadať ešte .Selection.FormatConditions(1).Interior. Daný objekt takú vlastnosť nemá.

To čo chcete dosiahnuť, teda zafarbiť všetky bunky v I:AV, ak v $I$1>$AV$1 je víkend, je práve najlepšie urobiť pomocou PF.
Druhá možnosť, sledovať makrom zmenu v bunkách $I$1>$AV$1, a vykonať manuálne vyfarbenie buniek, mi príde ako úplná zbytočnosť.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