ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Trigger Macro based on single Cell change (https://www.excelbanter.com/excel-programming/420606-trigger-macro-based-single-cell-change.html)

gtslabs

Trigger Macro based on single Cell change
 
Trigger Macro based on single Cell change

I have a range named "Method". it is only 1 cell and contains the Data
Validation Letters A,B,C,D and is used on the form as a dropdown list.

I want to trigger the following code based on the value (A,B,C or D).
Right now it uns every time I change any cell value in the worksheet.
Can this be done?

Private Sub Worksheet_Change(ByVal Target As Range)

If Me.Range("Method").Value = "D" Then
Rows("14:19").Select
Selection.EntireRow.Hidden = False
Rows("51:53").Select
Selection.EntireRow.Hidden = False

Else

Rows("51:53").Select
Selection.EntireRow.Hidden = True
Rows("14:19").Select
Selection.EntireRow.Hidden = True
End If
End Sub

Per Jessen[_2_]

Trigger Macro based on single Cell change
 
This should do it:

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Address = Range("Method").Address Then
If Me.Range("Method").Value = "D" Then
Rows("14:19").EntireRow.Hidden = False
Rows("51:53").EntireRow.Hidden = False
Else
Rows("51:53").EntireRow.Hidden = True
Rows("14:19").EntireRow.Hidden = True
End If
End If
End Sub

Regards,
Per

On 27 Nov., 18:16, gtslabs wrote:
Trigger Macro based on single Cell change

I have a range named "Method". it is only 1 cell and contains the Data
Validation Letters A,B,C,D and is used on the form as a dropdown list.

I want to trigger the following code based on the value (A,B,C or D).
Right now it uns every time I change any cell value in the worksheet.
Can this be done?

Private Sub Worksheet_Change(ByVal Target As Range)

If Me.Range("Method").Value = "D" Then
* * Rows("14:19").Select
* * Selection.EntireRow.Hidden = False
* * Rows("51:53").Select
* * Selection.EntireRow.Hidden = False

* * Else

* * Rows("51:53").Select
* * * Selection.EntireRow.Hidden = True
* * Rows("14:19").Select
* * Selection.EntireRow.Hidden = True
End If
End Sub



Gary''s Student

Trigger Macro based on single Cell change
 
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("Method")) Is Nothing Then Exit Sub
If Me.Range("Method").Value = "D" Then
Rows("14:19").Select
Selection.EntireRow.Hidden = False
Rows("51:53").Select
Selection.EntireRow.Hidden = False

Else

Rows("51:53").Select
Selection.EntireRow.Hidden = True
Rows("14:19").Select
Selection.EntireRow.Hidden = True
End If
End Sub


--
Gary''s Student - gsnu200816

gtslabs

Trigger Macro based on single Cell change
 
On Nov 27, 12:38*pm, Per Jessen wrote:
This should do it:

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Address = Range("Method").Address Then
* * If Me.Range("Method").Value = "D" Then
* * * * Rows("14:19").EntireRow.Hidden = False
* * * * Rows("51:53").EntireRow.Hidden = False
* * Else
* * * * Rows("51:53").EntireRow.Hidden = True
* * * * Rows("14:19").EntireRow.Hidden = True
* * End If
End If
End Sub

Regards,
Per

On 27 Nov., 18:16, gtslabs wrote:



Trigger Macro based on single Cell change


I have a range named "Method". it is only 1 cell and contains the Data
Validation Letters A,B,C,D and is used on the form as a dropdown list.


I want to trigger the following code based on the value (A,B,C or D).
Right now it uns every time I change any cell value in the worksheet.
Can this be done?


Private Sub Worksheet_Change(ByVal Target As Range)


If Me.Range("Method").Value = "D" Then
* * Rows("14:19").Select
* * Selection.EntireRow.Hidden = False
* * Rows("51:53").Select
* * Selection.EntireRow.Hidden = False


* * Else


* * Rows("51:53").Select
* * * Selection.EntireRow.Hidden = True
* * Rows("14:19").Select
* * Selection.EntireRow.Hidden = True
End If
End Sub- Hide quoted text -


- Show quoted text -


Using this approach I get an error when I try to use a CopyDown on ant
other cells in the worksheet.
I get a Type Mismatch error.


Per Jessen[_2_]

Trigger Macro based on single Cell change
 
Hi

My code shouldn't cause this error...

Post the entire code for further comments.

If you use a select statement in your code, I think you should add
"Application.EnableEvents=false" at the top of the macro, just
remember to set = True at the end.

Regards,
Per

On 27 Nov., 19:31, gtslabs wrote:
On Nov 27, 12:38*pm, Per Jessen wrote:





This should do it:


Private Sub Worksheet_Change(ByVal Target As Range)


If Target.Address = Range("Method").Address Then
* * If Me.Range("Method").Value = "D" Then
* * * * Rows("14:19").EntireRow.Hidden = False
* * * * Rows("51:53").EntireRow.Hidden = False
* * Else
* * * * Rows("51:53").EntireRow.Hidden = True
* * * * Rows("14:19").EntireRow.Hidden = True
* * End If
End If
End Sub


Regards,
Per


On 27 Nov., 18:16, gtslabs wrote:


Trigger Macro based on single Cell change


I have a range named "Method". it is only 1 cell and contains the Data
Validation Letters A,B,C,D and is used on the form as a dropdown list..


I want to trigger the following code based on the value (A,B,C or D).
Right now it uns every time I change any cell value in the worksheet.
Can this be done?


Private Sub Worksheet_Change(ByVal Target As Range)


If Me.Range("Method").Value = "D" Then
* * Rows("14:19").Select
* * Selection.EntireRow.Hidden = False
* * Rows("51:53").Select
* * Selection.EntireRow.Hidden = False


* * Else


* * Rows("51:53").Select
* * * Selection.EntireRow.Hidden = True
* * Rows("14:19").Select
* * Selection.EntireRow.Hidden = True
End If
End Sub- Hide quoted text -


- Show quoted text -


Using this approach I get an error when I try to use a CopyDown on ant
other cells in the worksheet.
I get a Type Mismatch error.- Skjul tekst i anførselstegn -

- Vis tekst i anførselstegn -



Dana DeLouis

Trigger Macro based on single Cell change
 
Per Jessen wrote:
This should do it:

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Address = Range("Method").Address Then
If Me.Range("Method").Value = "D" Then
Rows("14:19").EntireRow.Hidden = False
Rows("51:53").EntireRow.Hidden = False
Else
Rows("51:53").EntireRow.Hidden = True
Rows("14:19").EntireRow.Hidden = True
End If
End If
End Sub

Regards,
Per

On 27 Nov., 18:16, gtslabs wrote:
Trigger Macro based on single Cell change

I have a range named "Method". it is only 1 cell and contains the Data
Validation Letters A,B,C,D and is used on the form as a dropdown list.

I want to trigger the following code based on the value (A,B,C or D).
Right now it uns every time I change any cell value in the worksheet.
Can this be done?

Private Sub Worksheet_Change(ByVal Target As Range)

If Me.Range("Method").Value = "D" Then
Rows("14:19").Select
Selection.EntireRow.Hidden = False
Rows("51:53").Select
Selection.EntireRow.Hidden = False

Else

Rows("51:53").Select
Selection.EntireRow.Hidden = True
Rows("14:19").Select
Selection.EntireRow.Hidden = True
End If
End Sub



Hi. Just a slightly different version of the same code...

Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
'// Hide rows if NOT "D"
Range("14:19, 51:53").EntireRow.Hidden = _
(Me.Range("Method").Value < "D")
Application.EnableEvents = True
End Sub

= = =
Dana DeLouis


All times are GMT +1. The time now is 12:08 AM.

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