what's diferent in vba between 2002 & 2003

  • Thread starter Thread starter Guest
  • Start date Start date
G

Guest

an exel file with macro made by excel 2002.i use excel 2003 opent it, it's
fine, but if i save as this file -even I didn't do any change with this file,
it will can't work under excel 2002 anymore,the macro can't run properly. any
one can help me?
 
Posting the line the code halts on would probably go a long way towards
solving your problem.

--

Regards,

Dave Patrick ....Please no email replies - reply in newsgroup.
Microsoft Certified Professional
Microsoft MVP [Windows]
http://www.microsoft.com/protect

:
| an exel file with macro made by excel 2002.i use excel 2003 opent it, it's
| fine, but if i save as this file -even I didn't do any change with this
file,
| it will can't work under excel 2002 anymore,the macro can't run properly.
any
| one can help me?
 
Hi Dave,
thanks your reply.

I paste the code here.

Private Sub Workbook_Activate()

Call CreateMenu

End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)

Call DeleteMenu

End Sub

Private Sub Workbook_Deactivate()

Call DeleteMenu

End Sub

Private Sub Workbook_Open()

Dim R As Integer
Dim AU As String

On Error GoTo Nothing_Happen

Application.CommandBars("Reviewing").Visible = False

AU = Replace(Trim(UCase(Application.UserName)), " ", "")
R = ActiveSheet.UsedRange.Rows.Count

Sheets("To_Be_Arrange").Select

For I = 1 To R
If Replace(Trim(UCase(Cells(I, 11))), " ", "") = AU Then
Selection.AutoFilter Field:=11, Criteria1:=Cells(I, 11)
Range("A1:N" & CStr(R)).Sort Key1:=Range("L2"),
Order1:=xlAscending, Key2:=Range _
("D2"), Order2:=xlAscending, Key3:=Range("A2"),
Order3:=xlAscending, _
Header:=xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:= _
xlTopToBottom, DataOption1:=xlSortNormal,
DataOption2:=xlSortNormal, _
DataOption3:=xlSortNormal
Range("A1").Select
End
Else
End If
Next I

Nothing_Happen:

If Cells(1, 1) <> "" Then
Selection.AutoFilter Field:=11
Range("A1").Select
Else
End
End If

End Sub
 
The actual line and the error generated would also be a big help.

--

Regards,

Dave Patrick ....Please no email replies - reply in newsgroup.
Microsoft Certified Professional
Microsoft MVP [Windows]
http://www.microsoft.com/protect

:
| Hi Dave,
| thanks your reply.
|
| I paste the code here.
|
| Private Sub Workbook_Activate()
|
| Call CreateMenu
|
| End Sub
|
| Private Sub Workbook_BeforeClose(Cancel As Boolean)
|
| Call DeleteMenu
|
| End Sub
|
| Private Sub Workbook_Deactivate()
|
| Call DeleteMenu
|
| End Sub
|
| Private Sub Workbook_Open()
|
| Dim R As Integer
| Dim AU As String
|
| On Error GoTo Nothing_Happen
|
| Application.CommandBars("Reviewing").Visible = False
|
| AU = Replace(Trim(UCase(Application.UserName)), " ", "")
| R = ActiveSheet.UsedRange.Rows.Count
|
| Sheets("To_Be_Arrange").Select
|
| For I = 1 To R
| If Replace(Trim(UCase(Cells(I, 11))), " ", "") = AU Then
| Selection.AutoFilter Field:=11, Criteria1:=Cells(I, 11)
| Range("A1:N" & CStr(R)).Sort Key1:=Range("L2"),
| Order1:=xlAscending, Key2:=Range _
| ("D2"), Order2:=xlAscending, Key3:=Range("A2"),
| Order3:=xlAscending, _
| Header:=xlGuess, OrderCustom:=1, MatchCase:=False,
Orientation:= _
| xlTopToBottom, DataOption1:=xlSortNormal,
| DataOption2:=xlSortNormal, _
| DataOption3:=xlSortNormal
| Range("A1").Select
| End
| Else
| End If
| Next I
|
| Nothing_Happen:
|
| If Cells(1, 1) <> "" Then
| Selection.AutoFilter Field:=11
| Range("A1").Select
| Else
| End
| End If
|
| End Sub
 
if I run this macro under excel 2002, Microsoft visual basic shows the
message: Can't find project or library.
the error line is in "Private Sub Work_Open()" at "UCase"

P.S this macro is fine under excel 2003.

I gusee it maybe cause by different VBA location between 2003 & 2002 .
 
UCase didn't change.

On the offending pc, open that workbook, go to the VBE, select your project.

Then look under Tools|References
Look for MISSING

Remove that reference (or replace it with one that exists)
if I run this macro under excel 2002, Microsoft visual basic shows the
message: Can't find project or library.
the error line is in "Private Sub Work_Open()" at "UCase"

P.S this macro is fine under excel 2003.

I gusee it maybe cause by different VBA location between 2003 & 2002 .

Dave Patrick said:
The actual line and the error generated would also be a big help.

--

Regards,

Dave Patrick ....Please no email replies - reply in newsgroup.
Microsoft Certified Professional
Microsoft MVP [Windows]
http://www.microsoft.com/protect

:
| Hi Dave,
| thanks your reply.
|
| I paste the code here.
|
| Private Sub Workbook_Activate()
|
| Call CreateMenu
|
| End Sub
|
| Private Sub Workbook_BeforeClose(Cancel As Boolean)
|
| Call DeleteMenu
|
| End Sub
|
| Private Sub Workbook_Deactivate()
|
| Call DeleteMenu
|
| End Sub
|
| Private Sub Workbook_Open()
|
| Dim R As Integer
| Dim AU As String
|
| On Error GoTo Nothing_Happen
|
| Application.CommandBars("Reviewing").Visible = False
|
| AU = Replace(Trim(UCase(Application.UserName)), " ", "")
| R = ActiveSheet.UsedRange.Rows.Count
|
| Sheets("To_Be_Arrange").Select
|
| For I = 1 To R
| If Replace(Trim(UCase(Cells(I, 11))), " ", "") = AU Then
| Selection.AutoFilter Field:=11, Criteria1:=Cells(I, 11)
| Range("A1:N" & CStr(R)).Sort Key1:=Range("L2"),
| Order1:=xlAscending, Key2:=Range _
| ("D2"), Order2:=xlAscending, Key3:=Range("A2"),
| Order3:=xlAscending, _
| Header:=xlGuess, OrderCustom:=1, MatchCase:=False,
Orientation:= _
| xlTopToBottom, DataOption1:=xlSortNormal,
| DataOption2:=xlSortNormal, _
| DataOption3:=xlSortNormal
| Range("A1").Select
| End
| Else
| End If
| Next I
|
| Nothing_Happen:
|
| If Cells(1, 1) <> "" Then
| Selection.AutoFilter Field:=11
| Range("A1").Select
| Else
| End
| End If
|
| End Sub
 
thanks Dave for your great help.
now the problem is solved under your suggesstion.
I removed the missing office 11 library.
does this often occur with 2003 to 2002?

thankssssssssss again to DAVE11111111

Dave Peterson said:
UCase didn't change.

On the offending pc, open that workbook, go to the VBE, select your project.

Then look under Tools|References
Look for MISSING

Remove that reference (or replace it with one that exists)
if I run this macro under excel 2002, Microsoft visual basic shows the
message: Can't find project or library.
the error line is in "Private Sub Work_Open()" at "UCase"

P.S this macro is fine under excel 2003.

I gusee it maybe cause by different VBA location between 2003 & 2002 .

Dave Patrick said:
The actual line and the error generated would also be a big help.

--

Regards,

Dave Patrick ....Please no email replies - reply in newsgroup.
Microsoft Certified Professional
Microsoft MVP [Windows]
http://www.microsoft.com/protect

:
| Hi Dave,
| thanks your reply.
|
| I paste the code here.
|
| Private Sub Workbook_Activate()
|
| Call CreateMenu
|
| End Sub
|
| Private Sub Workbook_BeforeClose(Cancel As Boolean)
|
| Call DeleteMenu
|
| End Sub
|
| Private Sub Workbook_Deactivate()
|
| Call DeleteMenu
|
| End Sub
|
| Private Sub Workbook_Open()
|
| Dim R As Integer
| Dim AU As String
|
| On Error GoTo Nothing_Happen
|
| Application.CommandBars("Reviewing").Visible = False
|
| AU = Replace(Trim(UCase(Application.UserName)), " ", "")
| R = ActiveSheet.UsedRange.Rows.Count
|
| Sheets("To_Be_Arrange").Select
|
| For I = 1 To R
| If Replace(Trim(UCase(Cells(I, 11))), " ", "") = AU Then
| Selection.AutoFilter Field:=11, Criteria1:=Cells(I, 11)
| Range("A1:N" & CStr(R)).Sort Key1:=Range("L2"),
| Order1:=xlAscending, Key2:=Range _
| ("D2"), Order2:=xlAscending, Key3:=Range("A2"),
| Order3:=xlAscending, _
| Header:=xlGuess, OrderCustom:=1, MatchCase:=False,
Orientation:= _
| xlTopToBottom, DataOption1:=xlSortNormal,
| DataOption2:=xlSortNormal, _
| DataOption3:=xlSortNormal
| Range("A1").Select
| End
| Else
| End If
| Next I
|
| Nothing_Happen:
|
| If Cells(1, 1) <> "" Then
| Selection.AutoFilter Field:=11
| Range("A1").Select
| Else
| End
| End If
|
| End Sub
 
If you have a reference to something that is office 2003 related
(office/word/powerpoint/access/outlook), then try to run it on a pc that doesn't
have office 2003, you'll have trouble.

But the same thing will happen if you use references to 2002 and run it on xl2k
(or references to 2k and use xl97).

I think most people will use late binding to make sure that their code uses the
version that exists on the pc that runs the program.

thanks Dave for your great help.
now the problem is solved under your suggesstion.
I removed the missing office 11 library.
does this often occur with 2003 to 2002?

thankssssssssss again to DAVE11111111

Dave Peterson said:
UCase didn't change.

On the offending pc, open that workbook, go to the VBE, select your project.

Then look under Tools|References
Look for MISSING

Remove that reference (or replace it with one that exists)
if I run this macro under excel 2002, Microsoft visual basic shows the
message: Can't find project or library.
the error line is in "Private Sub Work_Open()" at "UCase"

P.S this macro is fine under excel 2003.

I gusee it maybe cause by different VBA location between 2003 & 2002 .

:

The actual line and the error generated would also be a big help.

--

Regards,

Dave Patrick ....Please no email replies - reply in newsgroup.
Microsoft Certified Professional
Microsoft MVP [Windows]
http://www.microsoft.com/protect

:
| Hi Dave,
| thanks your reply.
|
| I paste the code here.
|
| Private Sub Workbook_Activate()
|
| Call CreateMenu
|
| End Sub
|
| Private Sub Workbook_BeforeClose(Cancel As Boolean)
|
| Call DeleteMenu
|
| End Sub
|
| Private Sub Workbook_Deactivate()
|
| Call DeleteMenu
|
| End Sub
|
| Private Sub Workbook_Open()
|
| Dim R As Integer
| Dim AU As String
|
| On Error GoTo Nothing_Happen
|
| Application.CommandBars("Reviewing").Visible = False
|
| AU = Replace(Trim(UCase(Application.UserName)), " ", "")
| R = ActiveSheet.UsedRange.Rows.Count
|
| Sheets("To_Be_Arrange").Select
|
| For I = 1 To R
| If Replace(Trim(UCase(Cells(I, 11))), " ", "") = AU Then
| Selection.AutoFilter Field:=11, Criteria1:=Cells(I, 11)
| Range("A1:N" & CStr(R)).Sort Key1:=Range("L2"),
| Order1:=xlAscending, Key2:=Range _
| ("D2"), Order2:=xlAscending, Key3:=Range("A2"),
| Order3:=xlAscending, _
| Header:=xlGuess, OrderCustom:=1, MatchCase:=False,
Orientation:= _
| xlTopToBottom, DataOption1:=xlSortNormal,
| DataOption2:=xlSortNormal, _
| DataOption3:=xlSortNormal
| Range("A1").Select
| End
| Else
| End If
| Next I
|
| Nothing_Happen:
|
| If Cells(1, 1) <> "" Then
| Selection.AutoFilter Field:=11
| Range("A1").Select
| Else
| End
| End If
|
| End Sub
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Back
Top