Compatibilidad macro excel 2010 con excel 2003
Buenas noches,
Tengo la siguiente pregunta: ¿hay compatibilidad entre código vb excel 2010 y excel 2003?
Expongo mi caso:
Tengo una macro en excel 2010:
Private Sub Worksheet_Activate() Range("A3:M5000").Select ActiveWorkbook.Worksheets("Hoja1").Sort.SortFields.Clear ActiveWorkbook.Worksheets("Hoja1").Sort.SortFields.Add Key:=Range("J3:J5000"), _ SortOn:=xlSortOnValues, Order:=xlAscending, CustomOrder:= _ "Pagado, Solicitado, No pagado", DataOption:=xlSortNormal ActiveWorkbook.Worksheets("Hoja1").Sort.SortFields.Add Key:=Range("A3:A5000"), _ SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal With ActiveWorkbook.Worksheets("Hoja1").Sort .SetRange Range("A3:M5000") .Header = xlYes .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With Range("a4").Select End Sub
Esta macro funciona perfectamente en excel 2010 pero en excel 2003 me da error '438' en tiempo de ejecución: el objeto no admite esta propiedad o método.
Se que es porque en excel 2003 no vale el código escrito en 2010.
Mi pregunta es si se puede adaptar este código a excel 2003 o, mejor, si hay posibilidad de que la macro detecte la versión de excel y en función de ella que ejecute código que funcione en una u otra versión.
Gracias por anticipado.
Un saludo