Vídeo recomendado
https://youtu.be/diWPPPhW-9E

Substituir valor das linhas na mesma coluna com critério

Fórum para dúvidas sobre os fundamentos da linguagem de programação Visual Basic no contexto do VBA
Jheferson R
Colaborador
Colaborador
Mensagens: 17
Registrado em: Ter Ago 07, 2012 10:25 am

Substituir valor das linhas na mesma coluna com critério

Mensagem por Jheferson R »

Olá, estou com dificuldade em criar um código em VBA que substituísse o valor das linhas na coluna de acordo com um critério na mesma linha.

Imagem

Toda célula na coluna E que for igual ao critério "Gerou OS", aparecer um valor critério na coluna B na mesma linha que houver este critério.

Imagem

Estou postando a planilha de exemplo.
Anexos
exemplo.zip
(7.27 KiB) Baixado 292 vezes


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Jheferson R
Colaborador
Colaborador
Mensagens: 17
Registrado em: Ter Ago 07, 2012 10:25 am

Re: Substituir valor das linhas na mesma coluna com critério

Mensagem por Jheferson R »

Postando novamente a planilha de exemplo com as explicações nela prórpia, desde ja agradeço.
Anexos
exemplo.zip
(11.84 KiB) Baixado 289 vezes


magushi
Colaborador
Colaborador
Mensagens: 37
Registrado em: Qua Set 17, 2014 9:42 am

Re: Substituir valor das linhas na mesma coluna com critério

Mensagem por magushi »

Jheferson, boa noite!

Segue abaixo a Solução:

Public sub teste()
Sheets("Tabela").select
a=5
do while sheets("Tabela").cells(a,6) <>""
if cells(a,6).value="Gerou OS" then
Cells(a,2)= Sheets("Críterios").range("b5").value
end if
a=a+1
loop

end sub

Testei na sua Planilha e deu certo.
Espero ter ajudado.

Abraço,

Magushi
Skype: samuca_vsj


Jheferson R
Colaborador
Colaborador
Mensagens: 17
Registrado em: Ter Ago 07, 2012 10:25 am

Re: Substituir valor das linhas na mesma coluna com critério

Mensagem por Jheferson R »

Coloco esse código num módulo? E pra que serve cada linha? Pois sempre que vou estudar um código, gosto de fazer adaptações e entender ele, pra mim aprender.


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


magushi
Colaborador
Colaborador
Mensagens: 37
Registrado em: Qua Set 17, 2014 9:42 am

Re: Substituir valor das linhas na mesma coluna com critério

Mensagem por magushi »

Boa noite.

é só colocar em um módulo e rodar.


Sheets("Tabela").select - Seleciona a Guia Tabela.
a=5 - Da valor de 5 a letra a
do while sheets("Tabela").cells(a,6) <>"" - Significa : Faça Enquanto a guia tabela a celulas Linha 5 da 6 Coluna for diferente de Vazio.
if cells(a,6).value="Gerou OS" then - Se a Celula Linha 5 da Coluna 6 tiver o Valor de texto "Gerou OS", então
Cells(a,2)= Sheets("Críterios").range("b5").value - O valor da Celular Linha 5 da Coluna 6 será igual ao valor da célula da Guia Critérios da Célula B5,
end if - FInaliza o SE
a=a+1 AQui soma o Valor de A (5) + 1 = 6
loop - O Loop quer dizer volta e refaz o processo.


Espero ter ajudado.

Obrigado!

Magushi


Jheferson R
Colaborador
Colaborador
Mensagens: 17
Registrado em: Ter Ago 07, 2012 10:25 am

Re: Substituir valor das linhas na mesma coluna com critério

Mensagem por Jheferson R »

Fiz o teste na planilha e deu erro, não funcionou.


Jheferson R
Colaborador
Colaborador
Mensagens: 17
Registrado em: Ter Ago 07, 2012 10:25 am

Re: Substituir valor das linhas na mesma coluna com critério

Mensagem por Jheferson R »

Dá um erro de váriavel, e mesmo que eu editasse os comandos não executa o devido.

Será porque? Espero que seja simples.


Marcos Filho
Acabou de chegar
Acabou de chegar
Mensagens: 8
Registrado em: Qua Abr 08, 2015 8:04 pm

Solução =D

Mensagem por Marcos Filho »

Olá Jheferson R,

Para resolver esse problema tudo o que você precisa é criar uma estrutura de seleção simples, um If ... Then... Else... já resolve seu problema (link 1). Agora para que ele realize para diversas linhas com um simples clique é interessante que você coloque isso dentro de um loop, acredito que um Do Until ... loop já resolva seu problema (link 2).

Link 1:http://excelparaestagiarios.com.br/avan ... is-no-vba/
Link 2:http://excelparaestagiarios.com.br/avan ... ntil-loop/

Veja o modelo abaixo:
Crie um botão na planilha e coloque o seguinte código no evento "Click"

Dim Lin as Integer
Lin=5
Do Until Thisworkbook.sheets("Tabela").cells(Lin,6) = empty
if Thisworkbook.sheets("Tabela").cells(Lin,6).value="Gerou OS" then
Thisworkbook.sheets("Tabela").cells(Lin,6).value= Thisworkbook.sheets("Críterios").range("B5").value
end if
Lin = LIn+1
loop

Recomendo que tabule o código para que ele fique mais "legível".
Em anexo segue planilha funcionando.
Solucionado - Excel para Estagiários - Marcos Filho.rar
Arquivo com a solução completa
(23.52 KiB) Baixado 273 vezes


Jheferson R
Colaborador
Colaborador
Mensagens: 17
Registrado em: Ter Ago 07, 2012 10:25 am

Re: Substituir valor das linhas na mesma coluna com critério

Mensagem por Jheferson R »

Olá, amigo não consegui resolver o problema. A macro que me passou não executa, tentei entendê-la mas não tive sucesso, entendi poucas linhas e não consegui modificar algo pra executar ela, não acontece nada quando executo, criei até mesmo um módulo e o botão de comando e nada.


Marcos Filho
Acabou de chegar
Acabou de chegar
Mensagens: 8
Registrado em: Qua Abr 08, 2015 8:04 pm

Re: Substituir valor das linhas na mesma coluna com critério

Mensagem por Marcos Filho »

Acredito que você esteja realizando algo de errado. Rodei a macro aqui e funcionou perfeitamente. Você usou o arquivo que enviei? Ele estava funcionando.

Para entender melhor o código visite os links que recomendei


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Responder