Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
    • DiF

      Poste seus códigos corretamente!   21-05-2016

      Prezados membros do Fórum do Clube do Hardware, O Fórum oferece um recurso chamado CODE, onde o ícone no painel do editor é  <>     O uso deste recurso é  imprescindível para uma melhor leitura, manter a organização, diferenciar de texto comum e principalmente evitar que os compiladores e IDEs acusem erro ao colar um código copiado daqui. Portanto convido-lhes para ler as instruções de como usar este recurso CODE neste tópico:  
Tiago Dalbosco Da Silva

Excel VBA Destacar linha e coluna selecionada sem alterar cores

Recommended Posts

Olá,

 

Venho por meio deste questionar a possibilidade de:

 - Ao selecionar uma "célula", destacar a linha toda e a coluna desta célula, encontrei muitos tutoriais com o código a seguir:

 

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    ' Clear the color of all the cells
    Cells.Interior.ColorIndex = 0
    If IsEmpty(Target) Or Target.Cells.Count > 1 Then Exit Sub
    Application.ScreenUpdating = False
    With ActiveCell
        ' Highlight the row and column that contain the active cell, within the current region
        Range(Cells(.Row, .CurrentRegion.Column), Cells(.Row, .CurrentRegion.Columns.Count + .CurrentRegion.Column - 1)).Interior.ColorIndex = 8
        Range(Cells(.CurrentRegion.Row, .Column), Cells(.CurrentRegion.Rows.Count + .CurrentRegion.Row - 1, .Column)).Interior.ColorIndex = 8
    End With
    Application.ScreenUpdating = True
End Sub

Porém o resultado é:

http://prntscr.com/jetild

 

Nesta tabela preciso manter as cores originais de referência:

http://prntscr.com/jetj9r

 

Apenas mostrar como referencia a linha e coluna que está selecionado.

 

É Possível?

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não sei se entendi bem o que precisa, de qualquer forma veja se é isso: 

 

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    ' Clear the color of all the cells
    Cells.Interior.ColorIndex = 0
    If IsEmpty(Target) Or Target.Cells.Count > 1 Then Exit Sub
    Application.ScreenUpdating = False
    With ActiveCell
        ' Highlight the row and column that contain the active cell, within the current region
       Range(Cells(.Row, .CurrentRegion.Column), Cells(.Row, .CurrentRegion.Columns.Count + _
                   .CurrentRegion.Column - 1)).Interior.ColorIndex = ActiveSheet.Tab.ColorIndex
      
    End With
    Application.ScreenUpdating = True
End Sub

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vamos la,

Como a planilha é:

http://prntscr.com/jf9l6y

 

Ao aplicar o código que o Sr. @Basole citou acima ficou:

http://prntscr.com/jf9nm7

                          Note que ele zera todas as cores ao clicar.

 

o que busco é isso:

Manter as cores apenas assinalar a linha que está selecionada sem perder as cores originais do documento.

http://prntscr.com/jf9mhf

http://prntscr.com/jf9mtz

 

não precisa nem ser a coluna junto.

adicionado 2 minutos depois
38 minutos atrás, Basole disse:

Não sei se entendi bem o que precisa, de qualquer forma veja se é isso: 

 


Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    ' Clear the color of all the cells
    Cells.Interior.ColorIndex = 0
    If IsEmpty(Target) Or Target.Cells.Count > 1 Then Exit Sub
    Application.ScreenUpdating = False
    With ActiveCell
        ' Highlight the row and column that contain the active cell, within the current region
       Range(Cells(.Row, .CurrentRegion.Column), Cells(.Row, .CurrentRegion.Columns.Count + _
                   .CurrentRegion.Column - 1)).Interior.ColorIndex = ActiveSheet.Tab.ColorIndex
      
    End With
    Application.ScreenUpdating = True
End Sub

 

Alterei o código para cor 22 e entendi o que ele faz, mas n sei como manter as cores originais

 

http://prntscr.com/jf9pso

Compartilhar este post


Link para o post
Compartilhar em outros sites

Só por curiosidade, copie esse código e colei no VBA porém não funcionou, como eu tenho que fazer?

Tem que criar uma macro qualquer e colar o código? Tem que criar botão?

Compartilhar este post


Link para o post
Compartilhar em outros sites
agora, AndersonSL disse:

Só por curiosidade, copie esse código e colei no VBA porém não funcionou, como eu tenho que fazer?

Tem que criar uma macro qualquer e colar o código? Tem que criar botão?

 

7 horas atrás, Tiago Dalbosco Da Silva disse:

Cells.Interior.ColorIndex = 0

tente esse (só alterei a linha = 0 para = 22)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não funcionou, tipo copiei o codigo e colei no vba certo? ai eu salvo a planilha e só? eu tenho que fazer algo mais?

Compartilhar este post


Link para o post
Compartilhar em outros sites
2 minutos atrás, AndersonSL disse:

Não funcionou, tipo copiei o codigo e colei no vba certo? ai eu salvo a planilha e só? eu tenho que fazer algo mais?

Passo a partir do VBA aberto:

 

• Localize a Plan que vai colocar o código:

http://prntscr.com/jffs5q

• Dois clique nela:

http://prntscr.com/jffso0

• Cole o código e confere se está da cor que você quer (no meu caso 22):

http://prntscr.com/jfft69

• Como esta antes do código:

http://prntscr.com/jfftho

• Como ficou depois do código:

http://prntscr.com/jfftpu

 

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






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

×