Ir ao conteúdo
  • Cadastre-se

Como colocar um condição em um botão no Excel


Ir à solução Resolvido por Basole,

Posts recomendados

Boa noite,

 

Estou com uma dúvida a respeito de fazer uma condição ao utilizar um botão.

Quero que o meu botão "SALVAR" só salve os dados, caso as células [H5,H6,H7,H8,H9,I10,K10,H11,H16,H17] não estejam vazias.

Caso essas células estejam vazias, emita um alerta avisando para completa-las.

Alguém pode me ajudar?

 

Att,

 

Marcus Vinicius

Link para o comentário
Compartilhar em outros sites

Click c/ botao direito na aba ex. [plan1], em seguida em exibir codigo, e cole o codigo abaixo no editor da Esta_Pasta_de_Trabalho (vide imagem)

 

Esta_Pasta_de_Trabalho.jpg

 

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim ws As Worksheet: Set ws = Sheets("plan1") 'altere caso seja diferente
    Dim rng As Range
    Dim r   As Range
    Dim hCelVaz As Boolean
    'Defina as celulas que quer verificar. no caso abaixo:'[H5,H6,H7,H8,H9,I10,K10,H11,H16,H17]
    Set rng = ws.Range("h6:h9,i10,k10, h11, H16,h17")
    hCelVaz = True
    For Each r In rng
        If r.Value = "" Then
            hCelVaz = False
        End If
    Next r
    'If hCelVaz = True Then MsgBox " ok"
    If hCelVaz = False Then
        MsgBox "Verifique ! " & vbCrLf & _
        "As celulas [H5,H6,H7,H8,H9,I10,K10,H11,H16,H17], deverão ser preenchidas antes de fechar ", 64, "AVISO"
        Cancel = True
       End If
End Sub

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Instale o código abaixo no módulo de EstaPasta_de_trabalho, assim:
1. copie o código daqui
2. a partir de qualquer planilha tecle 'Alt+F11' para acessar o editor de VBA
3. no lado esquerdo da tela dê duplo clique em  EstaPasta_de_trabalho
4. cole o código na janela em branco que vai se abrir
5. feito! 'Alt+Q' para retornar para a planilha e testar

 

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) If Application.CountA(Sheets("Plan1").Range("H5:H9,I10,K10,H11,H16,H17")) < 10 Then  MsgBox "verifique as células de preenchimento obrigatório" & vbLf & " o arquivo não será salvo"  Cancel = True End IfEnd Sub

 

Link para o comentário
Compartilhar em outros sites

Pessoal desculpem, acho que passei uma informação equivocada, quando me referi ao botão SALVAR, era um botão que eu criei que serve para salvar os dados das células em outro "Sheet". O exemplo que vocês me passaram deram certo utilizando o botão salvar do excel, quando eu tento salvar o 'programa' ele pede para eu preencher as células que estão faltando. Fiz um exemplo aqui, segue em anexo.

 

No exemplo tem os campos (Matrícula e Nome), como faço para que quando eu apertar o botão SALVAR que eu criei, só salve se PELO MENOS os campos Matrícula e Nome estiverem preenchidos?

 

 


Não consegui anexar meu exemplo aqui, como eu faço para deixar amostra para vocês?


Segue em anexo um print do exemplo que citei acima.

bmp.bmp

Link para o comentário
Compartilhar em outros sites

Obrigado Patropi, agora deu para anexar...pessoa segue em anexo um exemplo bastante semelhante do meu problema, quando clicar no botão que eu fiz SALVAR, só possa salvar as informações e exportar para a planilha se pelo menos os campos Matrícula e Nome estiverem completados, e o mesmo botão se recusar a salvar caso a matrícula já exista na planilha REG. Alguém consegue fazer isso? Obrigado.

 

Att, 

 

Marcus Vinicius

FORM.rar

Link para o comentário
Compartilhar em outros sites

Alguém consegue fazer isso?

 

 

É difícil... mas vamos tentar...

Sub Salvar() Dim Matr As Range, Reg  If Application.CountA([C4:C5]) < 2 Then MsgBox "preencha Matrícula e Nome": Exit Sub  Set Matr = Sheets("REG").[A:A].Find([C4])  If Not Matr Is Nothing Then MsgBox "matrícula já existe": Exit Sub  Reg = [C4].Resize(6)  Sheets("REG").Range("A" & Rows.Count).End(xlUp).Offset(1).Resize(, 6).Value = Application.Transpose(Reg)  Range("C4:E9").ClearContentsEnd Sub
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...