Notifications
Clear all

Atribuir valor de um range para um array (exceto #N/D)

3 Posts
2 Usuários
0 Reactions
815 Visualizações
(@robo8268)
Posts: 73
Trusted Member
Topic starter
 

Pessoal, bom dia!

Primeiramente não upei arquivo de exemplo porque aqui no meu trabalho é bloqueado, e estou ciente das regras do fórum. No entanto, como se trata de uma dúvida simples, acredito que não há necessidade.

Preciso atribuir cada valor de um intervalo, para uma posição do meu array, porém eu não quero que atribua as células com o valor "#N/D".

Segue o código que estou usando:

Dim negocios As Range
Dim arrayNegocios()
Dim contagem As Integer


Set negocios = Sheets("Filtro Avançado").range("D4:D" & Sheets("Filtro Avançado").Cells(Rows.Count, 4).End(xlUp).Row)
contagem = negocios.Rows.Count

ReDim arrayNegocios(1 To contagem)

For i = 1 To contagem
'preciso colocar um if aqui pra que somente haja a atribuição se o valor for diferente de #N/D
   arrayNegocios(i) = negocios.Cells(i)

Next i

Eu já tentei usar a função ISNA, porém não está dando certo...

Alguém pode me dar uma luz?

 
Postado : 04/02/2016 8:11 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Seria algo +/- assim:

For i = 1 To contagem
'preciso colocar um if aqui pra que somente haja a atribuição se o valor for diferente de #N/D
If Application.WorksheetFunction.IfError(negocios.Cells(i).Value, "Sim") <> "Sim" Then
   arrayNegocios(i) = negocios.Cells(i)
end if
Next i

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 04/02/2016 8:46 am
(@robo8268)
Posts: 73
Trusted Member
Topic starter
 

Valeu Reinaldo, funcionou de buenas..

 
Postado : 04/02/2016 11:11 am