Convertir referencias absolutas en relativas y viceversa

Id. de artículo: 550374 - Ver los productos a los que se aplica este artículo
Este artículo se publicó anteriormente con el número E10375
Expandir todo | Contraer todo

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.

A_tipo_ref Tipo de referencia
1 Absoluta
2 Fila absoluta, columna relativa
3 Fila relativa, columna absoluta
4 Relativa


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: jueves, 21 de abril de 2005 - Versión: 1.2
La información de este artículo se refiere a:
  • Microsoft Excel 5.0 Standard Edition
  • Microsoft Excel 95 Standard Edition
Palabras clave: 
absoluta convertir excel referencia relativa KB550374
Renuncia a responsabilidad de los contenidos de la KB sobre productos a los que ya no se ofrece asistencia alguna
El presente artículo se escribió para 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.

Enviar comentarios

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com