ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   referencing file paths (https://www.excelbanter.com/excel-programming/391410-referencing-file-paths.html)

[email protected]

referencing file paths
 
The following code switches from the worksheet "Download" to the tab
"CBOVIIPRIN", which then dumps the data. It then activates the
Download worksheet and then opens a path "Range("M1") that is on the
excel sheet and is created with an imput and the rest is concacted. I
then want to reference the sheet that i opened using "Range("N1")
which is just a shorter reference to the worksheet that i can then use
to "Activate" the sheet as i switch back and forth. Note, the DIFFREC
sub repeats itself several times and would use the same reference as
Range("N1"). Referencing the sheet using Range('N1") does not work.
Also, When i run the program from the DIFFREC sub it works fine, but
when i run it from the previous sub that calls DIFFREC, it will not
open the worksheet. It will also only work if i get rid of the
reference ot RangeN1 and just hardcode the worksheet name. Any ideas
here? sorry its a little confusing. thanks a bunch

ActiveWindow.Close
Windows("DOWNLOAD.xls").Activate
Sheets("CBOVIIPRIN").Select
Selection.CurrentRegion.Select
Selection.ClearContents
x = 1
For y = 0 To rw - 1
Cells(x, 1).Value = arrTicker(0, y)
Cells(x, 2).Value = arrTicker(1, y)
Cells(x, 3).Value = arrTicker(2, y)
x = x + 1
Next
Call DIFFREC
End Sub


Public Sub DIFFREC()
Windows("DOWNLOAD.xls").Activate
Workbooks.Open Filename:=Range("M1").Value
Windows("Download.xls").Activate
Dim cell As Variant
Dim rw As Integer
Dim x As Integer
Dim y As Integer
Dim FRange As Range
'Dim rwCt As Integer
'rwCt = Range("myRange").Count
Dim arrTicker() As String
Dim rTicker() As String
rw = 0 ' array counter
For Each cell In Range("RANGE1")
If Abs(cell.Value) 0.05 Then
ReDim Preserve arrTicker(4, rw)
arrTicker(0, rw) = cell.Offset(0, -12).Value
arrTicker(1, rw) = cell.Offset(0, -11).Value
arrTicker(2, rw) = cell.Offset(0, -5).Value
arrTicker(3, rw) = cell.Offset(0, -4).Value
rw = rw + 1
End If
Next cell
Windows(Range("N1").Value).Activate
Sheets("CBO I").Select
x = 3
For y = 0 To rw - 1
Cells(x, 1).Value = arrTicker(0, y)
Cells(x, 2).Value = arrTicker(1, y)
Cells(x, 3).Value = arrTicker(2, y)
Cells(x, 4).Value = arrTicker(3, y)
x = x + 1

Next

Windows("DOWNLOAD.xls").Activate
Call PRINCREC
End Sub


Tom Ogilvy

referencing file paths
 
unqualified range references in a sheet module refer to the sheet that
contains the code. In a general module they refer to the activesheet. I
suspect this is the root of your problem.

Always write your code so it will work without selecting sheets back and
forth. Fully qualify your references. Preface with Activesheet if you need
to reference the active sheet.

--
Regards,
Tom Ogilvy

" wrote:

The following code switches from the worksheet "Download" to the tab
"CBOVIIPRIN", which then dumps the data. It then activates the
Download worksheet and then opens a path "Range("M1") that is on the
excel sheet and is created with an imput and the rest is concacted. I
then want to reference the sheet that i opened using "Range("N1")
which is just a shorter reference to the worksheet that i can then use
to "Activate" the sheet as i switch back and forth. Note, the DIFFREC
sub repeats itself several times and would use the same reference as
Range("N1"). Referencing the sheet using Range('N1") does not work.
Also, When i run the program from the DIFFREC sub it works fine, but
when i run it from the previous sub that calls DIFFREC, it will not
open the worksheet. It will also only work if i get rid of the
reference ot RangeN1 and just hardcode the worksheet name. Any ideas
here? sorry its a little confusing. thanks a bunch

ActiveWindow.Close
Windows("DOWNLOAD.xls").Activate
Sheets("CBOVIIPRIN").Select
Selection.CurrentRegion.Select
Selection.ClearContents
x = 1
For y = 0 To rw - 1
Cells(x, 1).Value = arrTicker(0, y)
Cells(x, 2).Value = arrTicker(1, y)
Cells(x, 3).Value = arrTicker(2, y)
x = x + 1
Next
Call DIFFREC
End Sub


Public Sub DIFFREC()
Windows("DOWNLOAD.xls").Activate
Workbooks.Open Filename:=Range("M1").Value
Windows("Download.xls").Activate
Dim cell As Variant
Dim rw As Integer
Dim x As Integer
Dim y As Integer
Dim FRange As Range
'Dim rwCt As Integer
'rwCt = Range("myRange").Count
Dim arrTicker() As String
Dim rTicker() As String
rw = 0 ' array counter
For Each cell In Range("RANGE1")
If Abs(cell.Value) 0.05 Then
ReDim Preserve arrTicker(4, rw)
arrTicker(0, rw) = cell.Offset(0, -12).Value
arrTicker(1, rw) = cell.Offset(0, -11).Value
arrTicker(2, rw) = cell.Offset(0, -5).Value
arrTicker(3, rw) = cell.Offset(0, -4).Value
rw = rw + 1
End If
Next cell
Windows(Range("N1").Value).Activate
Sheets("CBO I").Select
x = 3
For y = 0 To rw - 1
Cells(x, 1).Value = arrTicker(0, y)
Cells(x, 2).Value = arrTicker(1, y)
Cells(x, 3).Value = arrTicker(2, y)
Cells(x, 4).Value = arrTicker(3, y)
x = x + 1

Next

Windows("DOWNLOAD.xls").Activate
Call PRINCREC
End Sub




All times are GMT +1. The time now is 12:18 AM.

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