ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Code to get the Active worksheet on change of worksheets (https://www.excelbanter.com/excel-programming/410003-code-get-active-worksheet-change-worksheets.html)

[email protected]

Code to get the Active worksheet on change of worksheets
 
I am having some difficulty here. It has been some time since I have
done any programming in VB for Excel.

I need to get the name of the worksheet and perform a function if it
is changed to that worksheet.

Basicly I have one worksheet with a column with numerical values and I
need to recalculate another sheet to count the number of occurances
within the first sheet when the first is changed or the sheet is
changed. Which ever is easier.

I do not have a set number of fields so I know I will have to loop
through the column of the first sheet. That's not a problem. The
problem is just starting it off.

I have tried this:

Public MyWorkbook As Workbook

Private Sub MyWorkbook_SheetChange(ByVal Sh As Object, _
ByVal Source As Range)


If Sh.Name = "Totals" Then
Msg "testing"
End If


End Sub

but it doesn't seem to do anything for me when I change sheets.

Help would be greatly appreciated.

Mike H

Code to get the Active worksheet on change of worksheets
 
Hi,

Use a different event. use the 'Activate' event from the sheet you want to
work on and then run your code

Private Sub Worksheet_Activate()
MsgBox ActiveSheet.Name & " is active"
'do something
End Sub

Mike

" wrote:

I am having some difficulty here. It has been some time since I have
done any programming in VB for Excel.

I need to get the name of the worksheet and perform a function if it
is changed to that worksheet.

Basicly I have one worksheet with a column with numerical values and I
need to recalculate another sheet to count the number of occurances
within the first sheet when the first is changed or the sheet is
changed. Which ever is easier.

I do not have a set number of fields so I know I will have to loop
through the column of the first sheet. That's not a problem. The
problem is just starting it off.

I have tried this:

Public MyWorkbook As Workbook

Private Sub MyWorkbook_SheetChange(ByVal Sh As Object, _
ByVal Source As Range)


If Sh.Name = "Totals" Then
Msg "testing"
End If


End Sub

but it doesn't seem to do anything for me when I change sheets.

Help would be greatly appreciated.


Dannic[_2_]

Code to get the Active worksheet on change of worksheets
 
Thanks, that seems to have helped. Now maybe I can get the rest of
it.

On Apr 25, 12:02*pm, Mike H wrote:
Hi,

Use a different event. use the 'Activate' event from the sheet you want to
work on and then run your code

Private Sub Worksheet_Activate()
MsgBox ActiveSheet.Name & " is active"
'do something
End Sub

Mike



" wrote:
I am having some difficulty here. *It has been some time since I have
done any programming in VB for Excel.


I need to get the name of the worksheet and perform a function if it
is changed to that worksheet.


Basicly I have one worksheet with a column with numerical values and I
need to recalculate another sheet to count the number of occurances
within the first sheet when the first is changed or the sheet is
changed. *Which ever is easier.


I do not have a set number of fields so I know I will have to loop
through the column of the first sheet. *That's not a problem. *The
problem is just starting it off.


I have tried this:


Public MyWorkbook As Workbook


Private Sub MyWorkbook_SheetChange(ByVal Sh As Object, _
* * * * ByVal Source As Range)


If Sh.Name = "Totals" Then
*Msg "testing"
End If


End Sub


but it doesn't seem to do anything for me when I change sheets.


Help would be greatly appreciated.- Hide quoted text -


- Show quoted text -




All times are GMT +1. The time now is 03:52 PM.

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