Saltar al contenido

Insertar referencia a tabla en celda con vba


Recommended Posts

Buenas tardes, quisiera que cuando ejecuto una macro esta me escriba en una celda el nombre de una tabla para que la muestre en esa celda. Es decir,

si tengo una tabla que va de "A1:B2" llamada TABLA. Si yo escribo de forma manual en la celda C5: "=TABLA", se me muestra la tabla. 

Pues bien, yo quiero poder hacer esto con VBA. Es decir, que la celda C5 esté vacía pero al ejecutar una macro se escriba en C5: "=TABLA" para que ahí se me muestre la tabla. El problema es que cuando intento hacerlo, en lugar de en C5 escribirse "=TABLA" se me escribe "@TABLA" y no sé cómo poder solucionarlo.

Tengo esta línea de código:

Sheets("Hoja").Range("C5") = "=TABLA"

No sé si tiene que ver el error de que la tabla está puesta en otra hoja.

 

Este es un ejemplo sencillo de lo que quiero lograr, ya que lo que estoy haciendo es más complejo, pero con resolver esto me serviría.

Muchas gracias.

 

Enlace a comentario
Compartir con otras webs

hace 14 horas, JasallBcn dijo:

Buenas, Prueba :

Sheets("Hoja").Range("C5").Formula2 = "=TABLA"

Saludos

Genial, ¡me ha servido bastante!

Muchas gracias!

Si quisiera introducir un if()  cómo se podría implementar?

he probado con

sheets(“Hoja”).Range(“C5”).Formula2 = “if(TABLA=“”, “”, TABLA)

ya que quiero que si hay valores vacíos en la tabla no se me muestren. De forma normal funciona, pero metiendo esta fórmula para que la inserte en la celda con vba me salta error. ¿Cómo podría solucionarlo?

Enlace a comentario
Compartir con otras webs

hace 9 horas, 96andres96 dijo:

Genial, ¡me ha servido bastante!

Muchas gracias!

Si quisiera introducir un if()  cómo se podría implementar?

he probado con

sheets(“Hoja”).Range(“C5”).Formula2 = “if(TABLA=“”, “”, TABLA)

ya que quiero que si hay valores vacíos en la tabla no se me muestren. De forma normal funciona, pero metiendo esta fórmula para que la inserte en la celda con vba me salta error. ¿Cómo podría solucionarlo?

Te falta el "=" y encerrar las dobles comillas  entre comillas.

Sheets("Hoja").Range("C5").Formula2 = "=IF(Tabla="""","""",Tabla)"

 

Enlace a comentario
Compartir con otras webs

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.