Página 1 de 1

Formatação quando selecionada a linha

Enviado: 05 Jan 2016 às 15:40
por JorgeLuisNeves
Srs, possuo o seguinte codigo, hoje ele formata a linha sempre que uma celula daquila linha é selecionada.
Gostaria de colocar uma função para Ativar e Desativar, tipo, se a celula A1 = "Ativado", ai o codigo é ativado e fica funcional, caso contrario fique inativo.
Podem ajudar?

Codigo:
Option Explicit
Public Sub HighlightTableRow(Target As Excel.Range)

Dim t As ListObject
Dim lngInTable As Long
Dim c As Long

Const COLOR_SELECT = 1
Const COLOR_LIGHTER = 0.4

On Error Resume Next

If Target.Interior.Pattern = xlPatternSolid Then Exit Sub

For Each t In Target.Parent.ListObjects
c = c + 1
If Not Intersect(Target, t.DataBodyRange) Is Nothing Then
lngInTable = c
End If
t.Range.Interior.Pattern = xlNone
Next
If lngInTable = 0 Then Exit Sub

With Target.Parent.ListObjects(lngInTable)
With .Range.Interior
.Pattern = xlNone
.TintAndShade = 0
.PatternTintAndShade = 0
End With
With .DataBodyRange
With .Resize(Target.Rows.Count).Offset(Target.Row - .Row).Interior
.ThemeColor = COLOR_SELECT
.TintAndShade = 1 - COLOR_LIGHTER
End With
End With
End With

End Sub

Re: Formatação quando selecionada a linha

Enviado: 13 Jan 2016 às 13:13
por alexandrevba
Boa tarde!!

Seria isso?
Código: Selecionar todos
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
    Cells.Interior.ColorIndex = xlColorIndexNone
    ActiveCell.EntireRow.Interior.ColorIndex = 36
End Sub
Obs: O código deve ser posto no módulo de planilha.

Fonte:
http://www.vbaexpress.com/kb/getarticle.php?kb_id=145
Att

Formatação quando selecionada a linha

Enviado: 13 Jan 2016 às 13:24
por Parkeless
Se é só para o código não ativar se o conteúdo da célula A1 não for "Ativado", só incluir na primeira linha do seu código:
Código: Selecionar todos
If range("A1") <> "Ativado" then: Exit Sub