Prestalo fungovat v dusledku:
1. zmena sloupce 
Kod z E:E na D:D a neopravils dusledne v procedure; opraveno.
2. neopravils vychozi hodnotu 
OfsC v dusledku vyse uvedene zmeny; upraveno v procedure, vychozi hodnota je odvozena od bloku HBlk a KBlk
3.
nejednotnost typu vlozenych hodnot kodu ve sloupcich B:B a D:D, nekde cislo a jinde retezec, ukazka mela jednotny typ, takze jsem predpokladal, ze tomu bude tak i nadale; nelze porovnat cislo a retezec, upraveno v procedure, prevod retezce na hodnotu. Doprucuji pred vkladanim hodnoty kodu vyprazdnit sloupce, jednotne naformatovat, bud text nebo vlastni format 000 (tri nuly) a pote vkladat hodnoty kodu, v pripade typu retezec neni 058 totez co 58, totez by melo platit pro hlavicky G1:R1 a sloupec Datum - A:A.
Dale v procedure upravena podminka pro formatovani - pridana neprazdna bunka v G2:Rxx
Upravena a doplnena procedura v dusledku zmeny obsahu sloupcu, osetreni typu Kod a neprazdnych bunek:
Kód: Vybrat vše
Option Explicit
Sub PodmineneFormatovani()
  Dim DBlk As Range, DCll As Range
  Dim KBlk As Range, KCll As Range, OfsC As Integer
  Dim HBlk As Range, HCll As Range
  With Worksheets("list1")
    With .Range("g2:r72")  ' ostranit stary format v G2:Rxx
      .Interior.ColorIndex = xlNone
      .Font.Bold = False
    End With
    Set DBlk = .Range("a2:a72")  ' blok bunek ve sloupci A:A - datum
    Set KBlk = .Range("d2:d72")  ' blok bunek ve sloupci D:D - kod
    Set HBlk = .Range("g1:r1")  ' blok bunek v radku G1:R1 - hlavicky sloupcu
  End With
  OfsC = HBlk.Column - KBlk.Column  ' vychozi hodnota ofsetu sloupcu G:G a K:K
  For Each HCll In HBlk.Cells  ' prochazi blok hlavicek
    For Each DCll In DBlk.Cells  ' prochazi blok Datum
      If DCll.Value = HCll.Value Then  ' pri shode
        For Each KCll In KBlk.Cells  ' prochazi blok Kod
          ' pri shode a neprazne bunce v G2:Rxx
          If Val(KCll.Value) = Val(DCll.Offset(0, 1).Value) And KCll.Offset(0, OfsC) <> vbNullString Then
            With KCll.Offset(0, OfsC)  ' vlozi format bunky pozadi a font
              .Interior.ColorIndex = 6
              .Font.Bold = True
            End With
          End If
        Next KCll
      End If
    Next DCll
    OfsC = OfsC + 1  ' ofset pro dalsi sloupec v bloku G2:Rxx
  Next HCll
  Set KCll = Nothing
  Set KBlk = Nothing
  Set DCll = Nothing
  Set DBlk = Nothing
  Set HCll = Nothing
  Set HBlk = Nothing
End SubPS.: mozna bude vhodne pouzit pro bloy dat dynamickou definici, procedura bude nezavisla na poctu radku a sloupcu