Notifications
Clear all

COmo executar a macro se algum valor de uma coluna for > 0

7 Posts
2 Usuários
0 Reactions
2,010 Visualizações
(@smile)
Posts: 33
Eminent Member
Topic starter
 

Ola.

Tenho uma duvida, preciso desenvolver um código que toda vez que a coluna A:A tiver valores maiores que 0 a macro copie estes valores e mande para outro local, entao volte para esta mesma coluna e procure outro valor... , podemos usar como exemplo este "outro local" como coluna B:B deslocando para baixo uma a uma. Esta macro precisa ainda entender que quando nao tiver nada >0 ela nao precisa fazer tal procedimento, e se tiver e fizer tem que saber que quando nao houver mais nenhuma range e hora de parar, alguém pode me ajudar?

Best wishes

Ronaldo Binkoski

 
Postado : 19/10/2014 11:23 am
(@smile)
Posts: 33
Eminent Member
Topic starter
 

Ola, boa noite.

COmo faço para que so execute a macro se alguma algum valor for maior que zero e toda vez que achar um valor maior que zero copie e cole em outro local?

att

Ronaldo

 
Postado : 19/10/2014 8:46 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Bom dia!!

já que sua pergunta é genérica então...

Private Sub Worksheet_Change(ByVal Target As Range)
Dim lr As Long
Set Target = Sheets("Plan1").Range("A1")
lr = Cells(Rows.Count, "B").End(xlUp).Row
If Target.Value Like ">" & 0 Then Target.Copy Destination:=Sheets("Plan2").Range("B" & lr + 1)
End Sub

Não testado!!!

Sub OU()
Dim LR As Long, i As Long
With Sheets("Guia1")
    LR = .Range("B" & Rows.Count).End(xlUp).Row
    For i = 1 To LR
        With .Range("B" & i)
            If .Value > 0 Then .Copy Destination:=Sheets("Guia2").Range("A" & Rows.Count).End(xlUp).Offset(1)
        End With
    Next i
End With
End Sub

Att

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

 
Postado : 20/10/2014 6:47 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

A lógica seria, via código:
1) Filtre coluna A por valores maiores que zero
2) Copie as células visíveis do resultado e cole na coluna ao lado
3) Remova a filtragem

Isso resolve ? Se sim, me dá luz verde que eu escrevo o código.

FF

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

 
Postado : 20/10/2014 7:24 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Smile

Eu fundi os teus 2 tópicos, pois é proibido criar 2 tópicos sobre a mesma dúvida.

Patropi - Moderador

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

 
Postado : 20/10/2014 8:22 am
(@smile)
Posts: 33
Eminent Member
Topic starter
 

Bom nao deu certo o que eu queria :( vou explicar melhor.

Na planilha vide anexo tenho uma aba chamada controle de manifesto e preciso que a macro va na coluna AS encontre a primeira celula vazia entao a partir dai compare a coluna AK com a coluna AD e quando localizar subtraia a linha W pela AN em cada linha que foi encontrado a igualdade de ordens , quando a diferença der > que 0 entao copiar cada linha da AJ ate AS na planilha estoque mas antes disso apagar a linha AS de cada linha encontrada e selecionada para colagem. se nao encontrar nada ou seja se der zero em todos os encontrados e subtraidos entao a macro nao rodar penso algo mais ou menos assim, logica de um amador:

dim x as integer
x= 0

if x <> 0 then

run "macro_faz_acima_citado")

else
run"macro_parar"

loop x +1

End sub

PS e uma logica bem grossa do que eu imaginei e tentei ( to a uma semana nesse codigo)

Espero que possam me ajudar segue anexo.

 
Postado : 21/10/2014 5:48 am
(@smile)
Posts: 33
Eminent Member
Topic starter
 

A lógica seria, via código:
1) Filtre coluna A por valores maiores que zero
2) Copie as células visíveis do resultado e cole na coluna ao lado
3) Remova a filtragem

Isso resolve ? Se sim, me dá luz verde que eu escrevo o código.

FF

PArceiro, sua logica deu certo consegui desenvolver um código seguindo essa sua lógica, nossa muito facil, eu tentei tudo menos o que era facil kkkkkk, tks a lot

 
Postado : 21/10/2014 6:10 pm