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
  • excel text na konec více řádků najednou Příloha(y)
    od Myerina » 03 led 2024 11:51 » v Kancelářské balíky
    5
    980
    od Zivan Zobrazit poslední příspěvek
    04 led 2024 09:42
  • USB Dongle - s Macro funkcionalitou
    od Luis » 15 dub 2024 16:18 » v Rady s výběrem hw a sestavením PC
    1
    807
    od rhsCZ Zobrazit poslední příspěvek
    15 dub 2024 16:50
  • Kopírování řádků s funkcí když Příloha(y)
    od Martyn20 » 20 črc 2023 16:50 » v Kancelářské balíky
    3
    1991
    od Melvidor Zobrazit poslední příspěvek
    21 črc 2023 08:41
  • Ukotvení prvního a posledního řádku v tabulce.
    od Kopusek » 13 pro 2023 10:50 » v Kancelářské balíky
    2
    1591
    od Kopusek Zobrazit poslední příspěvek
    14 pro 2023 08:55
  • Pád PC po spuštění hry be BSOD
    od Radoozek » 07 pro 2023 15:00 » v Problémy s hardwarem
    4
    1479
    od Radoozek Zobrazit poslední příspěvek
    08 pro 2023 16:45

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

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 27 hostů