mohl bych poprosit o radu?
Napsal jsem si jednoduche makro, ve kterem prochazim vsechny bunky A:J, (ve kterych je znazornena stromova struktura) viz. prilozeny soubor a sloupecky ve kterych neni zadny zaznam makro skryje. Bohuzel dopredu nevim kolik bude strom obsahvat radek, proto jsem zvolil hodnotu 65000. Vyreseni ale tolika radek zabere az nekolik vterin

Dekuji
--- Doplnění předchozího příspěvku (26 Kvě 2011 10:12) ---
Rano moudrejsi vecera.
Pokud by nekdo potreboval tak uchazejici reseni by mohlo vypadat snad takhle.
Kód: Vybrat vše
Private Const MAX_RADEK = 65000
Private Const INDEX_J_SLOUPCE = 10
Private Sub Workbook_Open()
Dim max_index As Integer
' Projdeme vsechny listy
For Each sht In Sheets
max_index = 0
' Na kazdem listu jeho sloupce A:J
For radek = 2 To MAX_RADEK
' Vsechny radky, ktere maji v oblasti A:J nejakou zkratku
For sloupec = 1 To INDEX_J_SLOUPCE
If sht.Cells(radek, sloupec).Value <> 0 Then ' Pokud takovou zkratku najdeme tak si uchovame index daneho sloupce
If sloupec > max_index Then ' Chceme vzdy ten nejvetsi index
max_index = sloupec
End If
Exit For
End If
Next sloupec
If sloupec > INDEX_J_SLOUPCE Then ' Od ziskaneho indexu do sloupce J spracujeme vsechny sloupce
sht.Cells(1, max_index).EntireColumn.AutoFit ' Na sloupci ziskaneho indexu nastavime zoztazeni bunky (podle obsahu)
For skryty = (max_index + 1) To INDEX_J_SLOUPCE
sht.Cells(1, skryty).EntireColumn.Hidden = True ' Sloupec schovame
Next skryty
Exit For
End If
Next radek
Next sht
End Sub