Excel - odemknutí všech listů pomocí makra Vyřešeno

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

Moderátor: Mods_senior

Majk1976
nováček
Příspěvky: 22
Registrován: září 13
Pohlaví: Nespecifikováno
Stav:
Offline

Excel - odemknutí všech listů pomocí makra  Vyřešeno

Příspěvekod Majk1976 » 23 zář 2013 10:27

Ahoj potřeboval bych poradit. mám objednávky na jednotlivých listech a v jednom sloupci je automatický filtr. Potřeboval bych makro které po spuštění odemkne všechny listy s heslem , pak fitr nastaví na VŠe a znovu listy zamkne pod heslem.
Jsem úplný začátečník ohledně makra.

Díky

Reklama
Uživatelský avatar
Poki
Level 2
Level 2
Příspěvky: 237
Registrován: prosinec 09
Pohlaví: Muž
Stav:
Offline

Re: Excel - odemknutí všech listů pomocí makra

Příspěvekod Poki » 23 zář 2013 11:17

Zkuste tento kod, nijak zvlast jsem to netestoval:

Kód: Vybrat vše

Sub VSEfiltr()
  Dim PASSWORD As String
  PASSWORD = "Heslo"

 For Each List In Worksheets
   List.Unprotect PASSWORD
     If List.FilterMode Then
         List.ShowAllData
     End If
   List.Protect PASSWORD
 Next List
End Sub

Majk1976
nováček
Příspěvky: 22
Registrován: září 13
Pohlaví: Nespecifikováno
Stav:
Offline

Re: Excel - odemknutí všech listů pomocí makra

Příspěvekod Majk1976 » 23 zář 2013 12:06

Děkuji za makro, funguje dobře. Jen mám problém stím že když automaticky uzamkne list , zamkne tím i filtr ve sloupci. Mohu ještě poprosit o radu? A taky jsem se zapoměl zeptat jestli funguje makro ve sdíleném sešitě-?

Uživatelský avatar
Poki
Level 2
Level 2
Příspěvky: 237
Registrován: prosinec 09
Pohlaví: Muž
Stav:
Offline

Re: Excel - odemknutí všech listů pomocí makra

Příspěvekod Poki » 23 zář 2013 15:01

aha, zkuste k tomu radku

Kód: Vybrat vše

List.Protect PASSWORD
přidat ještě A

Kód: Vybrat vše

llowFiltering:=True

Kód: Vybrat vše

Sub VSEfiltr()
  Dim PASSWORD As String
  PASSWORD = "Heslo"

 For Each List In Worksheets
   List.Unprotect PASSWORD
     If List.FilterMode Then
         List.ShowAllData
     End If
   List.Protect PASSWORD, AllowFiltering:=True
 Next List
End Sub

lubo.
Level 2
Level 2
Příspěvky: 196
Registrován: červen 13
Pohlaví: Nespecifikováno
Stav:
Offline

Re: Excel - odemknutí všech listů pomocí makra

Příspěvekod lubo. » 23 zář 2013 17:43

Použij před svým kódem

Kód: Vybrat vše

For Each List In ActiveWorkbook.Worksheets
   List.Protect Password:="Platné heslo", UserInterfaceOnly:=True
Next


Makro poběží, ochrana před uživatelem zůstává. Nastavení platí do zavření sešitu.

Majk1976
nováček
Příspěvky: 22
Registrován: září 13
Pohlaví: Nespecifikováno
Stav:
Offline

Re: Excel - odemknutí všech listů pomocí makra

Příspěvekod Majk1976 » 24 zář 2013 06:53

Tak jsem to zapsal takto
Sub VSEfiltr()
For Each List In ActiveWorkbook.Worksheets
List.Protect PASSWORD:="heslo", UserInterfaceOnly:=True
Next
Dim PASSWORD As String
PASSWORD = "heslo"

For Each List In Worksheets
List.Unprotect PASSWORD
If List.FilterMode Then
List.ShowAllData
End If
List.Protect PASSWORD, AllowFiltering:=True
Next List
End Sub

Makro funguje , ale jak dám sdílení tak hned hlásí chybu :Run-time error '1004' Application-defined or object - defined error

Uživatelský avatar
Poki
Level 2
Level 2
Příspěvky: 237
Registrován: prosinec 09
Pohlaví: Muž
Stav:
Offline

Re: Excel - odemknutí všech listů pomocí makra

Příspěvekod Poki » 24 zář 2013 09:22

No, tak postup vaseho kodu je nyni nasledujici:

1) projde vsechny listy a zamkne je pod heslem (s moznosti filtrovat)
2)projde vsechny listy a pokazde list
    a) odemkne
    b) zobrazi vsechny hodnoty
    c) uzamkne s moznosti filtrovat

Rekl bych, ze krok 1) je zde uplne zbytecne (a navic neresi zobrazeni dat)

Nicmene tyhle problemy vyblednou s tim, ze potrebujete sdileny sesit (coz je pro me osobne moznost Excelu, ktera je sice hezka, ale temer nepouzitelna, protoze sdilene sesity velmi casto "znici sami sebe" - stanou se necitelnymi)

Pokud bych mohl radit a vy opravdu potrebujete databazi s moznosti pristupu pro vice uzivatelu - vyuzijte nejakou databazi - ne Excel.

lubo.
Level 2
Level 2
Příspěvky: 196
Registrován: červen 13
Pohlaví: Nespecifikováno
Stav:
Offline

Re: Excel - odemknutí všech listů pomocí makra

Příspěvekod lubo. » 24 zář 2013 10:46

Pomotal jsi to. Mrkni příležitostně do nápovědy, co dělá a jak se používá volba UserInterfaceOnly.

Kód: Vybrat vše

Sub VSEfiltr()
Dim PASSWORD As String
Dim bSdileno as Boolean
PASSWORD = "heslo"

   With ActiveWorkbook
      bSdileno = .MultiUserEditing  ' Zapamatovat stav pro případnou obnovu
      If .MultiUserEditing Then      ' Pokud je sešit sdílen, tak něco
         MsgBox "Sesit je sdílen. Nic nedělám"
         Exit Sub                           ' Nedělat nic, možná s hlášením.
                                                ' Asi nejlepší volba, korektní práce se sdílenými soubory je docela opruz,
                                                ' zejména s předvedenými znalostmi.
        ' .ExclusiveAccess              ' nebo ukončit sdílení pokud chceš a můžeš
   End If

   For Each List In ActiveWorkbook.Worksheets
      With List
          .Protect Password:=PASSWORD, UserInterfaceOnly:=True
          If .FilterMode Then   List.ShowAllData
      End With
   Next

   If bSdileno then                            ' To uložení je jen příklad, pořeš jak chceš
      ActiveWorkbook.SaveAs  ..... AccessMode:=xlShared
   End If
End Sub

Majk1976
nováček
Příspěvky: 22
Registrován: září 13
Pohlaví: Nespecifikováno
Stav:
Offline

Re: Excel - odemknutí všech listů pomocí makra

Příspěvekod Majk1976 » 25 zář 2013 06:27

Díky vám za pomoc. Bohužel sdílení musí být jelikož pracuje 10 lidí najednou. Access mě také napadl , ale zatím jsme nezkoušel. Bohužel asi budu muset někde ustoupit , jelikož jak vidím tak pracovat ve sdíleném se zamykáním asi nejde. I tak díky za váš čas


  • Mohlo by vás zajímat
    Odpovědi
    Zobrazení
    Poslední příspěvek
  • Pády všech her Příloha(y)
    od echo-cz » 21 říj 2024 22:01 » v Hry
    22
    5806
    od echo-cz Zobrazit poslední příspěvek
    23 říj 2024 00:12
  • EXCEL -jak otevřít 2 excel sobory abych je viděla současne a samostatně
    od Ketty02 » 30 srp 2024 21:19 » v Vše ostatní (sw)
    2
    4716
    od Riviera kid Zobrazit poslední příspěvek
    02 zář 2024 16:21
  • Sledování pomocí hodinek
    od palecek » 29 srp 2024 09:47 » v Mobily, tablety a jiná přenosná zařízení
    3
    3812
    od GamerXXX Zobrazit poslední příspěvek
    02 zář 2024 12:25
  • Přechod z Excel 21 na Excel 24
    od Snekment » 29 led 2025 13:46 » v Kancelářské balíky
    2
    12144
    od Snekment Zobrazit poslední příspěvek
    29 led 2025 15:05
  • Pohoda a excel Příloha(y)
    od brownwld » 06 kvě 2025 17:28 » v Kancelářské balíky
    1
    4467
    od atari Zobrazit poslední příspěvek
    07 kvě 2025 09:41

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

Kdo je online

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