Este fórum está sendo desativado

Depois de 9 anos, este fórum será desativado. Mas calma.... estamos migrando para uma comunidade no DISCORD. Junte-se a nós.

ENTRAR PARA DISCORD

Tópicos relacionados a códigos VBA, gravação de macros, etc.
  • Avatar do usuário
Por mberri
#24168
Criei um arquivo de suplemento XLA com o seguinte código:
Código: Selecionar todos
Public Sub LimpaTodosFiltros()
    If ActiveSheet.FilterMode Then
        On Error Resume Next
        ActiveSheet.ShowAllData
        On Error GoTo 0
    End If
End Sub
Funciona perfeitamente se a planilha não estiver protegida

Porém se possuir proteção o comando ShowAllData não funciona, meu problema é que pretendo usar em várias planilhas, onde não sei: qual a senha de proteção, quais opções estão habilitadas na proteção, quais linhas/colunas está ativo o filtro.

Se puderem ajudar fico grato...
#24170
Boa tarde!!

Desproteja a guia via VBA.
Código: Selecionar todos
Sub Tente()

ActiveSheet.Protect Password:="SuaSenha", userinterfaceonly:=True
'Codigo limpar filtro aqui
ActiveSheet.Protect Password:="SuaSenha"

End Sub
Att
Por Feka
Posts
#24176
Você terá que desproteger a planilha.

Esse código que eu peguei da WEB desbloqueia a planilha sem você precisar saber da senha, funciona perfeitamente:
Código: Selecionar todos
Sub DesprotegerPlanilhaAtiva()
 
Dim i, i1, i2, i3, i4, i5, i6 As Integer, j As Integer, k As Integer, l As Integer, m As Integer, n As Integer
On Error Resume Next
For i = 65 To 66
For j = 65 To 66
For k = 65 To 66
For l = 65 To 66
For m = 65 To 66
For i1 = 65 To 66
For i2 = 65 To 66
For i3 = 65 To 66
For i4 = 65 To 66
For i5 = 65 To 66
For i6 = 65 To 66
For n = 32 To 126
ActiveSheet.Unprotect Chr(i) & Chr(j) & Chr(k) & Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & Chr(i3) & Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)
If ActiveSheet.ProtectContents = False Then
MsgBox "One usable password is " & Chr(i) & Chr(j) & _
Chr(k) & Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & _
Chr(i3) & Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)
Exit Sub
End If
Next
Next
Next
Next
Next
Next
Next
Next
Next
Next
Next
Next
End Sub
#24178
Boa tarde!!

As senha são as mesmas?
Veja:
http://www.vbaexpress.com/kb/getarticle.php?kb_id=142
Código: Selecionar todos
Sub AleVBA()

    Dim ws As Worksheet
    Dim shtArray() As String
    Dim intA As Integer
    Dim intB As Integer

    For Each ws In ActiveWindow.SelectedSheets
        intA = intA + 1
        ReDim Preserve shtArray(intA)
        shtArray(intA) = ws.Name
    Next ws

    For Each ws In ActiveWorkbook.Worksheets
        ws.Select
    Next ws

    For intB = 1 To intA
        ActiveWorkbook.Worksheets(shtArray(intB)).Unprotect "SuaSenha"
    Next intB
    'Escreva o Código limpar filtro aqui
    
    'Cole o Código para proteger as guias aqui
End Sub
Att
Por mberri
#24182
Não posso acreditar que não exista uma forma de limpar os filtros sem retirar a proteção.
Em anexo segue o exemplo que estou fazendo.

Durante meu dia, utilizo várias planilhas de autores diferentes, não posso ficar desbloqueando o arquivo.

Veja na figura abaixo que mesmo estando protegido, a opção de filtros está habilitada.
Imagem

Qual a lógica para o comando ShowAllData não funcionar?
Um outro exemplo, se eu soubesse exatamente os campo que contenham filtros, eu conseguiria tirar o filtro um por um, mas para facilitar queria tirar todos os filtros.
Você não está autorizado a ver ou baixar esse anexo.
#24183
Boa tarde!

Eu não sei mais o que você quer.
Código: Selecionar todos
Sub Tente_Isso()
    Dim ws As Worksheet
    For Each ws In ThisWorkbook.Worksheets
        ws.AutoFilterMode = False
    Next ws
End Sub
Att
long long title how many chars? lets see 123 ok more? yes 60

We have created lots of YouTube videos just so you can achieve [...]

Another post test yes yes yes or no, maybe ni? :-/

The best flat phpBB theme around. Period. Fine craftmanship and [...]

Do you need a super MOD? Well here it is. chew on this

All you need is right here. Content tag, SEO, listing, Pizza and spaghetti [...]

Lasagna on me this time ok? I got plenty of cash

this should be fantastic. but what about links,images, bbcodes etc etc? [...]

Estamos migrando para uma comunidade no Discord