Stránka 1 z 1
EXCEL - Macro po spusteni na schovani radku
Napsal: 28 zář 2010 13:10
od kogi
Ahoj,
potreboval bych spoustet macro po otevreni souboru.
Jednalo by se o macro, ktere by schovalo radky a to jenom radky u kterych by bylo v prvni bunce radku cilso 1.
Dik za jakekoli napady.
Re: EXCEL - Macro po spusteni na schovani radku
Napsal: 28 zář 2010 14:26
od navstevnik
Nize uvedenou proceduru vloz v editoru VBA (Alt+F11) do modulu ThisWorkbbok (Tento sesit), uprav nazev listu, na kterem maji byt skryty radky obsahujici ve sloupci A:A hodnotu = 1 :
Kód: Vybrat vše
Option Explicit
Private Sub Workbook_Open()
Dim Wsht As Worksheet, SBlk As Range, SCll As Range
Set Wsht = Worksheets("list1")
With Wsht
Set SBlk = Intersect(.UsedRange, .Range("a:a"))
End With
For Each SCll In SBlk.Cells
If SCll.Value = 1 Then SCll.EntireRow.Hidden = True
Next SCll
Set Wsht = Nothing
Set SBlk = Nothing
Set SCll = Nothing
End Sub
Procedura se spousti automaticky pri otevreni souboru.
Re: EXCEL - Macro po spusteni na schovani radku
Napsal: 28 zář 2010 15:37
od kogi
Diky moc, to je presne ono, funguje.
Potreboval bych to jeste trosku upravit a to tak aby to zafunguvalo postupne u vsech listu v sesitu, mam 31listu.
O neco jsem se pokousel ale nikam to nevedlo.
Re: EXCEL - Macro po spusteni na schovani radku
Napsal: 28 zář 2010 16:00
od navstevnik
Bylo by vhodne uvest vsechny pozadavky najednou, vraceni se k doplnovani neni efektivni.
Upravena procedura:
Kód: Vybrat vše
Option Explicit
Private Sub Workbook_Open()
Dim Wsht As Worksheet, SBlk As Range, SCll As Range
For Each Wsht In ActiveWorkbook.Worksheets
With Wsht
Set SBlk = Intersect(.UsedRange, .Range("a:a"))
End With
For Each SCll In SBlk.Cells
If SCll.Value = 1 Then SCll.EntireRow.Hidden = True
Next SCll
Next Wsht
Set SBlk = Nothing
Set SCll = Nothing
Set Wsht = Nothing
End Sub