View Single Post
  #2   Report Post  
Posted to microsoft.public.excel.programming
Rob Bovey Rob Bovey is offline
external usenet poster
 
Posts: 811
Default Run time error 9 (subscript out of range)

Hi Nathaniel,

The root problem is that the string returned by the GetOpenFilename
method is not the same as the Window name of that file once it has been
opened. Here's one way of rewriting your code that will solve this problem.

Public Sub Main()

Dim f_name As Variant
Dim wkbBook As Workbook

f_name = Application.GetOpenFilename("Text Files (*.txt), *.txt")
If f_name < False Then MsgBox "Open " & f_name

Workbooks.OpenText Filename:=f_name, Origin:= _
xlWindows, StartRow:=1, DataType:=xlFixedWidth,
FieldInfo:=Array(Array(0, _
2), Array(17, 2), Array(30, 2), Array(39, 2))

Set wkbBook = ActiveWorkbook
Workbooks.Open Filename:="c:\switch_makros\Switch_Temp.xls"
Sheets("Sheet1").Select
Temp wkbBook

End Sub

Public Sub Temp(ByRef wkbBook As Workbook)
wkbBook.Activate
End Sub

--
Rob Bovey, MCSE, MCSD, Excel MVP
Application Professionals
http://www.appspro.com/

* Please post all replies to this newsgroup *
* I delete all unsolicited e-mail responses *


"Nathaniel Tigere" wrote in message
...
I need some assistance with my programm below . I am
getting run time error 9 at the indicated position


Public f_name as variant

Public Sub Main()

f_name = Application _
.GetOpenFilename("Text Files (*.txt), *.txt")
If f_name < False Then
MsgBox "Open " & f_name
End If


Workbooks.OpenText Filename:=f_name, Origin:= _
xlWindows, StartRow:=1, DataType:=xlFixedWidth,
FieldInfo:=Array(Array(0, _
2), Array(17, 2), Array(30, 2), Array(39, 2))
.
.

Workbooks.Open
Filename:="c:\switch_makros\Switch_Temp.xls"
Sheets("Sheet1").Select
.
.
.
Call Temp

End sub


Public Sub Temp()
.
.
Windows(f_name).Activate ' I get run time error 9 here
.
.
end sub