Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 27,285
Default Code to make a sheet active

If you know the names of the other 3 workbooks and only this workbook will
be variable, but will contain UserGroupReport in the name, then just set a
reference to that workbook using code like the below


Public Sub OpenFiles()

On Error GoTo ErrorHandler

Dim FName As Variant
Dim i As Long
Dim bk as Workbook
FName = Application.GetOpenFilename _
("CSV Files,*.csv", _
MultiSelect:=True)


For i = LBound(FName) To UBound(FName)
Workbooks.Open FName(i)
if Instr(1,activeWorkbook.Name, _
"UserGroupReport",vbTextcompare) then
set bk = ActiveWorkbook
End if

Next

ErrorHandler:

End Sub


After all 4 workbooks are opened, Bk should be a reference to the
UserGroupReport workbook


If you like the Array approach, you can use code similar to the above to
identify which member of the array is the workbook of interest.

--
Regards,
Tom Ogilvy


"hshayh0rn" wrote in message
...
Thanks Bob!! I got it to work. My followup question would be how do I know
that the file will always be the same number within the array? If I code

it
as:

aryWBs(2).Activate - which is what it is right now

How do I know it won't change to 1, 3 or 4?

"Bob Phillips" wrote:

Sorry, that was my fault. The line should read

Set aryWBs(i) = Workbooks.Open(FName(i))


You then activate later without needing to know the name like so

aryWBs(4).Activate

--

HTH

Bob Phillips

(remove nothere from the email address if mailing direct)

"hshayh0rn" wrote in message
...
I appreciate your help Bob but I'm by no means a programmer so I'm

getting
a
little lost in the process here. I'm getting a compile error for the

line:

Set aryWBs(i) = Workbooks.Open FName(i)

Also, I don't see how this code will help me activate the worksheet I
mentioned in my initial post. Opening the files is working great and I

can
use 3 of thr 4 right now. I just can't seem to figure our or

understand
from
everyone who has tried to me how to write the code to activate (and

use)
the
fourth workbook/sheet.


"Bob Phillips" wrote:

I would use an array of objects

Public Sub OpenFiles()

On Error GoTo ErrorHandler

Dim FName As Variant
Dim i As Long
Dim aryWBs
FName = Application.GetOpenFilename _
("CSV Files,*.csv", _
MultiSelect:=True)


Redim aryWBs(LBound(FName) To UBound(FName))
For i = LBound(FName) To UBound(FName)
Set aryWBs(i) = Workbooks.Open FName(i)
Application.ScreenUpdating = False

'With Application 'disable the automatic calc feature
'.Calculation = xlManual
'.MaxChange = 0.001
'End With

'Reset Cursor position

Next

ErrorHandler:

End Sub


--

HTH

Bob Phillips

(remove nothere from the email address if mailing direct)

"hshayh0rn" wrote in message
...
Bob,

here is the code I'm using to open the files.

Public Sub OpenFiles()

On Error GoTo ErrorHandler

Dim FName As Variant
Dim i As Long

FName = Application.GetOpenFilename _
("CSV Files,*.csv", _
MultiSelect:=True)


For i = LBound(FName) To UBound(FName)
Workbooks.Open FName(i)
Application.ScreenUpdating = False

'With Application 'disable the automatic calc feature
'.Calculation = xlManual
'.MaxChange = 0.001
'End With

'Reset Cursor position

Next

ErrorHandler:

End Sub

I require the users to open four files. Three of the four have

names
that
are generic and easy to use but it's the fourth one I'm having the

trouble
with. Looking at the code above that I use to open the files how

can I
set
the object variable?

"Bob Phillips" wrote:

When you open the workbook, set an object variable

Set oWB = Workbooks.Open Filename:= ... etc

and then use that object variable when activating.

--

HTH

Bob Phillips

(remove nothere from the email address if mailing direct)

"hshayh0rn" wrote in

message
...
I have an active worksheet in a workbook that I need to grab

some
data
off
of. The problem is the name of the workbook that the worksheet

resides
in
contains a date and time the workbook was created as part of

the
file
name.
I've tried to use wildcards* to acftivate the workbook but

that
doesn't
seem
to work. Here is an example of the code I'm trying to run that

isn't
working:

Windows(BankNum & "-UserGroupReport" * ".csv").Activate

BankNum comes from user input
-UserGroupReport is static in the name
* represents the part of the file name that contains the

date/time

I don't want to make this really complicated. Does anyone have

any
ideas?











Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
macro to find cell content in sheets and make sheet active Nigel Excel Discussion (Misc queries) 4 June 26th 14 02:38 PM
Copy sheet and make new sheet active belvy123 Excel Discussion (Misc queries) 5 April 24th 08 03:33 PM
Need VBA Code to Let User Define Active Sheet zulfer7 Excel Discussion (Misc queries) 3 March 29th 07 02:59 PM
How to make chart embedded in active sheet? RB Smissaert Excel Programming 5 September 9th 05 07:41 AM
How to make a sheet the active sheet? [email protected] Excel Programming 1 October 26th 03 12:25 AM


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

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright ©2004-2025 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"