Ir ao conteúdo
  • Cadastre-se
Fortd2

Excel Bloquear macro quando uma célula não estiver preenchida.

Recommended Posts

Bom, tenho uma macro que quando é acionado ela copia os dados de algumas células e cola em outra planilha formando  um banco de dados, gostaria que caso alguma das células a serem copiadas não esteja preenchido, a macro não ativasse e emitia uma alerta de célula não preenchida.  Como se fosse uma "validação de dados" para ativar a macro.

 

no entanto a célula a ser preenchida nunca é a mesma,

Compartilhar este post


Link para o post
Compartilhar em outros sites
1 hora atrás, Fortd2 disse:

... caso alguma das células a serem copiadas não esteja preenchida, ..

 

Como vamos saber quais as células que serão copiadas?

No exemplo abaixo substitua A1:D1 por variáveis, se o caso.

 

Sub ContaPreenchidas()
 If Application.CountA(Range("A1:D1")) < 4 Then
  MsgBox "PREENCHA TODAS AS CÉLULAS DO INTERVALO"
  Exit Sub
 End If
End Sub

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
15 horas atrás, Fortd2 disse:

@osvaldomp

Não sei como coloca o seu Código,...

 

 

Coloque os comandos abaixo no início  do seu código. Altere o intervalo se necessário.
 

If Application.CountA(Range("A1:D1")) < 4 Then
MsgBox "PREENCHA TODAS AS CÉLULAS DO INTERVALO"
Exit Sub
End If

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
5 horas atrás, osvaldomp disse:

 

Coloque os comandos abaixo no início  do seu código. Altere o intervalo se necessário.
 


If Application.CountA(Range("A1:D1")) < 4 Then
MsgBox "PREENCHA TODAS AS CÉLULAS DO INTERVALO"
Exit Sub
End If

 

 

Valeu, consegui colocar o código agora, ficou  bom.  Só  mais uma duvida, tem como colocar uma formula que especifica a célula que não pode ficar vazia. no lugar do A1:D1? Seria uma formula desse tipo  "ÍNDICE(Planilha1!A:G;Planilha1!$D$1;6)"

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

If Sheets("Planilha1").Cells(Sheets("Planilha1").[D1], 6) = "" Then
  MsgBox "PREENCHA A CÉLULA " & _
   Sheets("Planilha1").Cells(Sheets("Planilha1").[D1], 6).Address(0, 0) & " DA Planilha1 "
  Exit Sub
 End If

 

  • Curtir 2

Compartilhar este post


Link para o post
Compartilhar em outros sites

@osvaldomp

Em 11/01/2019 às 19:04, osvaldomp disse:

 


If Sheets("Planilha1").Cells(Sheets("Planilha1").[D1], 6) = "" Then
  MsgBox "PREENCHA A CÉLULA " & _
   Sheets("Planilha1").Cells(Sheets("Planilha1").[D1], 6).Address(0, 0) & " DA Planilha1 "
  Exit Sub
 End If

 

Perfeito, funcionou muito bem !

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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

×