Notifications
Clear all

Substituir resultados em branco por um texto.

8 Posts
2 Usuários
0 Reactions
1,586 Visualizações
(@fabiosp)
Posts: 291
Reputable Member
Topic starter
 

Bom dia pessoal,

Estou com um probleminha e peço ajuda para resolver.
Tenho uma macro que cópia resultados de uma planilha para a coluna A de outra planilha e depois de copiar ficar algumas células em branco então queria que toda célula onde o resultado é branco(célula vazia) fosse substituido por N/A
Tentei fazer via fórmula SE mais não deu certo pois a macro que copia os dados de uma planilha para outra apaga todas as formulas.

Antecipadamente agradeço.

Fabiosp

 
Postado : 06/07/2016 8:29 am
(@osvaldomp)
Posts: 0
Eminent Member
 
Sub PreencheVazias()
  Range("A2:A" & Cells(Rows.Count, 1).Row).SpecialCells(xlBlanks).Value = "N/A"
End Sub

Osvaldo

 
Postado : 06/07/2016 10:03 am
(@fabiosp)
Posts: 291
Reputable Member
Topic starter
 

Osvaldomp Boa noite,

Desculpe a demora.
Testei e está funcionando perfeitamente.
Agradeço a sua ajuda foi de grande valia.
Abraços.
Fabiosp

Sub PreencheVazias()
  Range("A2:A" & Cells(Rows.Count, 1).Row).SpecialCells(xlBlanks).Value = "N/A"
End Sub
 
Postado : 07/07/2016 7:05 pm
(@fabiosp)
Posts: 291
Reputable Member
Topic starter
 

Boa tarde Osvaldomp,
Hoje quando ativei as macros para atualizar os dados deu um erro de execução.
Tipo, quando rodo a macro que cópia as informações para planilha na maioria das vezes há celuas que ficam em branco, porém as vezes todas são preenchidas.
Justamente agora que atualizei os dados da manhã e não há resultados com celulas em branco a linha com o código que você criou deu erro dizendo que não há célula em branco no intevalo indicado.
Teria como fazer uma alteração no código tipo se tiver célula em branco no intervalo com dados preencher essa célula com N/A e se não houver células em branco no intevalo deixar como esta.

Desculpe por postar minha dúvida em partes.

Abraços

 
Postado : 08/07/2016 9:02 am
(@osvaldomp)
Posts: 0
Eminent Member
 

Olá, Fabio.
Experimente

Sub PreencheVazias()
  On Error Resume Next
  Range("A2:A" & Cells(Rows.Count, 1).Row).SpecialCells(xlBlanks).Value = "N/A"
End Sub

obs. não sei se você incorporou o comando que eu sugeri ao seu código ou se está rodando após rodar o seu.
Abaixo seguem duas sugestões além da possibilidade de rodar o código que passei independente do seu:
1.incorporar o que passei ao seu código

Sub SeuCódigo()
 '...
 '...
 '...

  On Error Resume Next
  Range("A2:A" & Cells(Rows.Count, 1).Row).SpecialCells(xlBlanks).Value = "N/A"

End Sub

2. manter o código que passei separado com chamada a partir do seu código

Sub SeuCódigo()
  
  '...
  '...
  '...

  PreencheVazias

End Sub

Osvaldo

 
Postado : 08/07/2016 10:00 am
(@fabiosp)
Posts: 291
Reputable Member
Topic starter
 

Bom Dia Osvaldomp,

Testei e ficou perfeito agora.
Usei a opção de incorporar o seu código na macro que copia os dados.
Sem querer abusar de sua boa vontade e para finalizar esse assunto, seria possível usar esse código para substituir um texto.
Tipo se aparecer em qualquer célula da coluna A resultado "Fabio Sp" trocar para Funcionario1.

Agradeço a sua ajuda.

Abraços.

 
Postado : 11/07/2016 8:41 am
(@osvaldomp)
Posts: 0
Eminent Member
 

Tipo se aparecer em qualquer célula da coluna A resultado "Fabio Sp" trocar para Funcionario1.

Veja se atende.

Sub SeuCódigo()
'...
'...
'...
  On Error Resume Next
  Range("A2:A" & Cells(Rows.Count, 1).Row).SpecialCells(xlBlanks).Value = "N/A"
  Range("A2:A" & Cells(Rows.Count, 1).Row).Replace "FaBio sP", "Funcionário1", xlWhole
End Sub

obs.
1. o código irá substituir por Funcionário1, altere se quiser
2. o código trata igualmente minúsculas e maiúsculas (FABIO SP, Fabio sP, fabio Sp, ...)

Osvaldo

 
Postado : 12/07/2016 6:09 am
(@fabiosp)
Posts: 291
Reputable Member
Topic starter
 

Boa tarde Osvaldomp

Muito obrigado!
Dúvidas esclarecidas.
Tudo perfeito agora!
Abraço

Fabiosp

 
Postado : 12/07/2016 9:02 am