Determine version of Excel in VBA

J

John

I'd like to my macro to execute a certain sub if the user is using Excel
2003, and execute another sub if the user is using Excel 2007, both called
from the same shortcut key. Possible?
 
D

Don Guillett

Sub whatversion()
MsgBox Application.Version
End Sub

if application.version=11 then
do this
else
do that
end if
 
M

Mike H

John

I'm afraid I don't know the version number for 2007 but 2003 is 11.0 so
something like this

If Application.Version = 11 Then
'Excel2003
'do 2003 macro
MsgBox Application.Version

Else
'check for 2007 version number
'do 2007 things
End If


Mike
 
J

Jacob Skaria

If Val(Application.Version) < 12 Then
'You use Excel 97-2003
Else
'You use Excel 2007
End If

If this post helps click Yes
 
C

Chip Pearson

You can use code like the following:

Dim Ver As Long
Ver = CLng(Application.Version)
If Ver >= 12 Then
' Excel 2007 or later
Else
' Excel 2003 or earlier
End If

Note, though, that any code the uses objects or methods that are new
to Excel 2007 will fail to compile and run in 2003. You'll get
compiler errors on those methods, even if you never execute them in
2003 and earlier.

Cordially,
Chip Pearson
Microsoft Most Valuable Professional
Excel Product Group, 1998 - 2009
Pearson Software Consulting, LLC
www.cpearson.com
(email on web site)
 
Top