< návrat zpět
MS Excel
Téma: Uložení souboru dle zvolené položky průřezu
Zaslal/a Taps 15.6.2021 11:59
Dobrý den,
v excelu mám vytvořené kontingeční tabulky, ze kterých mám nastavené průřezy (viz přiložený soubor. Po kliknutí na jméno se automaticky vyfiltrují data v listu5 a v listu6. Mohl by mi prosím někdo poradit jak vytvořit makro, které po kliknutí na tlačítko automaticky postupně projde všechny položky průřezu, následně dle názvu průřezu vytvoří soubor opatří heslem a uloží do PC.
V současné době mám na tuto operaci vytvořeny dvě makra. Postupně jednotlivě klikám na položky průřezu a opakovaně aplikuji makro zamknout a odemknout. Přiložený soubor je pouze ukázkou v reálu mám v průřezu nějaký 20 položek. Děkuji moc za pomoc.
Sub Zamknout()
Dim fname, fpath
fname = InputBox("enter a name")
fname = fname & ".xlsx"
Application.DisplayAlerts = False
ThisWorkbook.CheckCompatibility = False
ThisWorkbook.Protect Password:="mojeheslo", Structure:=True, Windows:=True
Dim wsh As Worksheet
For Each wsh In Worksheets
wsh.Protect Password:="mojeheslo"
Next wsh
fpath = "C:\soubory\"
ThisWorkbook.SaveAs fpath & fname, FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
Application.DisplayAlerts = True
End Sub
Sub Odemknout()
ThisWorkbook.Unprotect Password:="mojeheslo"
Dim wsh As Worksheet
For Each wsh In Worksheets
wsh.Unprotect Password:="mojeheslo"
Next wsh
End Sub
Příloha: 50850_testovaci_prurez.xlsx (17kB, staženo 16x)
Milan-158(25.6.2021 13:47)#050902 Posílám v příloze. Zamykání si uprav, s průřezem nejde pracovat při zamčeném listě, tak jsem zamykací ceremonie deaktivoval
V kódu pro list 5, na kterém se ten průřez (angl. Slice) nachází je událostní procedura Worksheet_PivotTableUpdate, která pak volá rutinu VytvorSoubor, které předává název, jaký má vytvořit.
Zbytek si musíš dotvořit dle svých představ, které jsou popsány jenom mlhavě
citovat