Notifications
Clear all

Consulta de linhas de coluna

6 Posts
3 Usuários
0 Reactions
998 Visualizações
(@vonzuben)
Posts: 549
Prominent Member
Topic starter
 

Boa tarde !

Como colocar o Range ("C12:C" & UltL) da coluna dentro do If Target.Address =

Preciso igual abaixo com range da coluna

If Target.Address = "$C$10" Or Target.Address = "$B$10" Then

Obrigado desde já !

 
Postado : 06/06/2016 1:32 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Minha bola de cristal está queimada, então, para lidar com Target e Coluna use : Target.Column

If Target.Column = 3 Or Target.Columns = 2 Then
Onde 3 é a Coluna C e 2 a Coluna B.

 
Postado : 06/06/2016 5:08 pm
(@vonzuben)
Posts: 549
Prominent Member
Topic starter
 

Não precisa d ebola de cristal, pois conforme disse quero isso ("C12:C" & UltL) no lugar do "$C$10"
If Target.Address = ("C12:C" & UltL) Then
Isso procede ?

 
Postado : 06/06/2016 6:56 pm
(@vonzuben)
Posts: 549
Prominent Member
Topic starter
 

Eu tenho isso que está pegando somente de um linha If Target.Address = "$K$12" Or Target.Address = "$L$12"
Acima esta verificando somente celula k12 e L12, mas preciso verifica da K12 até a ultima preenchida dessa coluna, que seria ULT e mesma coisa com L12 até a ultima preenchida

 
Postado : 06/06/2016 7:02 pm
(@osvaldomp)
Posts: 857
Prominent Member
 

Minha bola de cristal está queimada...

Mauro, em alguns casos só a da Bola de Cristal é insuficiente ;) :)

If Target.Address = ("C12:C" & UltL) Then
Isso procede ?

O comando que você procura talvez seja este

If Target.Address = Range("K12:L" & Ultl).Address

Lembrando que esse comando só retornará VERDADEIRO se o intervalo selecionado/alterado (o Target) for igual a "K12:L" & Ultl". Assim, supondo Ultl = 20, o comando retornará V se for selecionado/alterado todo o intervalo "K12:L20" de uma vez. É isso que você quer?

Mas, caso você queira saber se apenas uma célula selecionada/alterada (o Target) está no intervalo o comando é este

If Not Intersect(Range("K12:L" & Ultl), Target) Is Nothing Then
 
Postado : 06/06/2016 8:00 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Tem toda razão Osvaldo, o que o pessoal as vezes não entendem é que eles tem em mente tudo já formado o que pretendem e nós desconhecemos, então a partir do momento que temos de utilizar "Talvez", ou "supondo" significa que temos de adivinhar e trabalhar com suposições.

Como colocar o Range ("C12:C" & UltL) da coluna dentro do If Target.Address =
Preciso igual abaixo com range da coluna
If Target.Address = "$C$10" Or Target.Address = "$B$10" Then

Iniciamos na Linha 10 ou 12 ?
As colunas B e C terão as mesmas quantidades de linhas com dados, ou cada uma terá quantidade diferente ?

Teremos de considerar celulas em branco ? Fiz um assistencia em um outro tópico com poucos detalhes, e só depois veio a pergunta de como desconsiderar as vazias, foi até um tópico que você complementou. Então quanto mais informações tivermos, mais rápido e eficiente podemos ajudar.

SUPONDO que as colunas que ele citou têm quantidades diferentes de linhas, temos de primeiro capturar a Última Linha preenchida de cada coluna, a qual ele citou a Variável "UltL" a partir da linha 12 ?? ou 10 ??

SUPONDO que iniciamos na linha 12 e cada coluna tem quantidade diferente, eu construiria da seguinte forma :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

    Dim UltL_B As Long 'Col B
    Dim UltL_C As Long 'Col C
    
    UltL_B = Range("B12").End(xlDown).Row 'Última linha coluna B
    UltL_C = Range("C12").End(xlDown).Row 'Última linha coluna C
    
    If Not Intersect(Target, Range("C12:C" & UltL_C)) Is Nothing Or Not Intersect(Target, Range("B12:B" & UltL_B)) Is Nothing Then
    
        MsgBox "Você selecionou a celula :- " & Target.Address(0, 0)
    
    End If
    
End Sub

Como pode perceber vonzuben, só pelo que escreveu, temos de ficar em suposições, em muitos foruns, o tópico seria excluído, até mesmo neste se atentar as regras no itém de descrever com detalhes o que precisam.

[]s

 
Postado : 06/06/2016 8:22 pm