Necesito saber como puedo fijar las fórmulas de búsqueda que están vinculadas en otros archivos cuando la macro inserta una fila

Tengo una macro que guarda los datos de los proveedores, al hacerlo inserta una fila completa desplazando hacia abajo los datos ya guardados anteriormente, pero se genera un problema con los otros archivos donde tengo una fórmula BUSCARV que trae estos datos, ya que cada vez que se inserta la fila, la fórmula fija, también se desplaza, ejemplo BUSCARV($B4;PROV!$B$12:$B$1000;2;FALSO) al insertar la fila queda BUSCARV($B4;PROV!$B$13:$B$1000;2;FALSO), cambia el $B$12 por el $B$13 y asi empieza a cambiar la formula $B$14, etc, cuando es solo una formula, en la misma macro inserté la formula y funciono bien, pero cuando esta ocupa un rango completo, es decir, BUSCARV($B4;$B5,$B6..... No se como hacerlo, ya que tendria que copiar en la macro cada formula, como puedo hacerlo.

1 respuesta

Respuesta
1

¿Has probado a ponerle nombre al rango de celdas donde tiene que buscar el valor?

no, no se como hacerlo

Es sencillo. En este caso, voy a suponer que el rango donde tienes que buscar la información es PROV!$B$1:$B$1000, y la macro añade filas en la fila 2, desplazando todo hacia abajo. Supongo que en la fila 1 está el encabezado de las columnas.

En la pestaña "Fórmulas", hay un botón que pone "Administrador nombres". Se te abre el menú que te pongo a continuación.

Le das al botón de "Nuevo", y te aparece el siguiente:

En nombre ponle lo que quieras, y en la parte inferior el rango de celdas.

A continuación, en la fórmula de BUSCARV, en lugar de poner el rango PROV!$B$1:$B$1000, pones el nombre que has definido.

Suerte.

Hice lo que indicas, se veía muy bien, pero después de ejecutar la macro fui a administrador de nombres y verifique si el rango se había fijado, pero no, se corre igual vuelve a aparecer el $B$13. No existirá en el visual basic algún comando que pueda fijar ese rango para añadirlo a la macro e instruirla para que al ejecutarla mantenga fijo el rango en ese archivo.

Supongo que en la macro se puede definir ese rango, pero no sé cómo hacerlo.

Lo siento.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas