Home |
Search |
Today's Posts |
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
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 background and border formatting 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 clear the 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 Was this post helpful to you? Why should I rate a post? Expand AllCollapse All Manage Your Profile |Contact us © 2008 Microsoft Corporation. All rights reserved. Terms of Use |Trademarks |Privacy Statement -- Gator |
#2
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Disable the macro? remove it.
Clear the formatting Public Sub ClearHighlight() Activesheet.Cells.FormatConditions.Delete End Sub -- --- HTH Bob (there's no email, no snail mail, but somewhere should be gmail in my addy) "Gator" wrote in message ... 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 background and border formatting 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 clear the 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 Was this post helpful to you? Why should I rate a post? Expand AllCollapse All Manage Your Profile |Contact us © 2008 Microsoft Corporation. All rights reserved. Terms of Use |Trademarks |Privacy Statement -- Gator |
#3
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
You should be able to clear it with FormatConditionalFormattingDelete on
the standard menu bar. "Gator" wrote: 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 background and border formatting 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 clear the 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 Was this post helpful to you? Why should I rate a post? Expand AllCollapse All Manage Your Profile |Contact us © 2008 Microsoft Corporation. All rights reserved. Terms of Use |Trademarks |Privacy Statement -- Gator |
#4
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
I want to be able to turn the macro on and off. When I enable the macro, the
formatting works and continues to work - which is what I want it to do. I want to be able use another icon that disables the macro and clears the formatting, without having to remove it or closing the sheet, because I might want to turn it back on. It's like, for the same sheet, sometimes I want it and sometimes I don't - which could be several times in a day or in an hour. Thanks -- Gator "Bob Phillips" wrote: Disable the macro? remove it. Clear the formatting Public Sub ClearHighlight() Activesheet.Cells.FormatConditions.Delete End Sub -- --- HTH Bob (there's no email, no snail mail, but somewhere should be gmail in my addy) "Gator" wrote in message ... 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 background and border formatting 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 clear the 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 Was this post helpful to you? Why should I rate a post? Expand AllCollapse All Manage Your Profile |Contact us © 2008 Microsoft Corporation. All rights reserved. Terms of Use |Trademarks |Privacy Statement -- Gator |
#5
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
I once created such an app. I will try and dig it out for you.
-- --- HTH Bob (there's no email, no snail mail, but somewhere should be gmail in my addy) "Gator" wrote in message ... I want to be able to turn the macro on and off. When I enable the macro, the formatting works and continues to work - which is what I want it to do. I want to be able use another icon that disables the macro and clears the formatting, without having to remove it or closing the sheet, because I might want to turn it back on. It's like, for the same sheet, sometimes I want it and sometimes I don't - which could be several times in a day or in an hour. Thanks -- Gator "Bob Phillips" wrote: Disable the macro? remove it. Clear the formatting Public Sub ClearHighlight() Activesheet.Cells.FormatConditions.Delete End Sub -- --- HTH Bob (there's no email, no snail mail, but somewhere should be gmail in my addy) "Gator" wrote in message ... 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 background and border formatting 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 clear the 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 Was this post helpful to you? Why should I rate a post? Expand AllCollapse All Manage Your Profile |Contact us © 2008 Microsoft Corporation. All rights reserved. Terms of Use |Trademarks |Privacy Statement -- Gator |
#6
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
That would be great. Also, I tried your code to clear the formatting and
can't get it to work. I put the code in a standard module and assigned it to an icon by right clicking the icon and customize and assign macro and clicked on the module name. Do I need to to something else? -- Gator "Bob Phillips" wrote: I once created such an app. I will try and dig it out for you. -- --- HTH Bob (there's no email, no snail mail, but somewhere should be gmail in my addy) "Gator" wrote in message ... I want to be able to turn the macro on and off. When I enable the macro, the formatting works and continues to work - which is what I want it to do. I want to be able use another icon that disables the macro and clears the formatting, without having to remove it or closing the sheet, because I might want to turn it back on. It's like, for the same sheet, sometimes I want it and sometimes I don't - which could be several times in a day or in an hour. Thanks -- Gator "Bob Phillips" wrote: Disable the macro? remove it. Clear the formatting Public Sub ClearHighlight() Activesheet.Cells.FormatConditions.Delete End Sub -- --- HTH Bob (there's no email, no snail mail, but somewhere should be gmail in my addy) "Gator" wrote in message ... 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 background and border formatting 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 clear the 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 Was this post helpful to you? Why should I rate a post? Expand AllCollapse All Manage Your Profile |Contact us © 2008 Microsoft Corporation. All rights reserved. Terms of Use |Trademarks |Privacy Statement -- Gator |
#7
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Hi,
There are probably more elegant solutions, but for a quick fix, cant you use some module level globals to selectively set/unset and then execute the code within the macros based on the true/false of those booleans? Best Regards, -feltra On Jan 9, 9:56 pm, Gator wrote: I want to be able to turn the macro on and off. When I enable the macro, the formatting works and continues to work - which is what I want it to do. I want to be able use another icon that disables the macro and clears the formatting, without having to remove it or closing the sheet, because I might want to turn it back on. It's like, for the same sheet, sometimes I want it and sometimes I don't - which could be several times in a day or in an hour. |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
Formatting Charts Using Macros | Excel Discussion (Misc queries) | |||
Formatting with Macros | Excel Programming | |||
Macros for graph formatting | Excel Programming | |||
Formatting (macros or templates)? | Excel Discussion (Misc queries) | |||
Conditional Formatting using Event Macros | Excel Programming |