Compatibilidad entre Exceles

25/12/2007 - 21:08 por Ignacio Perez | Informe spam
Hola a todos:
Tengo una macro que me funciona perfectamente en Excel 2007 pero no lo hace
en versiones anteriores:
Select Case [Q23].Value
Case "Castellano"
Columna = "A"
Case "Cientifico"
Columna = "B"
Case "Ingles"
Columna = "C"
Case "Catalan"
Columna = "D"
Case "Gallego"
Columna = "E"
Case "Euskera"
Columna = "F"
End Select

Hoja4.Sort.SortFields.Clear
Hoja4.Sort.SortFields.Add Key:=Range( _
Columna & "2:" & Columna & "713"), SortOn:=xlSortOnValues,
Order:=xlAscending, DataOption:=xlSortNormal
With Hoja4.Sort
.SetRange Range("A1:G713")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With

Como veis ordena un rango y la he grabado con el grabador de macros por
desconocer otro metodo.
¿podiais alguno hacer que este codigo fuese compatible con todas las
versiones de Excel?
Y ya de paso ¿como puedo programar con mi Excel 2007 y hacerlo para todas
las versiones anteriores?

Un saludo
 

Leer las respuestas

#1 Héctor Miguel
26/12/2007 - 00:52 | Informe spam
hola, Ignacio !

... una macro que me funciona... en Excel 2007 pero no lo hace en versiones anteriores:... ordena un rango
... la he grabado con el grabador de macros por desconocer otro metodo.
... hacer que este codigo fuese compatible con todas las versiones de Excel?
... como puedo programar con mi Excel 2007 y hacerlo para todas las versiones anteriores?



1) en cada version se agregan (o mejoran) caracteristicas, funciones, argumentos, objetos, propiedades, etc.
(p.e. el codigo que expones para ordenar por colores es una de las mejoras de la version 2007)

2) considera que (logicamente) las "novedades" NO estaran soportadas en las versiones enteriores

3) si necesitas que tus macros sean funcionales EN (todas y cualquiera de ?) las versiones anteriores...
-> programa en la version mas "baja" (anterior) a la que necesites darle "soporte" para tus macros

si cualquier duda (o informacion adicional)... comentas ?
saludos,
hector.


__ el codigo expuesto __
Select Case [Q23].Value
Case "Castellano"
Columna = "A"
Case "Cientifico"
Columna = "B"
Case "Ingles"
Columna = "C"
Case "Catalan"
Columna = "D"
Case "Gallego"
Columna = "E"
Case "Euskera"
Columna = "F"
End Select
Hoja4.Sort.SortFields.Clear
Hoja4.Sort.SortFields.Add Key:=Range( _
Columna & "2:" & Columna & "713"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With Hoja4.Sort
.SetRange Range("A1:G713")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With

Preguntas similares