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.
#65824
Olá pessoal!!
Não tenho muito conhecimento em Excel, porém utilizei recentemente uma MACRO em uma das minhas planilhas e tem adiantado muito meu dia... Esta MACRO ao ser executada pega os dados de uma determinada linha onde são cadastradas as informações e cola em uma campo onde tenho uma determinada lista.

Porém quando as células estão vazias sem o preenchimento das informações e por ventura eu clicar no botão para executar a macro o mesmo é executado normalmente e inserido na minha lista. No entanto insere dados em BRANCO...

Gostaria de ajuda para solucionar esta questão, para que não seja executado a MACRO em caso de campos em BRANCO "SEM PREENCHIMENTO". Mostrando uma mensagem ao usuário, obrigando o mesmo a preencher todos os dados e somente ocorrer a execução da Macro com as células devidamente preenchidas.

*Nesta minha MACRO toda vez que cadastro uma nova linha usando a MACRO a ultima linha é retirada e os novos dados são inserido na primeira linha.
Você não está autorizado a ver ou baixar esse anexo.
#65825
Olá, @Wemmer .

Acrescente ao seu código a linha em vermelho, conforme abaixo.
Sub Macro1()
If Application.CountA([A5:E5]) < 5 Then MsgBox "PREENCHA TODAS AS CÉLULAS EM A5:E5": Exit Sub
Range("B10:F14").Select
...
...

#
Como alternativa, se você quiser testar, o código abaixo retorna resultado igual ao seu e não utiliza Select.
Código: Selecionar todos
Sub ReplicaDados()
 If Application.CountA([A5:E5]) < 5 Then MsgBox "PREENCHA TODAS AS CÉLULAS EM A5:E5": Exit Sub
 [B10:F14].Copy [B11]: [A5:E5].Copy [B10]: [A5:E5] = ""
End Sub
#65831
osvaldomp escreveu:Olá, @Wemmer .

Acrescente ao seu código a linha em vermelho, conforme abaixo.
Sub Macro1()
If Application.CountA([A5:E5]) < 5 Then MsgBox "PREENCHA TODAS AS CÉLULAS EM A5:E5": Exit Sub
Range("B10:F14").Select
...
...

#
Como alternativa, se você quiser testar, o código abaixo retorna resultado igual ao seu e não utiliza Select.
Código: Selecionar todos
Sub ReplicaDados()
 If Application.CountA([A5:E5]) < 5 Then MsgBox "PREENCHA TODAS AS CÉLULAS EM A5:E5": Exit Sub
 [B10:F14].Copy [B11]: [A5:E5].Copy [B10]: [A5:E5] = ""
End Sub
Perfeitoooo muito obrigado você não tem noção o quanto de tempo vou economizar em meus lançamentos...

Utilizei o primeiro código:

If Application.CountA([A5:E5]) < 5 Then MsgBox "PREENCHA TODAS AS CÉLULAS EM A5:E5": Exit Sub

o outro não consegui fazer funcionar.

*Se não for pedir muito pode me ajudar com mais uma questão?

Costumo bloquear minha planilha para fazer os lançamento de forma segura, para que eu não altere ou apague alguma formula sem querer. Porém se a planilha estiver bloqueada eu não consigo executar a MACRO.

Ao clicar para executar mostra uma mensagem com erro:

Erro em Tempo de execução '1004':

A célula ou gráfico que você esta tentando alterar está em uma planilha protegida.
Para fazer uma alteração, desproteja a planilha.
Pode ser necessário inserir uma senha.

FIM DEPURAR AJUDA


*Gostaria de fazer ela rodar de forma protegida para evitar problemas com as formulas.

Desde já agradeço a atenção.

Abraço
#65835
Para atuar na planilha protegida cole uma cópia do código abaixo no lugar do existente.
Código: Selecionar todos
Sub ReplicaDados()
 If Application.CountA([A5:E5]) < 5 Then MsgBox "PREENCHA TODAS AS CÉLULAS EM A5:E5": Exit Sub
 ActiveSheet.Protect UserInterfaceOnly:=True
 [B10:F14].Copy [B11]: [A5:E5].Copy [B10]: [A5:E5] = ""
End Sub
#
Se você vai proteger a planilha com senha então utilize a linha abaixo e altere senha BozoDonkey se desejar.
Código: Selecionar todos
ActiveSheet.Protect "BozoDonkey", UserInterfaceOnly:=True
#
O arquivo anexo está com o código acima instalado e funcionando. Veja se funciona aí.
Você não está autorizado a ver ou baixar esse anexo.
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