If activesheet is called X, then do y

D

Darin Kramer

Hi guys,

I need some VBA that says if the active sheet is "dogs", then call macro
entitled get dogs. If active sheet is "cats", then call macro entitled
"get Cats".

Possible...?

Thanks!!

D


*** Sent via Developersdex http://www.developersdex.com ***
 
P

PCLIVE

One way I think will work is:

if activesheet.name = "dogs" then GetDogs
if activesheet.name = "cats" then GetCats

However, when is this code supposed to run. Is it based on anytime the
sheet is active, or is it dependent on some other code that runs?
If it is to run any time those sheets are activated then you could add code
specifically to that sheet.
For example:

Right-click on sheet "dogs" and select View code. Click General dropdown
and select Worksheet. Click other dropdown and make sure it is on
Activate".
Then in your code, enter the macro name you want to run when this sheet is
selected. Here's what it would look like:

Private Sub Worksheet_Activate()
GetDogs
End Sub


HTH,
Paul
 
D

Die_Another_Day

Oops I forgot the "get"
Run "get" & Activesheet.Name
I eliminated the space because I don't think excel will let you have a
space in a macro name.

Charles
xl Geek
 
J

Jim Jackson

I had forgotten to take out a line. Here is the version that works. Sorry
about that.


Sub fill_in()
ActiveSheet.Range("A3").Select
For Each cell In Sheets
Do
If ActiveCell > "" Then

ElseIf ActiveCell.Offset(0, 3) > "" Then
ActiveCell = ActiveCell.Offset(-1, 0)

ElseIf ActiveCell = "" And ActiveCell.Offset(1, 0) = "" Then
Exit For
End If
ActiveCell.Offset(1, 0).Activate
Loop
Next
End Sub
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top