Run code dependent on Excel version

Ludwig

New Member
Joined
Apr 7, 2003
Messages
40
I have a need to turn off ThisWorkbook.AutoSaveOn if it is on. Easily done, however if the user opens the workbook using 2013 or earlier, the VBAProject fails to compile. Perfectly understandable.

My question is ... is there a way to code the test in the VBA but "ignored" if not valid?

For example, being able to say (I know it won't work as shown) and have it compile and run on Excel 2013 & even earlier versions ..

Code:
If Val(Application.Version) > 15 then 
     if ThisWorkbook.AutoSaveOn then ThisWorkbook.AutoSaveOn = False"
end if
Is there a way to run a command in an equivalent manner to formula expression "Indirect("string")"?

Thanks for your help.
 

jkpieterse

Well-known Member
Joined
Dec 3, 2007
Messages
965
If the default compile settings are in place then you can simply move the offending code to another sub and branch there if needed. VBA won't try to compile that sub as long as it isn't touched:
Code:
'Previous code
If Val(Application.Version) > 15 then 
    CheckAutosave
End If
'More code...

Sub CheckAutosave()
     if ThisWorkbook.AutoSaveOn then ThisWorkbook.AutoSaveOn = False
end Sub
 
Last edited:

Ludwig

New Member
Joined
Apr 7, 2003
Messages
40
So simple!! Hadn't thought that VBA is compiled 'when used/called'. Many thanks, will do that now!
 

Forum statistics

Threads
1,082,137
Messages
5,363,349
Members
400,729
Latest member
Lisa McConachy

Some videos you may like

This Week's Hot Topics

  • populate from drop list with multiple tables
    Hi All, i have a drop list that displays data, what i want is when i select one of those from the list to populate text from different tables on...
  • Find list of words from sheet2 in sheet1 before a comma and extract text vba
    Hi Friends, Trying to find the solution on my task. But did not find suitable one to the need. Here is my query and sample file with details...
  • Dynamic Formula entry - VBA code sought
    Hello, really hope one of you experts can help with this - i've spent hours on this and getting no-where. .I have a set of data (more rows than...
  • Listbox Header
    Have a named range called "AccidentsHeader" Within my code I have: [CODE]Private Sub CommandButton1_Click() ListBox1.RowSource =...
  • Complex Heat Map using conditional formatting
    Good day excel world. I have a concern. Below link have a list of countries that carries each country unique data. [URL...
  • Conditional formatting
    Hi good morning, hope you can help me please, I have cells P4:P54 and if this cell is equal to 1 then i want row O to say "Fully Utilised" and to...
Top