Muze mi prosim nekdo poradit, kde je chyba? Mam kontingenční tabulku která se musí vždy ručně aktualizovat, proto sem nahral makro které by mi to trosku ulehčilo, protože tabulka je ve skrytem liste. Telo makra vypada takto:
Sub Makro1()
Sheets("CŘ_sumCAD").Visible = True
Range("D12").Select
ActiveSheet.PivotTables("Kontingenční tabulka 1").RefreshTable
ActiveWindow.SelectedSheets.Visible = False
Sheets("CŘvš").Select
End Sub
jenze kdyz makro spustim, ohlasi se chyba:
Run-time error ´1004´:
"nelze ziskat vlastnosti PivotTables třídy worksheet"
Nevíte v čem je zakopanej pes? Programování byla vždycky moje slabá stránka.
Excel - makro - aktualizace kontingenční tabulky
Moderátor: Mods_senior
Tak po chvilce badani sem na to prisel:
Sub Makro1()
Sheets("CŘ_sumCAD").Visible = True
Sheets("CŘ_sumCAD").Select
ActiveSheet.Unprotect
Range("A4").Select
ActiveSheet.PivotTables("Kontingenční tabulka 1").RefreshTable
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
ActiveWindow.SelectedSheets.Visible = False
Sheets("CŘvš").Select
End Sub
problém byl asi v tom ze po zobrazení skrytého listu se musí na něj znovu odkázat, tj.
Sheets("CŘ_sumCAD").Select
a kdyby nekoho zajimalo jak se to da priradit na tlacitko tak je to takhle:
Private Sub CommandButton1_Click()
Application.Run "'nazev sešitu.xls'!Makro1"
End Sub
Sub Makro1()
Sheets("CŘ_sumCAD").Visible = True
Sheets("CŘ_sumCAD").Select
ActiveSheet.Unprotect
Range("A4").Select
ActiveSheet.PivotTables("Kontingenční tabulka 1").RefreshTable
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
ActiveWindow.SelectedSheets.Visible = False
Sheets("CŘvš").Select
End Sub
problém byl asi v tom ze po zobrazení skrytého listu se musí na něj znovu odkázat, tj.
Sheets("CŘ_sumCAD").Select
a kdyby nekoho zajimalo jak se to da priradit na tlacitko tak je to takhle:
Private Sub CommandButton1_Click()
Application.Run "'nazev sešitu.xls'!Makro1"
End Sub
Kdyby tě zajímalo, jak to můžeš zjednodušit, tak tady to je:
Sub Makro1()
Sheets("CŘ_sumCAD").Unprotect
Sheets("CŘ_sumCAD").PivotTables("Kontingenční tabulka 1").RefreshTable
Sheets("CŘ_sumCAD").Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End Sub
Protože jak listy tak kontingenční tabulky jsou objekty, nemusíš je zobrazovat a přepínat se do nich, ale stačí na ně odkázat a příkazy se provedou, i když jsou objekty skryté.
Sub Makro1()
Sheets("CŘ_sumCAD").Unprotect
Sheets("CŘ_sumCAD").PivotTables("Kontingenční tabulka 1").RefreshTable
Sheets("CŘ_sumCAD").Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End Sub
Protože jak listy tak kontingenční tabulky jsou objekty, nemusíš je zobrazovat a přepínat se do nich, ale stačí na ně odkázat a příkazy se provedou, i když jsou objekty skryté.
Znáte pravidla?
Tipy a triky ve Windows XP
Návody: HijackThis, MWAV, CCleaner (THX to mijaja)
Problémy, které chcete vyřešit pište sem do fóra. Neposílejte je emailem ani po ICQ!
Tipy a triky ve Windows XP
Návody: HijackThis, MWAV, CCleaner (THX to mijaja)
Problémy, které chcete vyřešit pište sem do fóra. Neposílejte je emailem ani po ICQ!
-
- Podobná témata
- Odpovědi
- Zobrazení
- Poslední příspěvek
-
- 2 Odpovědi
- 14400 Zobrazení
-
Poslední příspěvek od Snekment
-
- 13 Odpovědi
- 13189 Zobrazení
-
Poslední příspěvek od MonikaVavrova
-
- 10 Odpovědi
- 13427 Zobrazení
-
Poslední příspěvek od Prorock
-
- 8 Odpovědi
- 7552 Zobrazení
-
Poslední příspěvek od Minapark
-
- 14 Odpovědi
- 17399 Zobrazení
-
Poslední příspěvek od mmmartin

