- 01 Mar 2017 às 21:45
#20645
@JCabral,
Fiz uma brincadeira rápida aqui para você ver mais ou menos a dinâmica.
A partir disso você consegue adaptar exatamente ao que você quer...
A sacada está no "Workbook_SheetSelectionChange", ou seja, quando você seleciona uma célula, você dispara essa macro (tem outras opções, para só funcionar, por exemplo, com duplo clique)..
O restante é simples, aplicando algumas condicionais "If"...
Olha com calma, que tenho certeza que conseguirá fazer essas e outras ideias suas.
Abs!
=================================================================================
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
Application.ScreenUpdating = False
'linha onde foi dado o clique
linha = ActiveCell.Row
coluna = ActiveCell.Column
'testa so o clique ocorreu dentro do intervalo de linhas esperado, no caso, entre 6 e 14
If (linha >= 6 And linha <= 14) Then
'caso seja no intervalo, testa se o clique foi feito na coluna "S"
'cada coluna é representada por um nº... ex a = 1, b =2...etc
If ActiveCell.Column = 19 Then
Pintar_celula
Range("X" & linha).Select
Despintar_celula
Range("q5").Select
Else
'teste se o clique ocorreu na coluna "X"
If ActiveCell.Column = 24 Then
Pintar_celula
Range("S" & linha).Select
Despintar_celula
Range("q5").Select
End If
End If
End If
Application.ScreenUpdating = True
End Sub
Sub Pintar_celula()
ActiveCell.Select
'Aqui é a cor escolhida
With Selection.Interior
.Pattern = xlGray50
.PatternThemeColor = xlThemeColorDark1
.Color = 65535
.TintAndShade = 0
.PatternTintAndShade = 0
End With
End Sub
Sub Despintar_celula()
ActiveCell.Select
'Retira a cor ... opção Sem preenchimento
With Selection.Interior
.Pattern = xlNone
.TintAndShade = 0
.PatternTintAndShade = 0
End With
End Sub
Você não está autorizado a ver ou baixar esse anexo.