List plán by se tak dal generovat podle aktuálních dat a nebylo by nutné mít předdefinováno pro každý stroj 6 řádků natvrdo.
Jinak kód pro vytvoření seznamu k tisku
'********************************************************
Columns("E:BE").Select
Selection.EntireColumn.Hidden = True
cislosloupce = 5 + hodnota2
...
'*****prvni týden****************************************
If cislosloupce = 6 Then
Columns("F:F").Activate
Selection.EntireColumn.Hidden = True
Columns("F:F").ColumnWidth = 50
tydenc = Range("F1")
Range("A1").Activate
Set Rng = Range("F1:F577")
i = 1
For counter = 1 To Rng.Rows.Count
If Rng.Cells(i) = 0 Then
Rng.Cells(i).EntireRow.Hidden = True
i = i + 1
Else
i = i + 1
End If
Next
Range("A1").Activate
který se opakuje 52 x lze zapsat do jednoho cyklu, který obslouží jakýkoli týden
With Sheets("Plan")
.Columns("E:BE").EntireColumn.Hidden = True ' skrytí sloupců týdne
cislosloupce = 5 + hodnota2
tydenc = hodnota2
.Columns(cislosloupce).ColumnWidth = 50 ' zviditelnění vybraného týdne
For i = 2 To .Cells(Rows.Count, 1).End(xlUp).Row
If .Cells(i, cislosloupce) = 0 Then
.Rows(i).EntireRow.Hidden = True
End If
Next i
Range("A1").Activate
End With
Pokud by mělo jít jen o pouhé generování "plánu", pak bych to asi řešil prachsprostým odpočítáváním týdnů.
1x týdně - 52x
1x za 14 dní - 26x (každý sudý nebo lichý)
1x za 3 měsíce - 4x (1, 13, 26 a 39t)
1x za 1/2 roku - 2x (1 a 26t)
1 x za rok - 1x (52t)
jen netuším od kdy má výpočet začít. Od prvního týdne v roce nebo od nějakého konkrétního datumu?citovat