Saltar al contenido
View in the app

A better way to browse. Learn more.

Ayuda Excel

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Insertar referencia a tabla en celda con vba

publicado

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.

 

Featured Replies

publicado

Buenas, Prueba :

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

Saludos

publicado
Sheets("Hoja").Range("C5") = Range("A1").ListObject.Name

 

publicado
  • Autor
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?

publicado
  • Autor
hace 10 horas, Antoni dijo:
Sheets("Hoja").Range("C5") = Range("A1").ListObject.Name

 

Muchas gracias por tu respuesta Antoni, aunque probé la del compañero Jasall y también me sirvió!

publicado
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)"

 

Archivado

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

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.