ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Worksheet_Change (https://www.excelbanter.com/excel-programming/397419-worksheet_change.html)

[email protected]

Worksheet_Change
 
Hi Guys,

I have tried to use the code:

Private Sub Worksheet_Change(ByVal Target As Range)

Rows("6:18").EntireRow.Hidden = False
Rows("20:37").EntireRow.Hidden = False

If Range("c5") = "1" Then
Rows("13:18").EntireRow.Hidden = True
ElseIf Range("c5") = "2" Then
Rows("20:37").EntireRow.Hidden = True
End If


End Sub

The code works ok with one change event. I would like to use it 3-4
times in a worksheet, but get an ambiguous message.

Any ideas


FSt1

Worksheet_Change
 
hi.
what is the ambiguous message?

regards
FSt1

" wrote:

Hi Guys,

I have tried to use the code:

Private Sub Worksheet_Change(ByVal Target As Range)

Rows("6:18").EntireRow.Hidden = False
Rows("20:37").EntireRow.Hidden = False

If Range("c5") = "1" Then
Rows("13:18").EntireRow.Hidden = True
ElseIf Range("c5") = "2" Then
Rows("20:37").EntireRow.Hidden = True
End If


End Sub

The code works ok with one change event. I would like to use it 3-4
times in a worksheet, but get an ambiguous message.

Any ideas



p45cal[_50_]

Worksheet_Change
 
I think you can only have 1 Sub Worksheet_Change per sheet, however, you can
use Target (the cells which triggered the change) to decide on a course of
action within that sub.

eg (pseudocode)
if target.column = 3 then do something
if target.column = 2 then do something else


you can check if Target is within a specified range (real code):

If Not Intersect(Target, Range("A3:C6")) Is Nothing Then
MsgBox "It's a hit!"
Else
'do something else
End If

or you can use the Select Case facility.
--
p45cal


" wrote:

Hi Guys,

I have tried to use the code:

Private Sub Worksheet_Change(ByVal Target As Range)

Rows("6:18").EntireRow.Hidden = False
Rows("20:37").EntireRow.Hidden = False

If Range("c5") = "1" Then
Rows("13:18").EntireRow.Hidden = True
ElseIf Range("c5") = "2" Then
Rows("20:37").EntireRow.Hidden = True
End If


End Sub

The code works ok with one change event. I would like to use it 3-4
times in a worksheet, but get an ambiguous message.

Any ideas



p45cal[_50_]

Worksheet_Change
 
it'll be:
Compile error. Ambiguous name detected:Worksheet_Change
--
p45cal


"FSt1" wrote:

hi.
what is the ambiguous message?

regards
FSt1

" wrote:

Hi Guys,

I have tried to use the code:

Private Sub Worksheet_Change(ByVal Target As Range)

Rows("6:18").EntireRow.Hidden = False
Rows("20:37").EntireRow.Hidden = False

If Range("c5") = "1" Then
Rows("13:18").EntireRow.Hidden = True
ElseIf Range("c5") = "2" Then
Rows("20:37").EntireRow.Hidden = True
End If


End Sub

The code works ok with one change event. I would like to use it 3-4
times in a worksheet, but get an ambiguous message.

Any ideas




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

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