Bom dia colegas,
Agradeço ajuda de todos.
Analisei todas sugestões e funcionou, porém por falha minha esqueci de explicar que a minha rotina usa os nomes da coluna A para efetuar buscas em outras bases de dados.
O campo de busca desta base de dados só suporta até 30 caracteres passando o limite ocorre um erro.
Percebi que as sugestões citadas pelos colegas funcionam perfeitamente como eu expliquei, porém o problema é que quando rodo a rotina sugerida pelos colegas, caso houver um número menor que 30 ele ativa minha rotina só que ela faz a busca utilizando todos nomes que estão na coluna A mesmo que tenha menos ou mais de 30 caracteres.
Acho que para resolver esse meu problema seria mais fácil se houver uma forma de criar uma rotina que analisa todos nomes da coluna A e só ativar a minha macro se não houver nenhum nome com mais de 30 caracteres.
Peço novamente desculpa a todos por não explicar detalhamente que preciso pois sei que todos ajudam voluntariamente e ninguém tem bola de cristal para adivinhar que necessitamos.
Abraço a todos,
Fabio sp
Caro Fábio, entendi o que quiz dizer, mas me tira uma dúvida: a sua rotina copia todos os campos que possuem menos de 30 caracteres e faz uma busca em outro banco de dados, mas esta busca é feita linha por linha? ou você copia todos os dados que tem menos de 30 caracteres e faz a busca de uma só vez?
Abaixo solução para não executar a sua rotina caso haja algum valor maior que 30 caracteres. Caso a sua rotina faça a pesquisa valor por valor, é só você postar a rotina que adaptamos no loop do código que verifica se existe valores acima de 30.
Sub Rotina()
Dim valor, contagem, ContagemValoresAcima As Integer
contagem = 2
ContagemValoresAcima = 0
Do While Range("a" & contagem).Value <> ""
valor = Range("b" & contagem).Value
If valor < 30 Then
contagem = contagem + 1
Else
ContagemValoresAcima = ContagemValoresAcima + 1
contagem = contagem + 1
End If
Loop
If ContagemValoresAcima >= 1 Then
MsgBox ("Existe valores com mais de 30 caracteres, não será possível fazer sua busca")
Exit Sub
Else
'cole aqui sua rotina
End If
End Sub
Lucélio Ferreira dos Santos
Eng. Eletricista
CREA: DF-7165/TD
[email protected]
Postado : 04/08/2016 1:44 pm