Convertir referencias absolutas en relativas y viceversa

Exención de responsabilidades de contenido KB retirado

Este artículo se refiere a productos para los que Microsoft ya no ofrece soporte técnico. Por tanto, el presente artículo se ofrece "tal cual" y no será actualizado.

Resumen

Con este artículo dispondrá de macros para convertir referencias absolutas en relativas y viceversa en Excel.

Más información

VERSIONES 3.0 Y 4.0

Se debe utilizar la función FORMULA.CONVERTIR() para cambiar el modo de referencia de una fórmula. Esta función cambia el estilo y el tipo de referencia de una fórmula entre A1 y L1C1, y entre relativo y absoluto.


Esta es la sintaxis de dicha función:
FORMULA.CONVERTIR(fórmula;de_a1;a_a1;a_tipo_ref;ref_abs)
El argumento que nos interesa para cambiar el modo de referencia es el cuarto (a_tipo_ref). Este argumento es un número del 1 al 4.




Para comprender el uso de esta función veamos el siguiente ejemplo.


Supongamos que:

A1: 3
B1: 2
C1: =A1+B1


La siguiente macro que se aplica a la celda C1 la convertirá en =$#38;A$#38;1+$#38;B$#38;1, es decir, en absoluta.

Cambiar_Referencias

=PARA.CELDA("activa";;VERDADERO)
=FORMULA(FORMULA.CONVERTIR(INDICAR.CELDA(6;activa);-
VERDADERO;FALSO;1;activa);activa)
=SALIR.BUCLE()
=VOLVER()


Si cambiamos de 1 a 4 el argumento A_tipo_ref de la función FORMULA.CONVERTIR() y volvemos a aplicar la macro anterior a la celda C1 (que ahora tiene =$#38;A$#38;1+$#38;B$#38;1) se convertirá en =A1+B1, es decir, la referencia absoluta pasará a ser relativa.

prueba

=PARA.CELDA("activa";;VERDADERO)
=FORMULA(FORMULA.CONVERTIR(INDICAR.CELDA(6;activa);VERDADERO;
FALSO;4;activa);activa)
=SALIR.BUCLE()
=VOLVER()




VERSIÓN 5.0

En la versión 5.0 es posible utilizar el método ConvertiFórmula en un módulo de Visual Basic para Aplicaciones, para cambiar el tipo de referencia de una fórmula.


Ejemplo:


Proced Conv_TipoRef()

Dim Conv QueSea Cadena

'Pregunta al usuario que tipo de cambio quiere realizar
Conv = Aplicación.CuadroEntrada _
("Teclee A para cambiar el tipo de referencia a Absoluta, R _
para Relativa"; "Cambiar tipo de referencia")

'Si se cambian las referencias de relativas a absolutas
Si Mayús(Conv) = "A" Entonces

'Bucle para actuar en cada celda seleccionada
Para Cada micelda En Selección

'Almacenar la fórmula de la celda como variable
MiFórmula = micelda.Fórmula

'Convertir fórmula a estilo absoluto
NuevaFórmula = Aplicación.ConvertirFórmula _
(Fórmula:=MiFórmula; _
DeEstiloReferencia:=xlA1; _
aEstiloReferencia:=xlA1; _
AReferenciaAbsoluta:=xlAbsoluta)

'Reemplazar la fórmula anterior con la nueva fórmula absoluta
micelda.Fórmula = NuevaFórmula

Siguiente

'Si se cambian las referencias de absolutas a relativas
SinoSi Mayús(Conv) = "R" Entonces

'Bucle para actuar en cada celda seleccionada
Para Cada micelda En Selección

'Almacenar la formula de la celda como variable
MiFórmula = micelda.Fórmula

'Convertir fórmula a estilo relativo
NuevaFórmula = Aplicación.ConvertirFórmula _
(Fórmula:=MiFórmula; _
DeEstiloReferencia:=xlA1; _
aEstiloReferencia:=xlA1; _
AReferenciaAbsoluta:=xlRelativa)

'Reemplazar la fórmula anterior con la nueva fórmula absoluta
micelda.Fórmula = NuevaFórmula

Siguiente

'Mostrar mensaje de error si la opción elegida no es válida
SinoSi Mayús(Conv) <> "FALSO" Entonces

MiMensaje = "Teclee A para cambiar el tipo de referencia a _
Absoluta, R para Relativa"

MiTítulo = "Opción no válida"
MiCuadro = CuadroMsj(MiMensaje; 0; MiTítulo)

Fin Si

Fin Proced


PRECAUCIÓN: CUALQUIER UTILIZACIÓN POR SU PARTE DEL CÓDIGO O MACRO INCLUIDO EN ESTE ARTÍCULO SE HARÁ A SU CUENTA Y RIESGO. Microsoft facilita este código o macro "tal cual" sin garantía de ningún tipo, ya sea explícita o implícita, incluyendo expresamente en tal exención de responsabilidad y, a efectos meramente enunciativos y no limitativos, las garantías legales mercantiles implícitas y/o la adecuación a un propósito o finalidad en particular.

Propiedades

Id. de artículo: 550374 - Última revisión: 20 abr. 2005 - Revisión: 1

Comentarios