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.
  • Avatar do usuário
Por BrUnOaFs
#35073
Bom dia galera,

Tenho uma planilha com umas 20 guias, com muitas fórmulas.

Preciso que toda vez que abrir a planilha fosse pesquisado se existe alguma fórmula com erro.

Ou #N/D, #REF...

Já pesquisei bastante e não conseguir achar nada do tipo.
Avatar do usuário
Por FelipeMGarcia
Avatar
#35074
Amigo, se for na Guia Fórmulas, na parte de Auditoria de Fórmulas, tem uma opção que se chama Verificação de Erros, ela percorre na planilha quais as células que estão com erro.

Espero que ajude, caso queira agradecer, clique na mãozinha para agradecer.

Abs
Por BrUnOaFs
#35078
Bom dia Felipe,

Já tinha visto esse recurso.

Porém ele percorre apenas a guia ativa.

Preciso que verifique a Pasta de Trabalho toda.

E quando seleciona as guias todas a opção fica desabilitada.
Por osvaldomp
#35080
BrUnOaFs escreveu: Preciso que toda vez que abrir a planilha fosse pesquisado se existe alguma fórmula com erro.
É possível via macro.
Como e onde você quer o resultado da pesquisa ?
O que você pretende fazer após a pesquisa ?
Por BrUnOaFs
#35081
osvaldo,

Isso mesmo,

Queria algum macro para colocar no Workbook_Open

E apenas indicasse a célula com erro.

Guia "X" - Célula A5
Guia "Y" - Célula B32
Por osvaldomp
#35113
1.Instale o código abaixo no módulo de EstaPasta_de_trabalho
2. renomeie uma planilha vazia do seu arquivo com o nome de erros
3. salve, feche e reabra o arquivo
4. o código irá lançar na planilha erros o nome da planilha e os respectivos endereços das células com erro
Código: Selecionar todos
Private Sub Workbook_Open()
 Dim ws As Worksheet
  Sheets("erros").[A:B] = ""
  For Each ws In ThisWorkbook.Sheets
   If ws.Name <> "erros" Then
    Sheets("erros").Cells(Rows.Count, 1).End(3)(2) = ws.Name
    On Error Resume Next
    Sheets("erros").Cells(Rows.Count, 1).End(3)(1, 2) = _
      ws.Cells.SpecialCells(xlCellTypeFormulas, 16).Address(0, 0)
   End If
  Next ws
End Sub
Por BrUnOaFs
#35205
osvaldomp escreveu:1.Instale o código abaixo no módulo de EstaPasta_de_trabalho
2. renomeie uma planilha vazia do seu arquivo com o nome de erros
3. salve, feche e reabra o arquivo
4. o código irá lançar na planilha erros o nome da planilha e os respectivos endereços das células com erro
Código: Selecionar todos
Private Sub Workbook_Open()
 Dim ws As Worksheet
  Sheets("erros").[A:B] = ""
  For Each ws In ThisWorkbook.Sheets
   If ws.Name <> "erros" Then
    Sheets("erros").Cells(Rows.Count, 1).End(3)(2) = ws.Name
    On Error Resume Next
    Sheets("erros").Cells(Rows.Count, 1).End(3)(1, 2) = _
      ws.Cells.SpecialCells(xlCellTypeFormulas, 16).Address(0, 0)
   End If
  Next ws
End Sub
Osvaldo,
Deu certinho.

Vou dar uma ajustada para ficar como preciso.

Mas no caso de querer que verifique em apenas 10 abas das 20 do total.

Como ficaria o código ?
Por osvaldomp
#35207
BrUnOaFs escreveu: ... no caso de querer que verifique em apenas 10 abas das 20 do total.
É preciso informar ao código os nomes das planilhas que serão (ou que não serão) processadas.

dica - para responder clique em +Resposta localizado abaixo da última postagem, só clique em Responder com citação se necessário. ;)
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