Sub UpravaDat() Dim D(), V(), i As Long, p As Long, RNG As Range With ThisWorkbook.Worksheets("Sheet1").UsedRange D = .Value ReDim V(1 To UBound(D, 1), 1 To UBound(D, 2)) i = 1 While i <= UBound(D, 1) Select Case True Case D(i, 1) = "Číslo zboží" p = p + 2 V(p - 1, 1) = D(i, 3) If RNG Is Nothing Then Set RNG = .Cells(p - 1, 1) Else Set RNG = Union(RNG, .Cells(p - 1, 1)) i = i + 1 V(p, 1) = D(i, 2) V(p, 2) = D(i, 4) V(p, 3) = D(i, 10) V(p, 4) = D(i, 6) Case IsEmpty(D(i, 2)) Or D(i, 1) = "Období:" Or Left$(D(i, 1), 8) = "EuroShop" p = p + 1 Case D(i, 5) = "ND" p = p + 1 V(p, 1) = D(i, 3) V(p, 2) = D(i, 5) V(p, 3) = D(i, 11) V(p, 4) = D(i, 7) End Select i = i + 1 Wend .Value = V .Columns(1).ColumnWidth = 17.14 .Columns(1).NumberFormat = "dd.mm.yyyy hh:mm:ss" .Columns(3).Resize(, 2).NumberFormat = "#,##0.00" End With If Not RNG Is Nothing Then RNG.Interior.Color = vbYellow End Sub