Qual o código para ser usado em “Localizar” ou “Localizar e Substituir” para achar células com a informação #N/DISP
.
Find: #N/A
[x] Formatted display
Search in: Values
Version: 7.3.7.2 (x64) / LibreOffice Community
Build ID: e114eadc50a9ff8d8c8a0567d6da8f454beeb84f
CPU threads: 4; OS: Windows 10.0 Build 19045; UI render: default; VCL: win
Locale: es-MX (es_ES); UI: en-US
Calc: CL
Olá @LeroyG, OK.
Havia tentado com #N/DISP, e não funcionou, errei nas opções de busca.
Obrigado.
Olha que estou com a interface em inglés. Devería testalo em português.
[EDITO]
LO 7.4.4.2.
Infelizmente me parece que a ferramenta Localizar/Substituir não tem suporte para encontrar erro(s).
.
Isso é feito pela ferramenta Detetive, que não sei utilizar muito bem devido a nunca ter precisado.
.
De qualquer forma, pode ser feito por macro -
Ask_ProcurarErros.ods (14,2,KB)
.
Sub ProcuraErroEmFormula( Optional oSheet As Object)
Dim oCursor As Object
Dim s As String ' var de trabalho com string
Dim i As Long ' var de trabalho índice coluna
Dim j As Long ' var de trabalho índice linha
REM Otem a planilha ativa
If isMissing( oSheet ) Then oSheet = ThisComponent.CurrentController.getActiveSheet()
REM Cria um cursor na célula A1
oCursor = oSheet.createCursor( oSheet.getCellByPosition(0, 0) )
REM Move o cursor até final da área utilizada
REM Argumento false evita que expanda pela seleção
oCursor.goToEndOfUsedArea( false )
REM Método getError() é suportado apenas em "sCellObj" (célula)
For i = 0 To oCursor.RangeAddress.EndColumn
For j = 0 To oCursor.RangeAddress.EndRow
iError = oSheet.getCellByPosition( i, j ).getError()
Dim tmp1, tmp2, sCell
REM Valor retornado indica #N/DISP. Se encontrar, obtem localização na planilha
If (iError = 32767 ) Then
With oSheet.getCellByPosition( i, j )
tmp1 = .ColumnDescriptions
tmp2 = .RowDescriptions
End With
REM Função Right para obter formato mais amigável na mensagem
sCell = Right(tmp1(0), 1) & Right(tmp2(0), 1)
s = s & sCell & Chr$(10)
End If
Next j
Next i
MsgBox( "Resultado(s) não disponível(is) encontrado(s) na(s) célula(s):" & Chr$(10) & Chr$(10) & s, 0, "LISTA ERROS")
End Sub