Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

jmaocubo

Tabela com referencias inválidas - Válidos para outra tabela

Mensagens Recomendadas

jmaocubo

Olá a todos

Precisava de uma ajuda vossa...

tenho uma tabela que possui uma listagem que irá ter referencias inválidas (propositadas).

É possivel pegar nessa tabela e copiar para outra, mas apenas os válidos.

Tabela de origem

5 #REF!

2 1

2 #REF!

5 #REF!

5 30

5 40

7 #REF!

… …

Tabela de destino

2 1

5 30

5 40

… …

Imaginando que a tabela de origem começa em A1 e a tabela de destino em N53

Desde já agradeço

Cumprimentos,

Miguel

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
rogi_cps

sim é possivel...

tente algo como um loop para checar os valores das células e copiar apenas as células que deseja que tenha valor.  Detalhe  a variável de verificação começaria com valor 1 e a variável que faria o paste, você inicializa ela com o valor da célula desejada, como por ex.: 53.  Você pode controlar o local correto usando o comando de planilha com range em célula.

Public Sub teste()
Dim X
Dim Y
Dim Valor

X = 1
Y = 53

Do While ActiveSheet.Cells(X, 1).Value <> ""
    If ActiveSheet.Cells(X, 1).Value <> "#REF" Then
        ActiveSheet.Cells(X, 1).Cut
        ActiveSheet.Cells(Y, 1).Select
        ActiveSheet.Paste
        X = X + 1
        Y = Y + 1
    Else
        X = X + 1
    End If
Loop

End Sub

espero que isso te ajude!

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
jmaocubo

funcionou??  poste a resposta!!

Olá rogi

Peço desculpa de não ter respondido....

Resolvi de outra maneira, ou seja, mudei a forma como importava os dados e já não tenho o problema do #REF. Em vez de fazer um procv e depois criar um código que me filtre apenas os válidos, optei por criar um que me importe apenas os que existem através do:

With Folha4

   
    r = .Cells(Rows.Count, 1).End(xlUp).Row
Folha21.Range("N93").Value = WorksheetFunction.SumIf(.Range("A4:A" & r), 74200000, .Range("H4:H" & r))
end with

O código que enviaste funciona bem se não for #REF do excel (entenda-se que #REF do excel é mensagem de erro e não texto, logo tem que ser tratado como invalid value penso eu).

No entanto agradeço-te muito pela disponibilidade em me ajudares.

Um abraço

Miguel

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
rogi_cps

Creio que tenha razão..  tem que tratar código de erro mesmo.. mas bom que deu certo que conseguiu resolver!  :)

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.