Inak povedané, nie je možné spoľahlivo určiť, v ktorom liste sa bude skúmať aká oblasť. Ak by ste mal tie oblasti vždy rovnaké, tak napr.:
Sub Kontrola()
Dim SH As Worksheet, Polozka As Range, Pocet As Byte
For Each SH In Worksheets
With SH
Pocet = 0
For Each Polozka In .Cells(2, 2).Resize(13, 1).Cells
Pocet = Pocet + ((Not IsEmpty(Polozka.Offset(0, 1).MergeArea.Cells(1))) And 1)
Next Polozka
Select Case Pocet
Case 13: .Tab.Color = vbGreen
Case 12: .Tab.Color = vbYellow
Case Else: .Tab.ColorIndex = xlColorIndexNone
End Select
End With
Next SH
Set Polozka = Nothing: Set SH = Nothing
End Sub
Ak tie oblasti rovnaké nemáte, dodajte, čo je smerodajné, pre určenie počtu riadkov. Napr. prvý vzorec v niektorom stĺpci ? Alebo niekde v liste je počet položiek ? ...
citovat