Quem utiliza o Excel como fonte de dados para um cadastro ou conferência, sabe do que estou falando. Costumo trabalhar com o Excel ocupando metade da tela do monitor, e na outra metade mantenho a tela de outro programa aberto. Desta maneira, visualizo dados no Excel e comparo com os dados do outro programa em uso. Há momentos em que é tentador apoiar o dedo na tela do monitor apontando para uma linha do Excel, ao mesmo tempo em que digito dados no outro programa.
Resolvi pesquisar no Google e encontrei a solução aqui:
http://www.exceldoseujeito.com.br/2008/10/04/destacar-a-linha-selecionada-alterando-a-cor-de-fundo/
Neste artigo há um exemplo para download, onde é possível entender o funcionamento.
Passo a passo
Com seu arquivo aberto, clique em Ferramentas/Macro/Editor do Visual Basic.
No Visual Basic localize na estrutura do lado esquerdo o seguinte caminho: VBAProject (nome do seu arquivo) / Microsoft Excel Objetos / (nome da planilha que você quer o recurso ativado)
Clique duas vezes neste caminho e na tela da direita "cole" o código que encontra-se no final deste post. Pronto. Caso queira mudar a cor da linha destacada, procure dentro do código a seguinte expressão:
Rows(ActiveCell.Row).Interior.ColorIndex = 15
O número 15 indica a cor, e você pode alterar este valor para outra cor de sua preferência utilizando a tabela abaixo:
(fonte da tabela: http://www.dicasdeexcel.com.br/2009/05/15/codigo-de-cores-no-vba/)
Código
Dim LinhaSelecAnterior As Range
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Select Case ActiveCell.Row
Case 1, 2
'Coloque neste 'case' as linhas que não devem ser
'destacadas na seleção
'Exemplo: Linhas de título; Aqui eu defini como as linhas 1 e 2
'Remove cor de fundo da linha selecionada anteriormente
Select Case LinhaSelecAnterior.Row
Case Is <> 1, 2
Rows(LinhaSelecAnterior.Row).Interior.ColorIndex = 0
End Select
Case Else
'Altera a cor de fundo da linha selecionada
Rows(ActiveCell.Row).Interior.ColorIndex = 15
'Remove a cor de fundo quando a linha perde a seleção
If Not LinhaSelecAnterior Is Nothing Then
'Verifica se a linha atual já estava selecionada
'neste momento, caso seja uma nova linha selecionada
'remove a cor de fundo.
If ActiveCell.Row <> LinhaSelecAnterior.Row Then
Rows(LinhaSelecAnterior.Row).Interior.ColorIndex = 0
End If
End If
'Inicializa a variavel informando a seleção atual
'que será utilizada no inicio do procedimento
'como sendo a seleção anterior
Set LinhaSelecAnterior = ActiveCell
End Select
End Sub
Excelente dica. Só que voce perde formatações pontuais. No caso de formatações condicionais ou formatações prontas de tabela, é preservado neste comando.
ResponderExcluirSim, ẽ verdade. Infelizmente se perde mesmo a formatação.
ExcluirBoa opção, mas, não se consegue utilizar o ctrl+c ctrl+v, tem um comando na instrução que apaga a cópia na célula de destino.
ResponderExcluirIr sobre as colunas, como escolher a quantidade de colunas.
ResponderExcluirEstou na dúvida
Desculpe, não entendi sua dúvida.
ExcluirMUITO BOM EXCELENTE....
ResponderExcluir