es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Realiza una sustitución en las fórmulas de una manera determinada.

Tengo múltiples fórmulas =VLOOKUP() en el libro de trabajo. Ahora se ven de la siguiente manera:

=VLOOKUP(REFERENCIA_DE_CELDA;NOMBRE_DE_LIBRO_Y_COLUMNAS;NÚMERO_DE_COLUMNA;0).

Necesito encontrar una solución con VBA o las funciones integradas de Excel para reemplazar todas las fórmulas de VLOOKUP y hacer que se vean así pero preservando todas las referencias de celdas y números insertados:

=VLOOKUP(VALOR(REFERENCIA_DE_CELDA);NOMBRE_DE_LIBRO_Y_COLUMNAS;NÚMERO_DE_COLUMNA;0)

REFERENCIA_DE_CELDA, NOMBRE_DE_LIBRO_Y_COLUMNAS, NÚMERO_DE_COLUMNA pueden ser diferentes de una fórmula a otra, por ejemplo:

REFERENCIA_DE_CELDA – A1,
NOMBRE_DE_LIBRO_Y_COLUMNAS – LIB!$A:$J;
NÚMERO_DE_COLUMNA – 3.

He intentado usar el carácter comodín con la función de reemplazo integrada, pero no funcionó. ¿Hay alguna forma de hacerlo posible con VBA o con una función integrada de Excel de la que no estoy al tanto?

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para reemplazar todas las fórmulas VLOOKUP en el libro de trabajo con la versión modificada, puedes utilizar el siguiente código VBA:

    Sub ReemplazarFormulasVLOOKUP()
        Dim celda As Range
        Dim formula As String
    
        For Each celda In ActiveWorkbook.Sheets.Cells.SpecialCells(xlCellTypeFormulas)
            If InStr(celda.Formula, "VLOOKUP") > 0 Then
                formula = celda.Formula
                formula = Replace(formula, "VLOOKUP(", "VLOOKUP(VALOR(")
                celda.Formula = formula
            End If
        Next celda
    End Sub
    

    Este código recorre todas las celdas del libro de trabajo que contienen fórmulas y verifica si contienen una función VLOOKUP. Si se encuentra una función VLOOKUP, reemplaza la función con la versión modificada utilizando la función Replace(). La versión modificada agrega la función VALOR() a la referencia de la celda para preservar cualquier número insertado.

    Asegúrate de guardar una copia de seguridad de tu libro de trabajo antes de ejecutar este código, en caso de que haya errores inesperados.

Comments are closed.