ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Macro opens files as it tries to access them !!! (https://www.excelbanter.com/excel-programming/401797-macro-opens-files-tries-access-them.html)

Berj

Macro opens files as it tries to access them !!!
 
Hi,

I have created a macro in an Excel file which uses the data from several
other Excel files and sheets. It gets the information from these other files
and puts them in the new file. The problem is that, the other files need to
be open at the time when the macro is running and trying to access them! If
they are closed, it gives an error as RUN TIME ERROR 9: SUBSCRIPT OUT OF
RANGE.
I want the macro to run smoothly, accessing the data in the other files
without giving any errors and without even opening them. Because opening them
will slow down the system and I will see a lot of window switching in front
of my eyes!!
Is there a command which I can add at the beginning of the macro to disable
the opening of the files, at the same time enabling access to their data? Or
is there another way of solving this problem.
Please help, as it is very urgent.

Thanks in advance.
Berj


Zone[_3_]

Macro opens files as it tries to access them !!!
 
Maybe you could use a function that doesn't require the other workbook to be
open, like SUMPRODUCT. See
http://www.xldynamic.com/source/xld....tml#advantages
James

"Berj" wrote in message
...
Hi,

I have created a macro in an Excel file which uses the data from several
other Excel files and sheets. It gets the information from these other
files
and puts them in the new file. The problem is that, the other files need
to
be open at the time when the macro is running and trying to access them!
If
they are closed, it gives an error as "RUN TIME ERROR '9': SUBSCRIPT OUT
OF
RANGE".
I want the macro to run smoothly, accessing the data in the other files
without giving any errors and without even opening them. Because opening
them
will slow down the system and I will see a lot of window switching in
front
of my eyes!!
Is there a command which I can add at the beginning of the macro to
disable
the opening of the files, at the same time enabling access to their data?
Or
is there another way of solving this problem.
Please help, as it is very urgent.

Thanks in advance.
Berj




ilia

Macro opens files as it tries to access them !!!
 
Open them. Here is an example of a sub that opens three workbooks by
a specified name. You could add code in-between to copy data from
them to current workbook, or whatever you need done (since you didn't
specify).

Public Sub openWorkbooks()
Dim fileNames(1 To 3) As String
Dim wkb As Excel.Workbook
Dim i As Long

Application.ScreenUpdating = False

fileNames(1) = "Book1.xls"
fileNames(2) = "Book2.xls"
fileNames(3) = "Book3.xls"

For i = LBound(fileNames) To UBound(fileNames)
On Error Resume Next
Set wkb = Application.Workbooks.Open _
(ThisWorkbook.Path & "\" & fileNames(i))
On Error GoTo 0
If wkb Is Nothing Then
Call MsgBox("Workbook " & fileNames(i) & " not found!")
Else
' copy data from current book
wkb.Close
Set wkb = Nothing
End If
Next i

Application.ScreenUpdating = True
End Sub


On Nov 28, 12:56 am, Berj wrote:
Hi,

I have created a macro in an Excel file which uses the data from several
other Excel files and sheets. It gets the information from these other files
and puts them in the new file. The problem is that, the other files need to
be open at the time when the macro is running and trying to access them! If
they are closed, it gives an error as "RUN TIME ERROR '9': SUBSCRIPT OUT OF
RANGE".
I want the macro to run smoothly, accessing the data in the other files
without giving any errors and without even opening them. Because opening them
will slow down the system and I will see a lot of window switching in front
of my eyes!!
Is there a command which I can add at the beginning of the macro to disable
the opening of the files, at the same time enabling access to their data? Or
is there another way of solving this problem.
Please help, as it is very urgent.

Thanks in advance.
Berj




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

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