![]() |
Highlighting Rows and Columns with Macro and VB
what code can I use to assign to a macro that will disable the following
macro and clear the formatting? When I enable and use the macro and then close the workbook and then open the workbook, even if I disable the macro, the format is still there and I can't clear it using the standard formatting toolbar. I want to be able to turn on and off the macro and formatting. The following code enables the macro, now I need one to disbale it. -- Gator Assuming that the target cell is the activecell when the icon is clicked, then in a standard module create '---------------------------------------------------------------- Public Sub SetHighlight(ByVal Target As Range) '---------------------------------------------------------------- Cells.FormatConditions.Delete With Target .EntireRow.FormatConditions.Add Type:=xlExpression, Formula1:="TRUE" AddRowBorders Target.EntireRow With .EntireColumn .FormatConditions.Delete .FormatConditions.Add Type:=xlExpression, Formula1:="TRUE" End With AddColumnBorders Target.EntireColumn .FormatConditions.Delete .FormatConditions.Add Type:=xlExpression, Formula1:="TRUE" .FormatConditions(1).Interior.ColorIndex = 36 End With End Sub Private Sub AddRowBorders(pRow As Range) With pRow With .FormatConditions(1) With .Borders(xlTop) .LineStyle = xlContinuous .Weight = xlThin .ColorIndex = 5 End With With .Borders(xlBottom) .LineStyle = xlContinuous .Weight = xlThin .ColorIndex = 5 End With .Interior.ColorIndex = 20 End With End With End Sub Private Sub AddColumnBorders(pColumn As Range) With pColumn With .FormatConditions(1) With .Borders(xlLeft) .LineStyle = xlContinuous .Weight = xlThin .ColorIndex = 5 End With With .Borders(xlRight) .LineStyle = xlContinuous .Weight = xlThin .ColorIndex = 5 End With .Interior.ColorIndex = 20 End With End With End Sub then add a new macro in a standrad code module Public Sub Icon_Click() Call SetHighlight(Activecell) End Sub and finally change the worksheet change event to Private Sub Worksheet_SelectionChange(ByVal Target As Range) Call SetHighlight(Target) End Sub -- --- HTH Bob |
All times are GMT +1. The time now is 08:10 PM. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com