Solved

Activate Workbook and Worksheet with Wildcard

Posted on 2011-09-30
6
3,561 Views
Last Modified: 2012-05-12
I need to activate a workbook and worksheet that will already be open. I have code that works for this for the specific name, but the date at the beginning will change every month, so I want code that will use a wildcard for the date and select the workbook and worksheet for activation just using the last part of the name.

Example:
This is what works now:
Workbooks("2011_09_Name_of_Workbook.xlsm").Sheets("2011_09_Worksheet_Name").Activate

This is the basic idea of what I would like to work:
Workbooks("*_Name_of_Workbook.xlsm").Sheets("*_Worksheet_Name").Activate

Thank you
0
Comment
Question by:AndresHernando
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 5
6 Comments
 
LVL 33

Accepted Solution

by:
jppinto earned 500 total points
ID: 36890509
You can try something like this:
Dim wkb As Workbook
    For Each wkb In Workbooks
        If wkb.Name Like "*_Name_of_Workbook.xlsm" Then
            wkb.Activate
            Exit For
        End If
    Next wkb

Open in new window

0
 

Author Comment

by:AndresHernando
ID: 36890584
jpp,

I tried code like that before posting, but it didn't work. But I figured I'd give yours a try again anyhow. It still doesn't work. It seems to skip over the "wkb.activate" command when I step through it. It will loop a couple of times, and then just move on the the next portion of code. It doesn't crash or give an error msg, but it doesn't activate the workbook and worksheet that I want to be activated.

Thanks
0
 

Author Comment

by:AndresHernando
ID: 36890594
jpp,

Nevermind that last post. I forgot to change the "*_Name_of_Workbook.xlsm" back to the proper name. Once I changed it to the proper name, it loops through 3 times, and on the 3rd try it activates like it is supposed to. Not sure why it failed on me before? But it works now.

Thanks!
0
VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

 

Author Closing Comment

by:AndresHernando
ID: 36890595
It worked
0
 

Author Comment

by:AndresHernando
ID: 36890613
Oh, I didn't notice until I tried to run it again that the code didn't call the spreadsheet within the workbook too. Do you know how I could call the spreadsheet within this workbook? To make matters more difficult, other open workbooks (with different names) will have a worksheet in them with the same name. That's why I need to make sure that it only calls the sheet within the active workbook.
0
 

Author Comment

by:AndresHernando
ID: 36890617
Nevermind that last one, I got it.

Thanks again.
0

Featured Post

VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

A little background as to how I came to I design this code: Around 5 years ago I designed an add-in that formatted Excel files to a corporate standard, applying different cell colours and font type depending on whether the cells contained inputs,…
You need to know the location of the Office templates folder, so that when you create new templates, they are saved to that location, and thus are available for selection when creating new documents.  The steps to find the Templates folder path are …
The viewer will learn how to create two correlated normally distributed random variables in Excel, use a normal distribution to simulate the return on different levels of investment in each of the two funds over a period of ten years, and, create a …
Finds all prime numbers in a range requested and places them in a public primes() array. I've demostrated a template size of 30 (2 * 3 * 5) but larger templates can be built such 210  (2 * 3 * 5 * 7) or 2310  (2 * 3 * 5 * 7 * 11). The larger templa…

623 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question