Neste exemplo o mesmo botão habilita e desabilita o cabeçalho de linhas e colunas
Sub cabecalhos()
ActiveWindow.DisplayHeadings = Not ActiveWindow.DisplayHeadings
End Sub
Desproteger qualquer planilha
Sub DesprotegerPlanilhaAtiva()
' desprotege qualquer planílha com senha
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 "Planilha desprotegida com sucesso!!!"
Exit Sub
End If
Next
Next
Next
Next
Next
Next
Next
Next
Next
Next
Next
Next
End Sub
' desprotege qualquer planílha com senha
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 "Planilha desprotegida com sucesso!!!"
Exit Sub
End If
Next
Next
Next
Next
Next
Next
Next
Next
Next
Next
Next
Next
End Sub
Dicas gerais vba
Clear = apaga tudo
ClearContents = apaga somente o conteúdo
ClearFormats = apaga formatação
ClearComments = apaga comentários
---
Obtendo valores de outras planilhas
Buscar endereço de outra planilha
- worksheets("Nome") ou sheets("nome")
ou índice sheets(1)
----
Offset(linha,coluna)
A seleção (cursor) é o ponto central
para baixo e para a direita, positivo
para cima e para a esquerda, negativo
----
Cell(linha,coluna)
----
Deslocamentos para os extremos
.end(xlUp) = CTRL + seta para cima
.end(xlDown) = CTRL + seta para baixo
.end(xlToRight) = CTRL + seta para direita
.end(xlToLeft) = CTRL + seta para esquerda
----
Formulário
código:
inputbox(prompt,[title],[value],[xpos],[ypos])
if - condição then (instruções se verdadeiras)
end if
(continua lendo o código de baixo)
----
target.address - endereço alvo
---------------------------
looping
do while - condição
instruções
loop
for valor inicial to - n. de vezes, incremento
instruções
next
for each elemento in grupo
instruções
next
'transformar primeira letra em maúscula
strConv(texto,cod)
-->cod = 1 maiúscula
= 2 minúscula
= 3 primeira letra maiúscula
row - retorna a linha
columns - retorna a coluna
range(selection,selection.end(xltoright)).select
range(selection,selection.end(xldown)).select
-----------------------------
looping
cont = cont + 1
total = total + 1
isNumeric(valor) rtorna verdadeiro se o valor for número
isString(valor) retorna verdadeiro se o valor for texto
isDate(valor) retorna verdadeiro se o valor for data
-----------------------------
Trabalhando com datas
dateadd(parte,qtde,data)
Novo looping
for valor inicial to condicao, step
next
private function nome (argumento as tipo, argumento as tipo) as tipo
instruções
-----------------------------
Nomes de campos
=DESLOC(Rascunho!$A$2;0;0;CONT.VALORES(Rascunho!$A$2:$A$300);1)
-----------------------------
PivotTable - Tabela Dinâmica
Opções/mostrar páginas do filtro de relatório
'Para gerar uma página para cada item do filtro
onerror goto error - tratamento de erro
pula o próximo código e vai pra a lilnha de erro
on error resume next = tratamento de erro
pula o próximo código e continua a ler os demais
ClearContents = apaga somente o conteúdo
ClearFormats = apaga formatação
ClearComments = apaga comentários
---
Obtendo valores de outras planilhas
Buscar endereço de outra planilha
- worksheets("Nome") ou sheets("nome")
ou índice sheets(1)
----
Offset(linha,coluna)
A seleção (cursor) é o ponto central
para baixo e para a direita, positivo
para cima e para a esquerda, negativo
----
Cell(linha,coluna)
----
Deslocamentos para os extremos
.end(xlUp) = CTRL + seta para cima
.end(xlDown) = CTRL + seta para baixo
.end(xlToRight) = CTRL + seta para direita
.end(xlToLeft) = CTRL + seta para esquerda
----
Formulário
código:
inputbox(prompt,[title],[value],[xpos],[ypos])
if - condição then (instruções se verdadeiras)
end if
(continua lendo o código de baixo)
----
target.address - endereço alvo
---------------------------
looping
do while - condição
instruções
loop
for valor inicial to - n. de vezes, incremento
instruções
next
for each elemento in grupo
instruções
next
'transformar primeira letra em maúscula
strConv(texto,cod)
-->cod = 1 maiúscula
= 2 minúscula
= 3 primeira letra maiúscula
row - retorna a linha
columns - retorna a coluna
range(selection,selection.end(xltoright)).select
range(selection,selection.end(xldown)).select
-----------------------------
looping
cont = cont + 1
total = total + 1
isNumeric(valor) rtorna verdadeiro se o valor for número
isString(valor) retorna verdadeiro se o valor for texto
isDate(valor) retorna verdadeiro se o valor for data
-----------------------------
Trabalhando com datas
dateadd(parte,qtde,data)
Novo looping
for valor inicial to condicao, step
next
private function nome (argumento as tipo, argumento as tipo) as tipo
instruções
-----------------------------
Nomes de campos
=DESLOC(Rascunho!$A$2;0;0;CONT.VALORES(Rascunho!$A$2:$A$300);1)
-----------------------------
PivotTable - Tabela Dinâmica
Opções/mostrar páginas do filtro de relatório
'Para gerar uma página para cada item do filtro
onerror goto error - tratamento de erro
pula o próximo código e vai pra a lilnha de erro
on error resume next = tratamento de erro
pula o próximo código e continua a ler os demais
Assinar:
Postagens (Atom)