EXCEL - Macro po spusteni na schovani radku

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

Moderátor: Mods_senior

kogi
nováček
Příspěvky: 2
Registrován: září 10
Pohlaví: Muž
Stav:
Offline

EXCEL - Macro po spusteni na schovani radku

Příspěvekod kogi » 28 zář 2010 13:10

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.

Reklama
navstevnik
Level 4
Level 4
Příspěvky: 1142
Registrován: srpen 08
Pohlaví: Nespecifikováno
Stav:
Offline

Re: EXCEL - Macro po spusteni na schovani radku

Příspěvekod navstevnik » 28 zář 2010 14:26

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: září 10
Pohlaví: Muž
Stav:
Offline

Re: EXCEL - Macro po spusteni na schovani radku

Příspěvekod kogi » 28 zář 2010 15:37

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: srpen 08
Pohlaví: Nespecifikováno
Stav:
Offline

Re: EXCEL - Macro po spusteni na schovani radku

Příspěvekod navstevnik » 28 zář 2010 16:00

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


  • Mohlo by vás zajímat
    Odpovědi
    Zobrazení
    Poslední příspěvek
  • Přechod z Excel 21 na Excel 24
    od Snekment » 29 led 2025 13:46 » v Kancelářské balíky
    2
    12865
    od Snekment Zobrazit poslední příspěvek
    29 led 2025 15:05
  • Spuštění PC Příloha(y)
    od Elbeckho » 21 úno 2025 14:27 » v Problémy s hardwarem
    11
    4851
    od Kminek Zobrazit poslední příspěvek
    23 úno 2025 02:14
  • Pohoda a excel Příloha(y)
    od brownwld » 06 kvě 2025 17:28 » v Kancelářské balíky
    1
    6127
    od atari Zobrazit poslední příspěvek
    07 kvě 2025 09:41
  • Excel - výpočet nočních hodin Příloha(y)
    od Uziv00 » 17 říj 2024 11:22 » v Kancelářské balíky
    3
    3813
    od lubo. Zobrazit poslední příspěvek
    24 říj 2024 00:00
  • Tisk sloupců vedle sebe na A4 - Excel
    od atari » 24 dub 2025 10:51 » v Kancelářské balíky
    5
    4470
    od atari Zobrazit poslední příspěvek
    26 dub 2025 09:11

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

Kdo je online

Uživatelé prohlížející si toto fórum: Google [Bot] a 3 hosti