ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Error 1004 (https://www.excelbanter.com/excel-programming/430461-error-1004-a.html)

Bert Onstott

Error 1004
 


Can anyone tell me why the following code generates an error 1004 when
running either Sub? It's really weird - I can get it to run without an error
if I start from scratch by activating only the workbook, the add the
worksheet, then add the range. But then the error comes back after I add the
next Sub.

I reinstalled Excel, just in case. This looks as simple as it could be, but
I'm obviously missing something. Wish I could attach the file.

The workbook contains three worksheets, two of which are named
Old_Unit_Roster and New_Unit_Roster.


Option Explicit
Dim Old_List As Range
Dim New_List As Range

Sub Define_Old_List()
Workbooks("Process_unit_directory.xls").Worksheets ("Old_Unit_Roster").Range("A1").Activate
Set Old_List = Sheets("Old_Unit_Roster").Range(ActiveCell,
ActiveCell.End(xlDown))

End Sub

Sub Define_New_List()
Workbooks("Process_unit_directory.xls").Worksheets ("New_Unit_Roster").Range("A1").Activate
Set New_List = Sheets("New_Unit_Roster").Range(ActiveCell,
ActiveCell.End(xlDown))

End Sub


Bert Onstott
3303 N. Sutton Sq
Stafford, TX
281-494-9644

JLGWhiz[_2_]

Error 1004
 

Try this apprach:

Option Explicit
Dim Old_List As Range
Dim New_List As Range
Sub Define_Old_List()

With Workbooks("Process_unit_directory.xls")
Set Old_List = Sheets("Old_Unit_Roster").Range(ActiveCell, _
ActiveCell.End(xlDown))
End With
End Sub

Sub Define_New_List()

With Workbooks("Process_unit_directory.xls")
Set New_List = Sheets("New_Unit_Roster").Range(ActiveCell, _
ActiveCell.End(xlDown))
End With
End Sub

You could actually do this in one sub.



"Bert Onstott" wrote in message
...

Can anyone tell me why the following code generates an error 1004 when
running either Sub? It's really weird - I can get it to run without an
error
if I start from scratch by activating only the workbook, the add the
worksheet, then add the range. But then the error comes back after I add
the
next Sub.

I reinstalled Excel, just in case. This looks as simple as it could be,
but
I'm obviously missing something. Wish I could attach the file.

The workbook contains three worksheets, two of which are named
Old_Unit_Roster and New_Unit_Roster.


Option Explicit
Dim Old_List As Range
Dim New_List As Range

Sub Define_Old_List()
Workbooks("Process_unit_directory.xls").Worksheets ("Old_Unit_Roster").Range("A1").Activate
Set Old_List = Sheets("Old_Unit_Roster").Range(ActiveCell,
ActiveCell.End(xlDown))

End Sub

Sub Define_New_List()
Workbooks("Process_unit_directory.xls").Worksheets ("New_Unit_Roster").Range("A1").Activate
Set New_List = Sheets("New_Unit_Roster").Range(ActiveCell,
ActiveCell.End(xlDown))

End Sub


Bert Onstott
3303 N. Sutton Sq
Stafford, TX
281-494-9644




Jacob Skaria

Error 1004
 

Try

Workbooks("Process_unit_directory.xls").Worksheets ("Old_Unit_Roster").Activate
Range("A1").Activate

If this post helps click Yes
---------------
Jacob Skaria


"Bert Onstott" wrote:


Can anyone tell me why the following code generates an error 1004 when
running either Sub? It's really weird - I can get it to run without an error
if I start from scratch by activating only the workbook, the add the
worksheet, then add the range. But then the error comes back after I add the
next Sub.

I reinstalled Excel, just in case. This looks as simple as it could be, but
I'm obviously missing something. Wish I could attach the file.

The workbook contains three worksheets, two of which are named
Old_Unit_Roster and New_Unit_Roster.


Option Explicit
Dim Old_List As Range
Dim New_List As Range

Sub Define_Old_List()
Workbooks("Process_unit_directory.xls").Worksheets ("Old_Unit_Roster").Range("A1").Activate
Set Old_List = Sheets("Old_Unit_Roster").Range(ActiveCell,
ActiveCell.End(xlDown))

End Sub

Sub Define_New_List()
Workbooks("Process_unit_directory.xls").Worksheets ("New_Unit_Roster").Range("A1").Activate
Set New_List = Sheets("New_Unit_Roster").Range(ActiveCell,
ActiveCell.End(xlDown))

End Sub


Bert Onstott
3303 N. Sutton Sq
Stafford, TX
281-494-9644


JLGWhiz[_2_]

Error 1004
 

Forgot the attenuation dot.

Sub Define_Old_List()

With Workbooks("Process_unit_directory.xls")
Set Old_List = .Sheets("Old_Unit_Roster").Range(ActiveCell, _
ActiveCell.End(xlDown))
End With
End Sub

Sub Define_New_List()

With Workbooks("Process_unit_directory.xls")
Set New_List = .Sheets("New_Unit_Roster").Range(ActiveCell, _
ActiveCell.End(xlDown))
End With
End Sub



"JLGWhiz" wrote in message
...
Try this apprach:

Option Explicit
Dim Old_List As Range
Dim New_List As Range
Sub Define_Old_List()

With Workbooks("Process_unit_directory.xls")
Set Old_List = Sheets("Old_Unit_Roster").Range(ActiveCell, _
ActiveCell.End(xlDown))
End With
End Sub

Sub Define_New_List()

With Workbooks("Process_unit_directory.xls")
Set New_List = Sheets("New_Unit_Roster").Range(ActiveCell, _
ActiveCell.End(xlDown))
End With
End Sub

You could actually do this in one sub.



"Bert Onstott" wrote in message
...

Can anyone tell me why the following code generates an error 1004 when
running either Sub? It's really weird - I can get it to run without an
error
if I start from scratch by activating only the workbook, the add the
worksheet, then add the range. But then the error comes back after I add
the
next Sub.

I reinstalled Excel, just in case. This looks as simple as it could be,
but
I'm obviously missing something. Wish I could attach the file.

The workbook contains three worksheets, two of which are named
Old_Unit_Roster and New_Unit_Roster.


Option Explicit
Dim Old_List As Range
Dim New_List As Range

Sub Define_Old_List()
Workbooks("Process_unit_directory.xls").Worksheets ("Old_Unit_Roster").Range("A1").Activate
Set Old_List = Sheets("Old_Unit_Roster").Range(ActiveCell,
ActiveCell.End(xlDown))

End Sub

Sub Define_New_List()
Workbooks("Process_unit_directory.xls").Worksheets ("New_Unit_Roster").Range("A1").Activate
Set New_List = Sheets("New_Unit_Roster").Range(ActiveCell,
ActiveCell.End(xlDown))

End Sub


Bert Onstott
3303 N. Sutton Sq
Stafford, TX
281-494-9644






Jacob Skaria

Error 1004
 

Bert, initially I only looked at the cause of the error. To reference a range
you dont need to activate the worksheet. Try the below code..Create a
worksheet object and refer the range....

Option Explicit
Dim Old_List As Range
Dim New_List As Range

Sub Define_Old_List()
Dim ws As Worksheet
Set ws = Workbooks("Process_unit_directory.xls").Worksheets ("Old_Unit_Roster")
Set Old_List = ws.Range(ActiveCell, ActiveCell.End(xlDown))
End Sub

Sub Define_New_List()
Dim ws As Worksheet
Set ws = Workbooks("Process_unit_directory.xls").Worksheets ("New_Unit_Roster")
Set New_List = ws.Range(ActiveCell, ActiveCell.End(xlDown))
End Sub




If this post helps click Yes
---------------
Jacob Skaria


"Bert Onstott" wrote:


Can anyone tell me why the following code generates an error 1004 when
running either Sub? It's really weird - I can get it to run without an error
if I start from scratch by activating only the workbook, the add the
worksheet, then add the range. But then the error comes back after I add the
next Sub.

I reinstalled Excel, just in case. This looks as simple as it could be, but
I'm obviously missing something. Wish I could attach the file.

The workbook contains three worksheets, two of which are named
Old_Unit_Roster and New_Unit_Roster.


Option Explicit
Dim Old_List As Range
Dim New_List As Range

Sub Define_Old_List()
Workbooks("Process_unit_directory.xls").Worksheets ("Old_Unit_Roster").Range("A1").Activate
Set Old_List = Sheets("Old_Unit_Roster").Range(ActiveCell,
ActiveCell.End(xlDown))

End Sub

Sub Define_New_List()
Workbooks("Process_unit_directory.xls").Worksheets ("New_Unit_Roster").Range("A1").Activate
Set New_List = Sheets("New_Unit_Roster").Range(ActiveCell,
ActiveCell.End(xlDown))

End Sub


Bert Onstott
3303 N. Sutton Sq
Stafford, TX
281-494-9644


Jacob Skaria

Error 1004
 

Corection...

Option Explicit
Dim Old_List As Range
Dim New_List As Range

Sub Define_Old_List()
Dim ws As Worksheet
Set ws = Workbooks("Process_unit_directory.xls").Worksheets ("Old_Unit_Roster")
Set Old_List = ws.Range("A1", ws.Range("A1").End(xlDown))
End Sub

Sub Define_New_List()
Dim ws As Worksheet
Set ws = Workbooks("Process_unit_directory.xls").Worksheets ("New_Unit_Roster")
Set Old_List = ws.Range("A1", ws.Range("A1").End(xlDown))
End Sub


If this post helps click Yes
---------------
Jacob Skaria


"Jacob Skaria" wrote:

Bert, initially I only looked at the cause of the error. To reference a range
you dont need to activate the worksheet. Try the below code..Create a
worksheet object and refer the range....

Option Explicit
Dim Old_List As Range
Dim New_List As Range

Sub Define_Old_List()
Dim ws As Worksheet
Set ws = Workbooks("Process_unit_directory.xls").Worksheets ("Old_Unit_Roster")
Set Old_List = ws.Range(ActiveCell, ActiveCell.End(xlDown))
End Sub

Sub Define_New_List()
Dim ws As Worksheet
Set ws = Workbooks("Process_unit_directory.xls").Worksheets ("New_Unit_Roster")
Set New_List = ws.Range(ActiveCell, ActiveCell.End(xlDown))
End Sub




If this post helps click Yes
---------------
Jacob Skaria


"Bert Onstott" wrote:


Can anyone tell me why the following code generates an error 1004 when
running either Sub? It's really weird - I can get it to run without an error
if I start from scratch by activating only the workbook, the add the
worksheet, then add the range. But then the error comes back after I add the
next Sub.

I reinstalled Excel, just in case. This looks as simple as it could be, but
I'm obviously missing something. Wish I could attach the file.

The workbook contains three worksheets, two of which are named
Old_Unit_Roster and New_Unit_Roster.


Option Explicit
Dim Old_List As Range
Dim New_List As Range

Sub Define_Old_List()
Workbooks("Process_unit_directory.xls").Worksheets ("Old_Unit_Roster").Range("A1").Activate
Set Old_List = Sheets("Old_Unit_Roster").Range(ActiveCell,
ActiveCell.End(xlDown))

End Sub

Sub Define_New_List()
Workbooks("Process_unit_directory.xls").Worksheets ("New_Unit_Roster").Range("A1").Activate
Set New_List = Sheets("New_Unit_Roster").Range(ActiveCell,
ActiveCell.End(xlDown))

End Sub


Bert Onstott
3303 N. Sutton Sq
Stafford, TX
281-494-9644


Bert Onstott

Error 1004
 

Sorry, but that gives the same error.
--
Bert Onstott
3303 N. Sutton Sq
Stafford, TX
281-494-9644


"JLGWhiz" wrote:

Try this apprach:

Option Explicit
Dim Old_List As Range
Dim New_List As Range
Sub Define_Old_List()

With Workbooks("Process_unit_directory.xls")
Set Old_List = Sheets("Old_Unit_Roster").Range(ActiveCell, _
ActiveCell.End(xlDown))
End With
End Sub

Sub Define_New_List()

With Workbooks("Process_unit_directory.xls")
Set New_List = Sheets("New_Unit_Roster").Range(ActiveCell, _
ActiveCell.End(xlDown))
End With
End Sub

You could actually do this in one sub.



"Bert Onstott" wrote in message
...

Can anyone tell me why the following code generates an error 1004 when
running either Sub? It's really weird - I can get it to run without an
error
if I start from scratch by activating only the workbook, the add the
worksheet, then add the range. But then the error comes back after I add
the
next Sub.

I reinstalled Excel, just in case. This looks as simple as it could be,
but
I'm obviously missing something. Wish I could attach the file.

The workbook contains three worksheets, two of which are named
Old_Unit_Roster and New_Unit_Roster.


Option Explicit
Dim Old_List As Range
Dim New_List As Range

Sub Define_Old_List()
Workbooks("Process_unit_directory.xls").Worksheets ("Old_Unit_Roster").Range("A1").Activate
Set Old_List = Sheets("Old_Unit_Roster").Range(ActiveCell,
ActiveCell.End(xlDown))

End Sub

Sub Define_New_List()
Workbooks("Process_unit_directory.xls").Worksheets ("New_Unit_Roster").Range("A1").Activate
Set New_List = Sheets("New_Unit_Roster").Range(ActiveCell,
ActiveCell.End(xlDown))

End Sub


Bert Onstott
3303 N. Sutton Sq
Stafford, TX
281-494-9644





Bert Onstott

Error 1004
 

Sorry, but that still gives an error 1004, "Application or object defined
error".
--
Bert Onstott
3303 N. Sutton Sq
Stafford, TX
281-494-9644


"JLGWhiz" wrote:

Forgot the attenuation dot.

Sub Define_Old_List()

With Workbooks("Process_unit_directory.xls")
Set Old_List = .Sheets("Old_Unit_Roster").Range(ActiveCell, _
ActiveCell.End(xlDown))
End With
End Sub

Sub Define_New_List()

With Workbooks("Process_unit_directory.xls")
Set New_List = .Sheets("New_Unit_Roster").Range(ActiveCell, _
ActiveCell.End(xlDown))
End With
End Sub



"JLGWhiz" wrote in message
...
Try this apprach:

Option Explicit
Dim Old_List As Range
Dim New_List As Range
Sub Define_Old_List()

With Workbooks("Process_unit_directory.xls")
Set Old_List = Sheets("Old_Unit_Roster").Range(ActiveCell, _
ActiveCell.End(xlDown))
End With
End Sub

Sub Define_New_List()

With Workbooks("Process_unit_directory.xls")
Set New_List = Sheets("New_Unit_Roster").Range(ActiveCell, _
ActiveCell.End(xlDown))
End With
End Sub

You could actually do this in one sub.



"Bert Onstott" wrote in message
...

Can anyone tell me why the following code generates an error 1004 when
running either Sub? It's really weird - I can get it to run without an
error
if I start from scratch by activating only the workbook, the add the
worksheet, then add the range. But then the error comes back after I add
the
next Sub.

I reinstalled Excel, just in case. This looks as simple as it could be,
but
I'm obviously missing something. Wish I could attach the file.

The workbook contains three worksheets, two of which are named
Old_Unit_Roster and New_Unit_Roster.


Option Explicit
Dim Old_List As Range
Dim New_List As Range

Sub Define_Old_List()
Workbooks("Process_unit_directory.xls").Worksheets ("Old_Unit_Roster").Range("A1").Activate
Set Old_List = Sheets("Old_Unit_Roster").Range(ActiveCell,
ActiveCell.End(xlDown))

End Sub

Sub Define_New_List()
Workbooks("Process_unit_directory.xls").Worksheets ("New_Unit_Roster").Range("A1").Activate
Set New_List = Sheets("New_Unit_Roster").Range(ActiveCell,
ActiveCell.End(xlDown))

End Sub


Bert Onstott
3303 N. Sutton Sq
Stafford, TX
281-494-9644







Bert Onstott

Error 1004
 

Sorry, but I still get an error 1004.

--
Bert Onstott
3303 N. Sutton Sq
Stafford, TX
281-494-9644


"Jacob Skaria" wrote:

Try

Workbooks("Process_unit_directory.xls").Worksheets ("Old_Unit_Roster").Activate
Range("A1").Activate

If this post helps click Yes
---------------
Jacob Skaria


"Bert Onstott" wrote:


Can anyone tell me why the following code generates an error 1004 when
running either Sub? It's really weird - I can get it to run without an error
if I start from scratch by activating only the workbook, the add the
worksheet, then add the range. But then the error comes back after I add the
next Sub.

I reinstalled Excel, just in case. This looks as simple as it could be, but
I'm obviously missing something. Wish I could attach the file.

The workbook contains three worksheets, two of which are named
Old_Unit_Roster and New_Unit_Roster.


Option Explicit
Dim Old_List As Range
Dim New_List As Range

Sub Define_Old_List()
Workbooks("Process_unit_directory.xls").Worksheets ("Old_Unit_Roster").Range("A1").Activate
Set Old_List = Sheets("Old_Unit_Roster").Range(ActiveCell,
ActiveCell.End(xlDown))

End Sub

Sub Define_New_List()
Workbooks("Process_unit_directory.xls").Worksheets ("New_Unit_Roster").Range("A1").Activate
Set New_List = Sheets("New_Unit_Roster").Range(ActiveCell,
ActiveCell.End(xlDown))

End Sub


Bert Onstott
3303 N. Sutton Sq
Stafford, TX
281-494-9644


Bert Onstott

Error 1004
 

Sorry, this approach still gives an error 1004. Thanks for all of the
suggestions, but all of them give the same error as my original.

There must be something else wrong with either the workbook or my VBA.

--
Bert Onstott
3303 N. Sutton Sq
Stafford, TX
281-494-9644


"Jacob Skaria" wrote:

Bert, initially I only looked at the cause of the error. To reference a range
you dont need to activate the worksheet. Try the below code..Create a
worksheet object and refer the range....

Option Explicit
Dim Old_List As Range
Dim New_List As Range

Sub Define_Old_List()
Dim ws As Worksheet
Set ws = Workbooks("Process_unit_directory.xls").Worksheets ("Old_Unit_Roster")
Set Old_List = ws.Range(ActiveCell, ActiveCell.End(xlDown))
End Sub

Sub Define_New_List()
Dim ws As Worksheet
Set ws = Workbooks("Process_unit_directory.xls").Worksheets ("New_Unit_Roster")
Set New_List = ws.Range(ActiveCell, ActiveCell.End(xlDown))
End Sub




If this post helps click Yes
---------------
Jacob Skaria


"Bert Onstott" wrote:


Can anyone tell me why the following code generates an error 1004 when
running either Sub? It's really weird - I can get it to run without an error
if I start from scratch by activating only the workbook, the add the
worksheet, then add the range. But then the error comes back after I add the
next Sub.

I reinstalled Excel, just in case. This looks as simple as it could be, but
I'm obviously missing something. Wish I could attach the file.

The workbook contains three worksheets, two of which are named
Old_Unit_Roster and New_Unit_Roster.


Option Explicit
Dim Old_List As Range
Dim New_List As Range

Sub Define_Old_List()
Workbooks("Process_unit_directory.xls").Worksheets ("Old_Unit_Roster").Range("A1").Activate
Set Old_List = Sheets("Old_Unit_Roster").Range(ActiveCell,
ActiveCell.End(xlDown))

End Sub

Sub Define_New_List()
Workbooks("Process_unit_directory.xls").Worksheets ("New_Unit_Roster").Range("A1").Activate
Set New_List = Sheets("New_Unit_Roster").Range(ActiveCell,
ActiveCell.End(xlDown))

End Sub


Bert Onstott
3303 N. Sutton Sq
Stafford, TX
281-494-9644


Bert Onstott

Error 1004
 

Well, that actually seems to work. Why that works and the other doesn't I
haven't a clue, but thanks anyway!

--
Bert Onstott
3303 N. Sutton Sq
Stafford, TX
281-494-9644


"Jacob Skaria" wrote:

Corection...

Option Explicit
Dim Old_List As Range
Dim New_List As Range

Sub Define_Old_List()
Dim ws As Worksheet
Set ws = Workbooks("Process_unit_directory.xls").Worksheets ("Old_Unit_Roster")
Set Old_List = ws.Range("A1", ws.Range("A1").End(xlDown))
End Sub

Sub Define_New_List()
Dim ws As Worksheet
Set ws = Workbooks("Process_unit_directory.xls").Worksheets ("New_Unit_Roster")
Set Old_List = ws.Range("A1", ws.Range("A1").End(xlDown))
End Sub


If this post helps click Yes
---------------
Jacob Skaria


"Jacob Skaria" wrote:

Bert, initially I only looked at the cause of the error. To reference a range
you dont need to activate the worksheet. Try the below code..Create a
worksheet object and refer the range....

Option Explicit
Dim Old_List As Range
Dim New_List As Range

Sub Define_Old_List()
Dim ws As Worksheet
Set ws = Workbooks("Process_unit_directory.xls").Worksheets ("Old_Unit_Roster")
Set Old_List = ws.Range(ActiveCell, ActiveCell.End(xlDown))
End Sub

Sub Define_New_List()
Dim ws As Worksheet
Set ws = Workbooks("Process_unit_directory.xls").Worksheets ("New_Unit_Roster")
Set New_List = ws.Range(ActiveCell, ActiveCell.End(xlDown))
End Sub




If this post helps click Yes
---------------
Jacob Skaria


"Bert Onstott" wrote:


Can anyone tell me why the following code generates an error 1004 when
running either Sub? It's really weird - I can get it to run without an error
if I start from scratch by activating only the workbook, the add the
worksheet, then add the range. But then the error comes back after I add the
next Sub.

I reinstalled Excel, just in case. This looks as simple as it could be, but
I'm obviously missing something. Wish I could attach the file.

The workbook contains three worksheets, two of which are named
Old_Unit_Roster and New_Unit_Roster.


Option Explicit
Dim Old_List As Range
Dim New_List As Range

Sub Define_Old_List()
Workbooks("Process_unit_directory.xls").Worksheets ("Old_Unit_Roster").Range("A1").Activate
Set Old_List = Sheets("Old_Unit_Roster").Range(ActiveCell,
ActiveCell.End(xlDown))

End Sub

Sub Define_New_List()
Workbooks("Process_unit_directory.xls").Worksheets ("New_Unit_Roster").Range("A1").Activate
Set New_List = Sheets("New_Unit_Roster").Range(ActiveCell,
ActiveCell.End(xlDown))

End Sub


Bert Onstott
3303 N. Sutton Sq
Stafford, TX
281-494-9644


Patrick Molloy

Error 1004
 

at which line does the code break? switch on the macro recorder and select
the workbook and the sheet

is the name Process_unit_directory.xls correct?

error 1004 suggests that the object can't be assigned because it isn't
recognized

"Bert Onstott" wrote in message
...
Sorry, this approach still gives an error 1004. Thanks for all of the
suggestions, but all of them give the same error as my original.

There must be something else wrong with either the workbook or my VBA.

--
Bert Onstott
3303 N. Sutton Sq
Stafford, TX
281-494-9644


"Jacob Skaria" wrote:

Bert, initially I only looked at the cause of the error. To reference a
range
you dont need to activate the worksheet. Try the below code..Create a
worksheet object and refer the range....

Option Explicit
Dim Old_List As Range
Dim New_List As Range

Sub Define_Old_List()
Dim ws As Worksheet
Set ws =
Workbooks("Process_unit_directory.xls").Worksheets ("Old_Unit_Roster")
Set Old_List = ws.Range(ActiveCell, ActiveCell.End(xlDown))
End Sub

Sub Define_New_List()
Dim ws As Worksheet
Set ws =
Workbooks("Process_unit_directory.xls").Worksheets ("New_Unit_Roster")
Set New_List = ws.Range(ActiveCell, ActiveCell.End(xlDown))
End Sub




If this post helps click Yes
---------------
Jacob Skaria


"Bert Onstott" wrote:


Can anyone tell me why the following code generates an error 1004 when
running either Sub? It's really weird - I can get it to run without an
error
if I start from scratch by activating only the workbook, the add the
worksheet, then add the range. But then the error comes back after I
add the
next Sub.

I reinstalled Excel, just in case. This looks as simple as it could
be, but
I'm obviously missing something. Wish I could attach the file.

The workbook contains three worksheets, two of which are named
Old_Unit_Roster and New_Unit_Roster.


Option Explicit
Dim Old_List As Range
Dim New_List As Range

Sub Define_Old_List()
Workbooks("Process_unit_directory.xls").Worksheets ("Old_Unit_Roster").Range("A1").Activate
Set Old_List = Sheets("Old_Unit_Roster").Range(ActiveCell,
ActiveCell.End(xlDown))

End Sub

Sub Define_New_List()
Workbooks("Process_unit_directory.xls").Worksheets ("New_Unit_Roster").Range("A1").Activate
Set New_List = Sheets("New_Unit_Roster").Range(ActiveCell,
ActiveCell.End(xlDown))

End Sub


Bert Onstott
3303 N. Sutton Sq
Stafford, TX
281-494-9644



Per Jessen

Error 1004
 

Hi

I think the problem is either the workbook name or the sheet names which
isn't correct.

Try this improved version of Jacob's last suggestion. Look at the
highlighted line when you hit debug, it will indicate which name(s) are
wrong.


Sub Define_Old_List1()
Dim wb As Workbook
Dim ws As Worksheet

Set wb = Workbooks("Process_unit_directory.xls")
Set ws = wb.Worksheets("Old_Unit_Roster")
Set Old_List = ws.Range("A1", ws.Range("A1").End(xlDown))
End Sub

Sub Define_New_List1()
Dim wb As Workbook
Dim ws As Worksheet

Set wb = Workbooks("Process_unit_directory.xls")
Set ws = wb.Worksheets("New_Unit_Roster")
Set Old_List = ws.Range("A1", ws.Range("A1").End(xlDown))
End Sub

Hopes this helps.
....
Per

"Bert Onstott" skrev i meddelelsen
...
Sorry, this approach still gives an error 1004. Thanks for all of the
suggestions, but all of them give the same error as my original.

There must be something else wrong with either the workbook or my VBA.

--
Bert Onstott
3303 N. Sutton Sq
Stafford, TX
281-494-9644


"Jacob Skaria" wrote:

Bert, initially I only looked at the cause of the error. To reference a
range
you dont need to activate the worksheet. Try the below code..Create a
worksheet object and refer the range....

Option Explicit
Dim Old_List As Range
Dim New_List As Range

Sub Define_Old_List()
Dim ws As Worksheet
Set ws =
Workbooks("Process_unit_directory.xls").Worksheets ("Old_Unit_Roster")
Set Old_List = ws.Range(ActiveCell, ActiveCell.End(xlDown))
End Sub

Sub Define_New_List()
Dim ws As Worksheet
Set ws =
Workbooks("Process_unit_directory.xls").Worksheets ("New_Unit_Roster")
Set New_List = ws.Range(ActiveCell, ActiveCell.End(xlDown))
End Sub




If this post helps click Yes
---------------
Jacob Skaria


"Bert Onstott" wrote:


Can anyone tell me why the following code generates an error 1004 when
running either Sub? It's really weird - I can get it to run without an
error
if I start from scratch by activating only the workbook, the add the
worksheet, then add the range. But then the error comes back after I
add the
next Sub.

I reinstalled Excel, just in case. This looks as simple as it could
be, but
I'm obviously missing something. Wish I could attach the file.

The workbook contains three worksheets, two of which are named
Old_Unit_Roster and New_Unit_Roster.


Option Explicit
Dim Old_List As Range
Dim New_List As Range

Sub Define_Old_List()
Workbooks("Process_unit_directory.xls").Worksheets ("Old_Unit_Roster").Range("A1").Activate
Set Old_List = Sheets("Old_Unit_Roster").Range(ActiveCell,
ActiveCell.End(xlDown))

End Sub

Sub Define_New_List()
Workbooks("Process_unit_directory.xls").Worksheets ("New_Unit_Roster").Range("A1").Activate
Set New_List = Sheets("New_Unit_Roster").Range(ActiveCell,
ActiveCell.End(xlDown))

End Sub


Bert Onstott
3303 N. Sutton Sq
Stafford, TX
281-494-9644



John

Error 1004
 

another way perhaps

Dim Old_List As Range
Dim New_List As Range

Sub Define_Old_List()
Dim wsOld As Worksheet

With Workbooks("Process_unit_directory.xls")

Set wsOld = .Worksheets("Old_Unit_Roster")

Set Old_List = wsOld.Range("A1", wsOld.Range("A1").End(xlDown))

End With

End Sub

Sub Define_New_List()
Dim wsNew As Worksheet

With Workbooks("Process_unit_directory.xls")

Set wsNew = .Worksheets("New_Unit_Roster")

Set Old_List = wsNew.Range("A1", wsNew.Range("A1").End(xlDown))

End With

End Sub
--
jb


"Bert Onstott" wrote:

Sorry, this approach still gives an error 1004. Thanks for all of the
suggestions, but all of them give the same error as my original.

There must be something else wrong with either the workbook or my VBA.

--
Bert Onstott
3303 N. Sutton Sq
Stafford, TX
281-494-9644


"Jacob Skaria" wrote:

Bert, initially I only looked at the cause of the error. To reference a range
you dont need to activate the worksheet. Try the below code..Create a
worksheet object and refer the range....

Option Explicit
Dim Old_List As Range
Dim New_List As Range

Sub Define_Old_List()
Dim ws As Worksheet
Set ws = Workbooks("Process_unit_directory.xls").Worksheets ("Old_Unit_Roster")
Set Old_List = ws.Range(ActiveCell, ActiveCell.End(xlDown))
End Sub

Sub Define_New_List()
Dim ws As Worksheet
Set ws = Workbooks("Process_unit_directory.xls").Worksheets ("New_Unit_Roster")
Set New_List = ws.Range(ActiveCell, ActiveCell.End(xlDown))
End Sub




If this post helps click Yes
---------------
Jacob Skaria


"Bert Onstott" wrote:


Can anyone tell me why the following code generates an error 1004 when
running either Sub? It's really weird - I can get it to run without an error
if I start from scratch by activating only the workbook, the add the
worksheet, then add the range. But then the error comes back after I add the
next Sub.

I reinstalled Excel, just in case. This looks as simple as it could be, but
I'm obviously missing something. Wish I could attach the file.

The workbook contains three worksheets, two of which are named
Old_Unit_Roster and New_Unit_Roster.


Option Explicit
Dim Old_List As Range
Dim New_List As Range

Sub Define_Old_List()
Workbooks("Process_unit_directory.xls").Worksheets ("Old_Unit_Roster").Range("A1").Activate
Set Old_List = Sheets("Old_Unit_Roster").Range(ActiveCell,
ActiveCell.End(xlDown))

End Sub

Sub Define_New_List()
Workbooks("Process_unit_directory.xls").Worksheets ("New_Unit_Roster").Range("A1").Activate
Set New_List = Sheets("New_Unit_Roster").Range(ActiveCell,
ActiveCell.End(xlDown))

End Sub


Bert Onstott
3303 N. Sutton Sq
Stafford, TX
281-494-9644


Bert Onstott

Error 1004
 
Oddly enough, this version actually doesn't give an error.

Here's what I get using the macro recorder.

Sub Macro2()
'
' Macro2 Macro
'

'
Sheets("Old_Unit_Roster").Select
Range("A1").Select
Sheets("New_Unit_Roster").Select
Range("A1").Select
End Sub

--
Bert Onstott
3303 N. Sutton Sq
Stafford, TX
281-494-9644


"Per Jessen" wrote:

Hi

I think the problem is either the workbook name or the sheet names which
isn't correct.

Try this improved version of Jacob's last suggestion. Look at the
highlighted line when you hit debug, it will indicate which name(s) are
wrong.


Sub Define_Old_List1()
Dim wb As Workbook
Dim ws As Worksheet

Set wb = Workbooks("Process_unit_directory.xls")
Set ws = wb.Worksheets("Old_Unit_Roster")
Set Old_List = ws.Range("A1", ws.Range("A1").End(xlDown))
End Sub

Sub Define_New_List1()
Dim wb As Workbook
Dim ws As Worksheet

Set wb = Workbooks("Process_unit_directory.xls")
Set ws = wb.Worksheets("New_Unit_Roster")
Set Old_List = ws.Range("A1", ws.Range("A1").End(xlDown))
End Sub

Hopes this helps.
....
Per

"Bert Onstott" skrev i meddelelsen
...
Sorry, this approach still gives an error 1004. Thanks for all of the
suggestions, but all of them give the same error as my original.

There must be something else wrong with either the workbook or my VBA.

--
Bert Onstott
3303 N. Sutton Sq
Stafford, TX
281-494-9644


"Jacob Skaria" wrote:

Bert, initially I only looked at the cause of the error. To reference a
range
you dont need to activate the worksheet. Try the below code..Create a
worksheet object and refer the range....

Option Explicit
Dim Old_List As Range
Dim New_List As Range

Sub Define_Old_List()
Dim ws As Worksheet
Set ws =
Workbooks("Process_unit_directory.xls").Worksheets ("Old_Unit_Roster")
Set Old_List = ws.Range(ActiveCell, ActiveCell.End(xlDown))
End Sub

Sub Define_New_List()
Dim ws As Worksheet
Set ws =
Workbooks("Process_unit_directory.xls").Worksheets ("New_Unit_Roster")
Set New_List = ws.Range(ActiveCell, ActiveCell.End(xlDown))
End Sub




If this post helps click Yes
---------------
Jacob Skaria


"Bert Onstott" wrote:


Can anyone tell me why the following code generates an error 1004 when
running either Sub? It's really weird - I can get it to run without an
error
if I start from scratch by activating only the workbook, the add the
worksheet, then add the range. But then the error comes back after I
add the
next Sub.

I reinstalled Excel, just in case. This looks as simple as it could
be, but
I'm obviously missing something. Wish I could attach the file.

The workbook contains three worksheets, two of which are named
Old_Unit_Roster and New_Unit_Roster.


Option Explicit
Dim Old_List As Range
Dim New_List As Range

Sub Define_Old_List()
Workbooks("Process_unit_directory.xls").Worksheets ("Old_Unit_Roster").Range("A1").Activate
Set Old_List = Sheets("Old_Unit_Roster").Range(ActiveCell,
ActiveCell.End(xlDown))

End Sub

Sub Define_New_List()
Workbooks("Process_unit_directory.xls").Worksheets ("New_Unit_Roster").Range("A1").Activate
Set New_List = Sheets("New_Unit_Roster").Range(ActiveCell,
ActiveCell.End(xlDown))

End Sub


Bert Onstott
3303 N. Sutton Sq
Stafford, TX
281-494-9644




JLGWhiz[_2_]

Error 1004
 
Check your spelling real close. The syntax is OK.

"Bert Onstott" wrote in message
...
Sorry, but that still gives an error 1004, "Application or object defined
error".
--
Bert Onstott
3303 N. Sutton Sq
Stafford, TX
281-494-9644


"JLGWhiz" wrote:

Forgot the attenuation dot.

Sub Define_Old_List()

With Workbooks("Process_unit_directory.xls")
Set Old_List = .Sheets("Old_Unit_Roster").Range(ActiveCell, _
ActiveCell.End(xlDown))
End With
End Sub

Sub Define_New_List()

With Workbooks("Process_unit_directory.xls")
Set New_List = .Sheets("New_Unit_Roster").Range(ActiveCell, _
ActiveCell.End(xlDown))
End With
End Sub



"JLGWhiz" wrote in message
...
Try this apprach:

Option Explicit
Dim Old_List As Range
Dim New_List As Range
Sub Define_Old_List()

With Workbooks("Process_unit_directory.xls")
Set Old_List = Sheets("Old_Unit_Roster").Range(ActiveCell, _
ActiveCell.End(xlDown))
End With
End Sub

Sub Define_New_List()

With Workbooks("Process_unit_directory.xls")
Set New_List = Sheets("New_Unit_Roster").Range(ActiveCell, _
ActiveCell.End(xlDown))
End With
End Sub

You could actually do this in one sub.



"Bert Onstott" wrote in message
...

Can anyone tell me why the following code generates an error 1004 when
running either Sub? It's really weird - I can get it to run without
an
error
if I start from scratch by activating only the workbook, the add the
worksheet, then add the range. But then the error comes back after I
add
the
next Sub.

I reinstalled Excel, just in case. This looks as simple as it could
be,
but
I'm obviously missing something. Wish I could attach the file.

The workbook contains three worksheets, two of which are named
Old_Unit_Roster and New_Unit_Roster.


Option Explicit
Dim Old_List As Range
Dim New_List As Range

Sub Define_Old_List()
Workbooks("Process_unit_directory.xls").Worksheets ("Old_Unit_Roster").Range("A1").Activate
Set Old_List = Sheets("Old_Unit_Roster").Range(ActiveCell,
ActiveCell.End(xlDown))

End Sub

Sub Define_New_List()
Workbooks("Process_unit_directory.xls").Worksheets ("New_Unit_Roster").Range("A1").Activate
Set New_List = Sheets("New_Unit_Roster").Range(ActiveCell,
ActiveCell.End(xlDown))

End Sub


Bert Onstott
3303 N. Sutton Sq
Stafford, TX
281-494-9644








-----------------------------------------------------------------------------
Our Peering Chose change
Visit : http://spacesst.com/peerin

Patrick Molloy

Error 1004
 

and put
OPTION EXPLICIT
at the top of the module. it enforces all variables to be dimensioned
properly - as is especially great for picking up typos


"JLGWhiz" wrote in message
...
Check your spelling real close. The syntax is OK.

"Bert Onstott" wrote in message
...
Sorry, but that still gives an error 1004, "Application or object defined
error".
--
Bert Onstott
3303 N. Sutton Sq
Stafford, TX
281-494-9644


"JLGWhiz" wrote:

Forgot the attenuation dot.

Sub Define_Old_List()

With Workbooks("Process_unit_directory.xls")
Set Old_List = .Sheets("Old_Unit_Roster").Range(ActiveCell, _
ActiveCell.End(xlDown))
End With
End Sub

Sub Define_New_List()

With Workbooks("Process_unit_directory.xls")
Set New_List = .Sheets("New_Unit_Roster").Range(ActiveCell, _
ActiveCell.End(xlDown))
End With
End Sub



"JLGWhiz" wrote in message
...
Try this apprach:

Option Explicit
Dim Old_List As Range
Dim New_List As Range
Sub Define_Old_List()

With Workbooks("Process_unit_directory.xls")
Set Old_List = Sheets("Old_Unit_Roster").Range(ActiveCell, _
ActiveCell.End(xlDown))
End With
End Sub

Sub Define_New_List()

With Workbooks("Process_unit_directory.xls")
Set New_List = Sheets("New_Unit_Roster").Range(ActiveCell, _
ActiveCell.End(xlDown))
End With
End Sub

You could actually do this in one sub.



"Bert Onstott" wrote in
message
...

Can anyone tell me why the following code generates an error 1004
when
running either Sub? It's really weird - I can get it to run without
an
error
if I start from scratch by activating only the workbook, the add the
worksheet, then add the range. But then the error comes back after I
add
the
next Sub.

I reinstalled Excel, just in case. This looks as simple as it could
be,
but
I'm obviously missing something. Wish I could attach the file.

The workbook contains three worksheets, two of which are named
Old_Unit_Roster and New_Unit_Roster.


Option Explicit
Dim Old_List As Range
Dim New_List As Range

Sub Define_Old_List()
Workbooks("Process_unit_directory.xls").Worksheets ("Old_Unit_Roster").Range("A1").Activate
Set Old_List = Sheets("Old_Unit_Roster").Range(ActiveCell,
ActiveCell.End(xlDown))

End Sub

Sub Define_New_List()
Workbooks("Process_unit_directory.xls").Worksheets ("New_Unit_Roster").Range("A1").Activate
Set New_List = Sheets("New_Unit_Roster").Range(ActiveCell,
ActiveCell.End(xlDown))

End Sub


Bert Onstott
3303 N. Sutton Sq
Stafford, TX
281-494-9644








Patrick Molloy

Error 1004
 

so I'd guess that

Set wb = Workbooks("Process_unit_directory.xls")


is the issue? in the immediate window, type
?Workbooks(1).Name

so see if there's a typo

"Bert Onstott" wrote in message
...
Oddly enough, this version actually doesn't give an error.

Here's what I get using the macro recorder.

Sub Macro2()
'
' Macro2 Macro
'

'
Sheets("Old_Unit_Roster").Select
Range("A1").Select
Sheets("New_Unit_Roster").Select
Range("A1").Select
End Sub

--
Bert Onstott
3303 N. Sutton Sq
Stafford, TX
281-494-9644


"Per Jessen" wrote:

Hi

I think the problem is either the workbook name or the sheet names which
isn't correct.

Try this improved version of Jacob's last suggestion. Look at the
highlighted line when you hit debug, it will indicate which name(s) are
wrong.


Sub Define_Old_List1()
Dim wb As Workbook
Dim ws As Worksheet

Set wb = Workbooks("Process_unit_directory.xls")
Set ws = wb.Worksheets("Old_Unit_Roster")
Set Old_List = ws.Range("A1", ws.Range("A1").End(xlDown))
End Sub

Sub Define_New_List1()
Dim wb As Workbook
Dim ws As Worksheet

Set wb = Workbooks("Process_unit_directory.xls")
Set ws = wb.Worksheets("New_Unit_Roster")
Set Old_List = ws.Range("A1", ws.Range("A1").End(xlDown))
End Sub

Hopes this helps.
....
Per

"Bert Onstott" skrev i
meddelelsen
...
Sorry, this approach still gives an error 1004. Thanks for all of the
suggestions, but all of them give the same error as my original.

There must be something else wrong with either the workbook or my VBA.

--
Bert Onstott
3303 N. Sutton Sq
Stafford, TX
281-494-9644


"Jacob Skaria" wrote:

Bert, initially I only looked at the cause of the error. To reference
a
range
you dont need to activate the worksheet. Try the below code..Create a
worksheet object and refer the range....

Option Explicit
Dim Old_List As Range
Dim New_List As Range

Sub Define_Old_List()
Dim ws As Worksheet
Set ws =
Workbooks("Process_unit_directory.xls").Worksheets ("Old_Unit_Roster")
Set Old_List = ws.Range(ActiveCell, ActiveCell.End(xlDown))
End Sub

Sub Define_New_List()
Dim ws As Worksheet
Set ws =
Workbooks("Process_unit_directory.xls").Worksheets ("New_Unit_Roster")
Set New_List = ws.Range(ActiveCell, ActiveCell.End(xlDown))
End Sub




If this post helps click Yes
---------------
Jacob Skaria


"Bert Onstott" wrote:


Can anyone tell me why the following code generates an error 1004
when
running either Sub? It's really weird - I can get it to run without
an
error
if I start from scratch by activating only the workbook, the add the
worksheet, then add the range. But then the error comes back after
I
add the
next Sub.

I reinstalled Excel, just in case. This looks as simple as it could
be, but
I'm obviously missing something. Wish I could attach the file.

The workbook contains three worksheets, two of which are named
Old_Unit_Roster and New_Unit_Roster.


Option Explicit
Dim Old_List As Range
Dim New_List As Range

Sub Define_Old_List()
Workbooks("Process_unit_directory.xls").Worksheets ("Old_Unit_Roster").Range("A1").Activate
Set Old_List = Sheets("Old_Unit_Roster").Range(ActiveCell,
ActiveCell.End(xlDown))

End Sub

Sub Define_New_List()
Workbooks("Process_unit_directory.xls").Worksheets ("New_Unit_Roster").Range("A1").Activate
Set New_List = Sheets("New_Unit_Roster").Range(ActiveCell,
ActiveCell.End(xlDown))

End Sub


Bert Onstott
3303 N. Sutton Sq
Stafford, TX
281-494-9644





All times are GMT +1. The time now is 10:07 AM.

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