Executar somente nas células Visíveis (Auto Filtro)

Fórum para dúvidas sobre os fundamentos da linguagem de programação Visual Basic no contexto do VBA
Mathmatic
Manda bem
Manda bem
Mensagens: 154
Registrado em: Seg Out 24, 2011 1:50 pm

Re: Executar somente nas células Visíveis (Auto Filtro)

Mensagem por Mathmatic » Qui Fev 16, 2017 7:51 pm

sr. srobles,

resolveu o problema de o código ignorar a 1º nome da lista, mais uma vez ... parabéns.

mas, observei agora que o código não obedeceu mais o primeiro critério, que é de não considerar nomes sem repetição, ou seja, escrever "concluído" se tiver em primeiro critério mais de 1 ocorrência (obs: no código anterior estava funcionando).

por exemplo, o código não deveria ter escrito "concluído" para CARLOS e JOÃO, por serem nomes com 1 única ocorrência.

mas o código escreveu "concluído" para esses 2 nomes também.


att.
Mathmatic / SC

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.


srobles
Professor
Professor
Mensagens: 402
Registrado em: Qua Mai 06, 2015 7:39 pm

Re: Executar somente nas células Visíveis (Auto Filtro)

Mensagem por srobles » Qui Fev 16, 2017 8:06 pm

Mathmatic,

Fiz outra alteração e dessa vez, nomes que não repetem não são validados. Favor teste e retorne.

Código: Selecionar todos

Sub validarDados()
    'Altere o nome da aba caso necessite
    With ThisWorkbook.Sheets("Plan1")
        .Activate
        Cells(2, "A").Select
       'Retornamos a ultima linha preenchida
        Dim ultimaLinha As Integer
        ultimaLinha = .UsedRange.Rows.Count
        'Laço For=> Next para verificar linha a linha
        For a = 2 To ultimaLinha
            Dim procItem As String
            Dim endereçoCelula As String
            Cells(a, "A").Select
            endereçoCelula = ActiveCell.AddressLocal
                    'Armazenamos o valor da celula ativa para verificarmos com as demais
                    procItem = Cells(a, "A")
                        'Laço For=>Next para compararmos a variável com as linhas subsequentes
                        For b = a To ultimaLinha
                            Cells(b, "A").Select
                            'Se o valor da variável for igual ao da célula atual
                            If Cells(a, "A") = Cells(b, "A") Then
                                If Cells(b, "D") = "Concluído" Then Exit For
                                'Se os valores da coluna B e C forem maiores que 0 (zero) e a linha estiver visivel
                                If Cells(b, "B") > 0 And Cells(b, "C") > 0 And Selection.EntireRow.Hidden = False And Selection.AddressLocal <> endereçoCelula Then
                                    'Adicionamos Concluído na coluna D
                                    Cells(b, "D") = "Concluído"
                                    Exit For
                                Else
                                End If
                            End If
                        Next
        Next
    End With
End Sub
Abs


Saulo

Remember when you were young?
You shone like the sun.
Shine On You Crazy Diamond


Se suas dúvidas foram esclarecidas, acrescente ao lado do título o texto [RESOLVIDO].

Mathmatic
Manda bem
Manda bem
Mensagens: 154
Registrado em: Seg Out 24, 2011 1:50 pm

Re: Executar somente nas células Visíveis (Auto Filtro)

Mensagem por Mathmatic » Qui Fev 16, 2017 8:49 pm

sr. srobles,

agora voltou a não considerar (não validar) denovo o 1º nome da lista.

obs1: tem uma planilha em anexo no inicio do tópico para fazer os testes.

obs2: aproveito para lebrá-lo que estou no aguardo de uma evolução do tópico:

viewtopic.php?f=20&t=5194


att.
Mathmatic / SC

srobles
Professor
Professor
Mensagens: 402
Registrado em: Qua Mai 06, 2015 7:39 pm

Re: Executar somente nas células Visíveis (Auto Filtro)

Mensagem por srobles » Qui Fev 16, 2017 11:37 pm

Mathmatic,

Cara, acho que dessa vez foi... :mrgreen:

Quanto ao tópico citado anteriormente, pensei (e errado :oops: ) que tivesse relação com este. Mas sem problemas, enviarei o código lá.

Favor, teste e retorne ok?

Abs
Anexos
Mathmatic.rar
(18.28 KiB) Baixado 15 vezes


Saulo

Remember when you were young?
You shone like the sun.
Shine On You Crazy Diamond


Se suas dúvidas foram esclarecidas, acrescente ao lado do título o texto [RESOLVIDO].

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.


Mathmatic
Manda bem
Manda bem
Mensagens: 154
Registrado em: Seg Out 24, 2011 1:50 pm

Re: [RESOLVIDO] Executar somente nas células Visíveis (Auto Filtro)

Mensagem por Mathmatic » Sex Fev 17, 2017 2:44 am

tópico [RESOLVIDO]

amigo srobles,

Perfeitíssimo .... meus sinceros Parabéns ..... funcionou para todos os critérios que citei durante o decorrer do tópico... parabéns mesmo !

quanto ao outro tópico ainda não analisei, assim que analisá-lo responderei lá no tópico.


até mais amigo.


att.
Mathmatic / SC

srobles
Professor
Professor
Mensagens: 402
Registrado em: Qua Mai 06, 2015 7:39 pm

Re: Executar somente nas células Visíveis (Auto Filtro)

Mensagem por srobles » Sex Fev 17, 2017 10:38 am

Mathmatic,

Que bom que atendeu suas necessidades. Confesso que essa demanda nunca havia enfrentado, e que foi um desafio, porém gostei muito.

Obrigado pela paciência e compreensão meu amigo.

Ok, passarei a monitorar o outro tópico e espero que consigamos êxito também.

Abs


Saulo

Remember when you were young?
You shone like the sun.
Shine On You Crazy Diamond


Se suas dúvidas foram esclarecidas, acrescente ao lado do título o texto [RESOLVIDO].

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