EXCEL - Macro po spusteni na schovani radku

Programy pro práci v kanceláři (Word, Excel, Access…=>Office)

Moderátor: Mods_senior

Odpovědět
kogi
nováček
Příspěvky: 2
Registrován: 28 zář 2010 13:04

EXCEL - Macro po spusteni na schovani radku

Příspěvek 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.
navstevnik
Level 4
Level 4
Příspěvky: 1142
Registrován: 29 srp 2008 16:49

Re: EXCEL - Macro po spusteni na schovani radku

Příspěvek 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.
kogi
nováček
Příspěvky: 2
Registrován: 28 zář 2010 13:04

Re: EXCEL - Macro po spusteni na schovani radku

Příspěvek 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.
navstevnik
Level 4
Level 4
Příspěvky: 1142
Registrován: 29 srp 2008 16:49

Re: EXCEL - Macro po spusteni na schovani radku

Příspěvek 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
Odpovědět
  • Podobná témata
    Odpovědi
    Zobrazení
    Poslední příspěvek
  • Přechod z Excel 21 na Excel 24
    od Snekment » » v Kancelářské balíky
    2 Odpovědi
    14494 Zobrazení
    Poslední příspěvek od Snekment
  • Spuštění PC
    od Elbeckho » » v Problémy s hardwarem
    11 Odpovědi
    7098 Zobrazení
    Poslední příspěvek od Kminek
  • Chybová hláška your device ran into a problem and needs to restart při spuštění pc
    od nevim1050 » » v Vše ostatní (hw)
    8 Odpovědi
    14509 Zobrazení
    Poslední příspěvek od nevim1050
  • Pohoda a excel
    od brownwld » » v Kancelářské balíky
    1 Odpovědi
    7414 Zobrazení
    Poslední příspěvek od atari
  • Tisk sloupců vedle sebe na A4 - Excel
    od atari » » v Kancelářské balíky
    5 Odpovědi
    5999 Zobrazení
    Poslední příspěvek od atari

Zpět na „Kancelářské balíky“