Ir ao conteúdo
  • Cadastre-se
Pâmella Bernardes

Saltar coluna no excel

Recommended Posts

Boa tarde pessoal,

 

Estou fazendo um programa no excel e estou precisando que o programa salte um número de colunas (mas continue na mesma linha) de acordo com o valor da célula. Por exemplo:

 

Tenho a célula A2 da minha planilha onde consigo setar valores. Quando eu setar o valor 2 nessa célula, quero que ela pule uma quantidade X de células para a direita e pinte o interior dessa célula onde ela parou. Tentei fazer com offset, mas não funcionou d emaneira alguma. Alguém consegue me ajudar?

 

asdasdasd.png

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Basole Simm!! É exatamente isso que eu preciso! Só que com algumas modificações hehe

 

Eu fiz esse programa: 

Private Sub Worksheet_Change(ByVal Target As Range)
If Range("B2").Value = 2 Then
Range("B2").Offset(, Range("Y7").Value).Interior.ColorIndex = 3
End If
If Range("B2").Value = 1 Then
Range("B2").Offset(, Range("Z7").Value).Interior.ColorIndex = 3
End If
If Range("B2").Value =  Then
Range("B2").Offset(, Range("X7").Value).Interior.ColorIndex = 3
End If
End Sub

 

Funcionou, só que não ficou robusto como o seu! Essa planilha que estou fazendo é um placar de jogo, daí tenho uma fórmula que selecionará quantas partidas quem fez a pontuação 0, 1 ou 2 ficará de fora dependendo do número de pessoas que tem no jogo. Estou tentando entender seu código para conseguir usar ele, para que serve o target.count?

 

Muitíssimo obrigada de qualquer maneira!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Target é a referencia a ActiveCell ou seja a celula selecionada.

Target.Count conta quantas celulas foram selecionadas,. no caso do meu codigo if Target.Count > 1 Exit sub, é um tratamento de erro, pois se voce selecionar mais de uma celula a macro pára, caso contrario gerará um error, pois o codigo esta referenciando somente o valor de 1 (uma) Target. 

 

 

 

Dei uma reformulada no seu codigo :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub

If Target.Address = "$B$2" Then

 Select Case Target.Value
 
    Case 2
        Cells(Target.Row, "Y").Interior.ColorIndex = 3
        
    Case 1
       Cells(Target.Row, "Z").Interior.ColorIndex = 3
       
   Case 
       Cells(Target.Row, "X").Interior.ColorIndex = 3

End Select

End If

End Sub

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×