ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Running macros from formula bar (https://www.excelbanter.com/excel-programming/389701-running-macros-formula-bar.html)

Gene

Running macros from formula bar
 
I have a macro that changes the color in certain cells based on the result in
a particular cell. My question is this: can I have it run automatically
based on any new value in that cell or am I forced to run it with a toolbar.
I would prefer that it be done automatically. The basics are these: I have
an excel workbook that contains information about items for sale from
suppliers. One formula computes my minimum profit margin and displays both
the $ amount and the % amount. Another formula computes the maximum
percentage. I have done a macro that changes the backgound color of certain
cells based on the % obtained. Changes cells to red if below 0%. I did a
macro because I could not figure out how to do this with a formula. The
macro is as follows (the commented out portions do not work at present, but
the rest does):

Public Sub ChangeColor()
' Worksheets("Orders").Range("D18").Select
' With Selection
' MAXPPA = "MAXPMA / SMSRP"
If Worksheets("Orders").Range("D18").Value < 0 Then
Worksheets("Orders").Range("C17:C18").Interior.Col orIndex = 3
Else
Worksheets("Orders").Range("C17:C18").Interior.Col orIndex = 0
End If
' End With

End Sub

I would like this to run automatically based on the value in cell D18,
rather than having it run from a button.

Thanks,

/s/ Gene

Dave Peterson

Running macros from formula bar
 
You may be able to tie into some worksheet event (_change, _calculate), but have
you thought of using format|conditional formatting instead.

You can refer to cells in a different worksheet. If you name that range
(insert|name|define) that's used in the format|Conditional formatting dialog.



Gene wrote:

I have a macro that changes the color in certain cells based on the result in
a particular cell. My question is this: can I have it run automatically
based on any new value in that cell or am I forced to run it with a toolbar.
I would prefer that it be done automatically. The basics are these: I have
an excel workbook that contains information about items for sale from
suppliers. One formula computes my minimum profit margin and displays both
the $ amount and the % amount. Another formula computes the maximum
percentage. I have done a macro that changes the backgound color of certain
cells based on the % obtained. Changes cells to red if below 0%. I did a
macro because I could not figure out how to do this with a formula. The
macro is as follows (the commented out portions do not work at present, but
the rest does):

Public Sub ChangeColor()
' Worksheets("Orders").Range("D18").Select
' With Selection
' MAXPPA = "MAXPMA / SMSRP"
If Worksheets("Orders").Range("D18").Value < 0 Then
Worksheets("Orders").Range("C17:C18").Interior.Col orIndex = 3
Else
Worksheets("Orders").Range("C17:C18").Interior.Col orIndex = 0
End If
' End With

End Sub

I would like this to run automatically based on the value in cell D18,
rather than having it run from a button.

Thanks,

/s/ Gene


--

Dave Peterson

Sebation.G[_2_]

Running macros from formula bar
 
u shd use worksheet event (worksheet_selectionchange)
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
if target=range("d18") then
'put your code here
end if
End Sub

--
Regards,

Sebation.G


"Gene" ...
I have a macro that changes the color in certain cells based on the result
in
a particular cell. My question is this: can I have it run automatically
based on any new value in that cell or am I forced to run it with a
toolbar.
I would prefer that it be done automatically. The basics are these: I
have
an excel workbook that contains information about items for sale from
suppliers. One formula computes my minimum profit margin and displays
both
the $ amount and the % amount. Another formula computes the maximum
percentage. I have done a macro that changes the backgound color of
certain
cells based on the % obtained. Changes cells to red if below 0%. I did a
macro because I could not figure out how to do this with a formula. The
macro is as follows (the commented out portions do not work at present,
but
the rest does):

Public Sub ChangeColor()
' Worksheets("Orders").Range("D18").Select
' With Selection
' MAXPPA = "MAXPMA / SMSRP"
If Worksheets("Orders").Range("D18").Value < 0 Then
Worksheets("Orders").Range("C17:C18").Interior.Col orIndex = 3
Else
Worksheets("Orders").Range("C17:C18").Interior.Col orIndex = 0
End If
' End With

End Sub

I would like this to run automatically based on the value in cell D18,
rather than having it run from a button.

Thanks,

/s/ Gene




Gene

Running macros from formula bar
 
Thank you Dave. I did not realize it was so easy

"Dave Peterson" wrote:

You may be able to tie into some worksheet event (_change, _calculate), but have
you thought of using format|conditional formatting instead.

You can refer to cells in a different worksheet. If you name that range
(insert|name|define) that's used in the format|Conditional formatting dialog.



Gene wrote:

I have a macro that changes the color in certain cells based on the result in
a particular cell. My question is this: can I have it run automatically
based on any new value in that cell or am I forced to run it with a toolbar.
I would prefer that it be done automatically. The basics are these: I have
an excel workbook that contains information about items for sale from
suppliers. One formula computes my minimum profit margin and displays both
the $ amount and the % amount. Another formula computes the maximum
percentage. I have done a macro that changes the backgound color of certain
cells based on the % obtained. Changes cells to red if below 0%. I did a
macro because I could not figure out how to do this with a formula. The
macro is as follows (the commented out portions do not work at present, but
the rest does):

Public Sub ChangeColor()
' Worksheets("Orders").Range("D18").Select
' With Selection
' MAXPPA = "MAXPMA / SMSRP"
If Worksheets("Orders").Range("D18").Value < 0 Then
Worksheets("Orders").Range("C17:C18").Interior.Col orIndex = 3
Else
Worksheets("Orders").Range("C17:C18").Interior.Col orIndex = 0
End If
' End With

End Sub

I would like this to run automatically based on the value in cell D18,
rather than having it run from a button.

Thanks,

/s/ Gene


--

Dave Peterson


Gene

Running macros from formula bar
 
Thank you Sebation. I will play with your suggestion later. The other
method got what I wanted in the near term. I am better at vbscript than excel
programming.
/s/ Gene

"Sebation.G" wrote:

u shd use worksheet event (worksheet_selectionchange)
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
if target=range("d18") then
'put your code here
end if
End Sub

--
Regards,

Sebation.G


"Gene" ...
I have a macro that changes the color in certain cells based on the result
in
a particular cell. My question is this: can I have it run automatically
based on any new value in that cell or am I forced to run it with a
toolbar.
I would prefer that it be done automatically. The basics are these: I
have
an excel workbook that contains information about items for sale from
suppliers. One formula computes my minimum profit margin and displays
both
the $ amount and the % amount. Another formula computes the maximum
percentage. I have done a macro that changes the backgound color of
certain
cells based on the % obtained. Changes cells to red if below 0%. I did a
macro because I could not figure out how to do this with a formula. The
macro is as follows (the commented out portions do not work at present,
but
the rest does):

Public Sub ChangeColor()
' Worksheets("Orders").Range("D18").Select
' With Selection
' MAXPPA = "MAXPMA / SMSRP"
If Worksheets("Orders").Range("D18").Value < 0 Then
Worksheets("Orders").Range("C17:C18").Interior.Col orIndex = 3
Else
Worksheets("Orders").Range("C17:C18").Interior.Col orIndex = 0
End If
' End With

End Sub

I would like this to run automatically based on the value in cell D18,
rather than having it run from a button.

Thanks,

/s/ Gene






All times are GMT +1. The time now is 06:14 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com