< návrat zpět

MS Excel


Téma: obarvení rss

Zaslal/a 22.8.2011 15:01

JAKDobrý den,
napsal jsem makro, které mi obarvuje řádky. Jediný problém je, když jsou na řádku sloučené buňky. Přikládám příklad. Poradíte někdo prosím? Předem děkuji.

Příloha: zip5845_pokusobarveni.zip (12kB, staženo 32x)
Zaslat odpověď >

#005847
avatar
Přiznám se, že příkladu moc nerozumím.
- Príklad je slabý, jako vzorek dat. Chtělo by to naplnit hodnotami nebo sloučit oblasti.
- Místo testování oblasti, je lepší procházet v cyklu For each C in Range(oblast) a nemusí Tě zajímat sloučená pole.
- Proč nepoužiješ podmínění formátování ?
R.citovat
#005849
JAK
To je víc dotazů než odpovědí. 2 Jde mi jen o řádky 28 a 29.Tam je jasně vidět, kde je nedostatek makra.Řádky by po proběhnutí makra měly být zelené, ale některé buňky zůstanou černé. Podmíněné formátování nepoužiji, protože to potřebuji mít napsané makrem.Poradí někdo...prosím? 2citovat
#005850
avatar
Otázky jsou nutné, když nepodáš vysvětlení co Ti nejde.
Chybu máš v logice ... používáš FOR I = 1 atd.
Máš krok kdy i = 28 řádek se zazelená a v kroku 29 se znovu začerní. Přečti si předchozí příspěvek a použij for each a nemusíš řešit přeskakování sloučených buněk. R.citovat
#005855
avatar
Zkus:
Sub obarvit()
Dim i As Long

For i = 2 To Cells(65000, 3).End(xlUp).Row

If Cells(i, 9).Value = "repríza" Then
Call MergeRows(&HFF00FF, i)
Rows(i).Font.Color = &HFF00FF

ElseIf Cells(i, 9).Value = "CPP" Then
Call MergeRows(&H0&, i)
Rows(i).Font.Color = &H0&

ElseIf Cells(i, 5).Value = "Promo okno" Then
Call MergeRows(&HFF&, i)
Rows(i).Font.Color = &HFF&

Else
Call MergeRows(&H8000&, i)
Rows(i).Font.Color = &H8000&

End If
Next i

Columns(1).Font.Color = &HFF&
Columns(2).Font.Color = &HFF&

For a = 1 To Cells(65000, 3).End(xlUp).Row
If Cells(a, 2).Value = "HD" Then
Cells(a, 2).Font.Color = &H0&
End If

If Cells(a, 1).MergeArea.Count > 1 Then
Cells(a, 1).Font.Color = &HFF&
End If

Next a

End Sub
Sub MergeRows(Color As Variant, i As Long)
For j = 2 To Cells(i, 200).End(xlToLeft).Column
If Cells(i, j).MergeCells Then Cells(i, j).Font.Color = Color
Next j
End Sub
citovat
#005856
JAK
Děkuji mnohokrát 26citovat

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

Výmaz řádku podle hodnoty v konkrétním sloupci

elninoslov • 7.2. 21:49

Výmaz řádku podle hodnoty v konkrétním sloupci

Alfan • 7.2. 14:02

Výmaz řádku podle hodnoty v konkrétním sloupci

Alfan • 7.2. 11:44

plán 12 h směn na celý rok

PE1PA • 6.2. 14:56

plán 12 h směn na celý rok

elninoslov • 6.2. 14:16

plán 12 h směn na celý rok

elninoslov • 6.2. 14:15

plán 12 h směn na celý rok

elninoslov • 6.2. 13:21