quarta-feira, 28 de setembro de 2016

Validação de Preenchimento de formulário

Olá galera!!!!! 

Vai aqui mais uma rotina para que vocês possam usar!!!!!!!

Quando fazemos um formulário de cadastro de dados em alguns casos alguns campos são obrigatório, para que o usuário não se esqueça de preencher este campos obrigatórios criei uma rotina que valida o preenchimento..... e sinaliza quando não preenchido com uma mensagem.
Este tipo de rotina pode ser usado com ComboBox, TextBox, OpitonButton, CheckBox.

Coloquei a rotina dentro do Botão de cadastro!!!!


Private Sub CommandButton_Click()

'Verifica se o campo código tem valor

If TxtCodigo = "" Then 'Verifica se o campo está vazio
MsgBox "Preenchimento Obrigatório", vbExclamation, "Preencha do Codigo da Empresa"
TxtCodigo.SetFocus
Exit Sub
End If


verifica se alguma das opções de optionbutton foi selecionada

If OptionButton1.Value = False And OptionButton2.Value = False And OptionButton3.Value = False And OptionButton4.Value = False And OptionButton5.Value = False And OptionButton6.Value = False And OptionButton7.Value = False And OptionButton8.Value = False And OptionButton9.Value = False And OptionButton10.Value = False And OptionButton11.Value = False And OptionButton12.Value = False And OptionButton13.Value = False And OptionButton14.Value = False And OptionButton15.Value = False And OptionButton16.Value = False And OptionButton17.Value = False Then
MsgBox "O Preenchimento Obrigatório!", vbExclamation, "Marque a Ativdade ou Obrigação Acessória Executada"
Exit Sub
End If
end sub



If TxtCodigo = "" Then ' <<Verifica se o campo está vazio
MsgBox "Preenchimento Obrigatório", vbExclamation, "Preencha do Codigo da Empresa"
Acima exibe mensagem de preenchimento obrigatório caso campo vazio !
TxtCodigo.SetFocus << coloca o cursor no campo que está vazio!!!!!


a explicação acima assume também para qualquer  item do formulário!!!!


espero ter ajudado!!!!

até a proxima




quarta-feira, 21 de setembro de 2016

ÍNDICE + CORRESP COM MÚLTIPLOS CRITÉRIOS

Ainda Ontem estava no trabalho me descabelando de pensar como fazer uma busca com dois critérios no meu caso seria por Data e por funcionário!!!!! Tentei de várias formas....

Precisava que a Planilha me desse o seguinte resultado ... quando eu selecionar a empresa e o mês me desse todos os funcionários que estiveram envolvidos no trabalho de uma determinada empresa...

tentei gente tentei mesmo .... ai sai a procura na internet de algumas soluções ... achei nesse site abaixo a solução de parte do problema

http://www.funcaoexcel.com.br/indice-corresp-com-multiplos-criterios/

Cara foi 80% do caminho andado....



Observando a imagem acima eu precisava que me trouxesse a seguinte informação que quando selecionado o mês e a empresa no campo colaborador trouxesse todos que trabalharam nessa empresa.....

então achei o pulo do gato...

Índice e Corresp com dois critérios....

=SEERRO(ÍNDICE(Plan2!$C$2:$C$72;CORRESP(Empresas!$C$7&MÊS($O$13);Plan2!$E$2:$E$72&MÊS(Plan2!$B$2:$B$72);0);0);"")

entendendo a função.....


= seerro( << se a funçao der erro ela deixa a célula vazia.

Indice(<< Plan2 C2:C72 ;<< busca a coluna do onde está o meu resultado!

Corresp(Empresas!C7&Mês((O13) << Note que aqui eu coloquei dois critérios de busca a célula C7 e O13 
A mesma coisa tem que ser feito com a matriz juntar as duas por concatenação...

Plan2!$E$2:$E$72&MÊS(Plan2!$B$2:$B$72)

a funçao Mês(arg1) esta porque eu precisava de um mês especifico. 

Peguei duas matrizes concatenadas!!!! e finalizei a formula normalmente.....


bjs até a proxima






segunda-feira, 12 de setembro de 2016

Formatação de TextBox em padrão de Horas ou Texto

Ai galera !!!!

Vai aqui mais uma Sub que de repente pode ajudar em suas atividades!!!!

esta sub formata um texto de formulário em padrão de hora ou data...

Private Sub TextBox1_Change()

If Len(TextBox1) = 2 Or Len(TextBox1) = 5 Then
    TextBox1.Text = TextBox1.Text & "/"
    SendKeys "{End}", True
                                                                End If
End Sub

Neste caso estou colocando barra para formatar em Data mas caso queria usar para formatar em horas só trocar a "/" por ":" .

Até mais......

quinta-feira, 1 de setembro de 2016

VBA para Desbloquer Planilhas

Ai galera achei esse código na Internet para Desbloquear planilhas só serve para planilhas que abram como somente leitura!!!!!



Public Sub lsDesbloquearTodasPlanilhas()

    Dim lQtdePlan As Integer
    Dim lPlanAtual As Integer

    'Inicia as variáveis
    lQtdePlan = Worksheets.Count
    lPlanAtual = 1

    'Loop pelas planilhas
    While lPlanAtual <= lQtdePlan
        Worksheets(lPlanAtual).Activate

        DesprotegerPlanilhaAtivaB

        lPlanAtual = lPlanAtual + 1
    Wend

    MsgBox "Planilhas desprotegidas!"
End Sub

'Desproteger Planilha
Sub DesprotegerPlanilhaAtivaB()

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


Font: http://guiadoexcel.com.br/desproteger-todas-as-planilhas-de-um-documento-excel/