Notifications
Clear all

Macro para ignorar linhas em branco seguindo para a próxima

2 Posts
2 Usuários
0 Reactions
1,291 Visualizações
 RIL
(@ril)
Posts: 5
Active Member
Topic starter
 

Olá boa tarde

eu tenho a seguinte estrutura:

Do While ActiveCell.Value < 99
    With Sheets("Plan1").[C177]
        .Value = ActiveCell.Value:                      'De
        .Offset(, 1) = ActiveCell.Offset(0, 1).Value    'Para
        .Offset(-4, 0) = ActiveCell.Offset(-1, 9).Value 'Data
        .Offset(-2, 0) = Range("A1").Value              'Série
        .Offset(-2, 2) = ActiveCell.Offset(0, 5).Value  'Inicial
        ActiveCell.Offset(1, 0).Select
        Call Somar_PONGAI
        Application.ScreenUpdating = False
        Sheets("BDMT2").Select
    End With
Loop

o que eu quero nessa macro é que: se Célula ativa for menor que 99 busque valores de outras células e preencha os campos que preciso e pulando pra linha debaixo, e ela está funcionando perfeitamente á não ser por um detalhe: as vezes a célula ativa é igual á ""(vazio) e a macro copia esse campo vazio também.

o que falta nessa macro pra que quando a célula ativa for igual á vazio ela pula para a linha seguinte sem copiar os valores e continuar copiando as linhas que se seguem?

agradeço desde já!

 
Postado : 28/04/2015 12:42 pm
skuma
(@skuma)
Posts: 18
Active Member
 

RIL, veja se assim te ajuda, adicionei uma condição IF para checar se a célula está vazia ou em branco:

Do While ActiveCell.Value < 99
    With Sheets("Plan1").[C177]

	'## VERIFICA SE A CÉLULA SELECIONADA ESTÁ EM BRANCO OU VAZIA
	'## CASO NÃO ESTEJA EXECUTA O QUE VOCÊ QUER FAZER	
	If ActiveCell.Value <> "" And ActiveCell.Value <> Empty Then

        	.Value = ActiveCell.Value:                      'De
	        .Offset(, 1) = ActiveCell.Offset(0, 1).Value    'Para
	        .Offset(-4, 0) = ActiveCell.Offset(-1, 9).Value 'Data
	        .Offset(-2, 0) = Range("A1").Value              'Série
	        .Offset(-2, 2) = ActiveCell.Offset(0, 5).Value  'Inicial
        	ActiveCell.Offset(1, 0).Select
	        Call Somar_PONGAI
        	Application.ScreenUpdating = False
	        Sheets("BDMT2").Select

	'## CASO SEJA VAZIA OU EM BRANCO PULA PARA A PRÓXIMA LINHA
	Else
		ActiveCell.Offset(1, 0).Select
	End If

    End With
Loop

Abs.
Gabriel Santos

 
Postado : 04/05/2015 9:40 pm