Cómo insertar una imagen en una celda usando VBA en Excel

Puede insertar imágenes fácilmente en hojas de cálculo de Excel y editarlas con código de macro. A continuación se explica cómo insertar una imagen en una celda usando VBA en Excel .

Cómo insertar una imagen en una celda usando VBA en Excel

Visual Basic para Aplicaciones, abreviado como VBA, es una forma de Visual Basic 6 integrada en los programas de Microsoft Office. A través de la codificación, VBA le permite automatizar tareas en aplicaciones de Office, incluido Excel. En algunos casos, incluso puedes agregar nuevas funciones a Excel usando VBA.

Aunque necesites trabajar con código para usar VBA, eso no significa que VBA esté lleno de letras y números. Con VBA en Excel, puede crear una macro que le permita insertar una imagen en una celda o rango de celdas. Esto es lo que necesita saber sobre cómo insertar imágenes en celdas en Excel usando VBA.

Cómo insertar imágenes en celdas usando VBA en Excel

Para crear una macro que inserte una imagen en una celda de Excel usando VBA, realmente no necesita ningún conocimiento avanzado de Visual Basic. Todo lo que necesitas hacer es activar las herramientas de desarrollador, crear una macro y pegar el código apropiado. Por supuesto, también puedes insertar imágenes en Excel sin usar VBA. Sin embargo, en este artículo nos centraremos en VBA.

1. Active las herramientas para desarrolladores

Para usar VBA en Excel, debe habilitar las herramientas de desarrollador. Esta acción habilitará la pestaña Desarrollador en la cinta, que está deshabilitada de forma predeterminada.

  1. Abra Excel .
  2. Vaya al menú Archivo .
  3. Haga clic en Opciones en la parte inferior de la pantalla. Aparecerá la ventana Opciones de Excel .
  4. En Opciones de Excel, vaya a la pestaña Personalizar cinta .
  5. En las pestañas principales , marque Desarrollador .

Cómo insertar una imagen en una celda usando VBA en Excel

Ahora las herramientas de desarrollador, incluido el acceso a VBA, están habilitadas. No es necesario que haga esto cada vez que desee utilizar VBA en Excel. Las herramientas de desarrollador siempre estarán habilitadas hasta que las desactives.

2. Crea macros e inserta código.

  1. En Excel, vaya a la pestaña Desarrollador .
  2. En la sección Código, seleccione Macros .
  3. En la nueva ventana, ingrese el nombre de su macro en Nombre de macro . El artículo utilizará insertPhotoMacro .
  4. Haga clic en Crear .

Cómo insertar una imagen en una celda usando VBA en Excel

Después de hacer clic en Crear, se abrirá la ventana de VBA y mostrará el código de su macro. Actualmente, el código constará de 2 líneas: una Sub para iniciar la macro y una End Sub para finalizarla.

Cómo insertar una imagen en una celda usando VBA en Excel

Agregue un pequeño código a esta macro. Agregue la siguiente línea de código entre las dos líneas:

Dim photoNameAndPath As Variant
Dim photo As Picture
photoNameAndPath = Application.GetOpenFilename(Title:="Select Photo to Insert")
If photoNameAndPath = False Then Exit Sub
Set photo = ActiveSheet.Pictures.Insert(photoNameAndPath)
With photo
.Left = ActiveSheet.Range("A1").Left
.Top = ActiveSheet.Range("A1").Top
.Width = ActiveSheet.Range("A1").Width
.Height = ActiveSheet.Range("A1").Height
.Placement = 1
End With

El código final se verá así:

Cómo insertar una imagen en una celda usando VBA en Excel

No necesita preocuparse por guardar este proceso. Cualquier cambio que realice en VBA se guarda inmediatamente.

Ahora es el momento de ver el código en acción:

  1. Cierre la ventana de VBA.
  2. Vaya a la pestaña Desarrollador en Excel.
  3. Seleccione Macros en la sección Código.
  4. Resalte la macro que acaba de crear.
  5. Haga clic en Ejecutar .

Ahora se abrirá un mensaje pidiéndole que ubique el archivo de imagen que desea insertar. Seleccione la foto y luego haga clic en Abrir. Ahora verá la imagen en la celda A1.

Tenga en cuenta que Excel reducirá la imagen para que quepa en la celda A1. Puedes cambiarlo y cambiar el código para insertar imágenes en otras celdas, incluso en un rango de celdas. En la siguiente sección, separaremos el código y explicaremos los parámetros.

3. Código dividido

Para que el código VBA funcione de la manera deseada, es necesario comprenderlo. Al hacer esto, puede cambiar el código para insertar imágenes en cualquier celda de cualquier tamaño.

Sub insertPhotoMacro()
Dim photoNameAndPath As Variant
Dim photo As Picture
photoNameAndPath = Application.GetOpenFilename(Title:="Select Photo to Insert")
If photoNameAndPath = False Then Exit Sub
Set photo = ActiveSheet.Pictures.Insert(photoNameAndPath)
With photo
.Left = ActiveSheet.Range("A1").Left
.Top = ActiveSheet.Range("A1").Top
.Width = ActiveSheet.Range("A1").Width
.Height = ActiveSheet.Range("A1").Height
.Placement = 1
End With
End Sub

Cuando comienza el código, la declaración Dim se usa para determinar el tipo de variable. Tenemos dos tipos de variables: photoNameAndPath y photo . Primero la variable y luego la imagen.

Desde allí, se ejecuta la variable photoNameAndPath y se abrirá una aplicación para obtener la ubicación del archivo de la foto. Esto se hace a través de Application.GetOpenFileName . El parámetro Título es opcional. El contenido que contiene se muestra como el nombre de la ventana.

Usando If photoNameAndPath = False Then Exit Sub , si se proporciona una dirección vacía o no válida, el proceso finalizará. Sin embargo, si se proporciona un archivo adecuado, Set photo = ActiveSheet.Pictures.Insert(photoNameAndPath) indica que la imagen debe configurarse como una variable tal como se definió originalmente. Se insertará en la hoja de trabajo activa.

Finalmente, use Con foto y las 5 líneas posteriores para determinar la ubicación de la foto. .Izquierda y .Arriba se refieren a la posición inicial, mientras que .Ancho y .Alto se refieren a la posición final. Si pretendes insertar imágenes en otra celda o rango, estas son las líneas que debes cambiar.

.La ubicación indica que se debe cambiar el tamaño de la imagen para que se ajuste a la celda o insertarla de forma libre. Configurarlo en 1 cambiará su tamaño según la celda.

Finalmente, el código anterior usa End With y luego End Sub para cerrar la macro. Ahora puedes cambiar las variables photoNameAndPath y photo por cualquier otro nombre que desees. Solo recuerde mantener los nombres consistentes en todo el código.

Arriba se explica cómo usar VBA para insertar imágenes en celdas en Excel . Espero que el artículo te sea útil.

Sign up and earn $1000 a day ⋙

Cómo deshabilitar el bloqueador de ventanas emergentes en Google Chrome, Safari y Edge

Cómo deshabilitar el bloqueador de ventanas emergentes en Google Chrome, Safari y Edge

Todos los navegadores web populares en todas las plataformas vienen con un bloqueador de ventanas emergentes incorporado. Por lo general, son lo suficientemente inteligentes como para bloquear ventanas emergentes no deseadas que

Cómo solucionar el problema de que la aplicación EA sigue cerrando sesión

Cómo solucionar el problema de que la aplicación EA sigue cerrando sesión

La aplicación Electronic Arts (EA) en Windows es su destino principal para acceder a sus juegos favoritos. Por eso, puede resultar increíblemente frustrante cuando el

Cómo saber cuándo se publicó o lanzó un sitio web por primera vez

Cómo saber cuándo se publicó o lanzó un sitio web por primera vez

Todos tuvieron una buena cantidad de problemas para encontrar la publicación de un sitio web o la fecha de lanzamiento. Algunos deben obtener fechas de publicación para un ensayo escolar, mientras que

Cómo cambiar la imagen de una lista de reproducción en SoundCloud

Cómo cambiar la imagen de una lista de reproducción en SoundCloud

Ya sea que estés subiendo tu música o seleccionando la lista de reproducción perfecta para hacer ejercicio, la portada de tu lista de reproducción es lo primero que aparece en SoundCloud.

Cómo encontrar al último asaltante en Minecraft

Cómo encontrar al último asaltante en Minecraft

Si alguna vez te has encontrado al final de una incursión de Minecraft, buscando al último asaltante para eliminar, no estás solo. Muchos jugadores han tenido eso.

Cómo habilitar JavaScript en Google Chrome, Firefox, Microsoft Edge y Safari

Cómo habilitar JavaScript en Google Chrome, Firefox, Microsoft Edge y Safari

JavaScript es uno de los motores más poderosos detrás de la web interactiva. Este lenguaje de programación permite que las páginas web respondan a sus acciones en tiempo real.

Cómo reparar el código de error 014.50 de Hisense TV

Cómo reparar el código de error 014.50 de Hisense TV

Los televisores Hisense están calificados como uno de los mejores televisores ROKU del mercado. Sin embargo, es posible que a veces te encuentres con una notificación del código de error 014.50 en tu televisor al intentar

Cómo controlar el volumen en tu Amazon Fire Stick

Cómo controlar el volumen en tu Amazon Fire Stick

Intentar gestionar controles remotos en 2024 es como intentar gestionar facturas. Afortunadamente, si estás usando un Fire Stick para transmitir tus programas favoritos y

Cómo eliminar todas las fotos de tu iPhone (sin perderlas para siempre)

Cómo eliminar todas las fotos de tu iPhone (sin perderlas para siempre)

Dado que los teléfonos Apple sólo vienen con una cantidad determinada de almacenamiento interno que no se puede ampliar, es posible que te quedes sin espacio rápidamente. En algún momento, es posible que

Cómo actualizar aplicaciones en Hisense TV

Cómo actualizar aplicaciones en Hisense TV

Hisense es una marca cada vez más popular cuando se trata de tecnología Smart TV. Fabrican unidades LED y ULED (Ultra LED) económicas que

Roblox: Cómo conseguir la cabeza sin cabeza

Roblox: Cómo conseguir la cabeza sin cabeza

Una guía completa para comprar o intercambiar el exclusivo Headless Head, conocido por su efecto decorativo único, en Robolox.

Cómo ver el número de teléfono de alguien en Telegram

Cómo ver el número de teléfono de alguien en Telegram

Durante el registro de una cuenta en Telegram, debe agregar un número de teléfono a sus datos personales. Si tienes curiosidad por confirmar la de otra persona

Cómo mostrar imágenes de Amazon Photos en Echo Show

Cómo mostrar imágenes de Amazon Photos en Echo Show

Descubra cómo transformar su Amazon Echo Show en un marco de fotos digital con Amazon Photos en esta guía.

Cómo crear un formulario de pedido en línea

Cómo crear un formulario de pedido en línea

Un formulario de pedido en línea ayuda a las empresas a recibir pedidos de sus clientes sin problemas. Con un formulario de pedido, los clientes pueden realizar pedidos de productos, realizar

DoorDash: Cómo obtener un reembolso

DoorDash: Cómo obtener un reembolso

¿Se pregunta cómo obtener un reembolso por su pedido de DoorDash? Consulte todas las formas en que puede obtener un reembolso, el cronograma de reembolso y más.

Cómo desactivar etiquetas en Google Maps

Cómo desactivar etiquetas en Google Maps

Las etiquetas son funciones indispensables de Google Maps que nos ayudan a encontrar lugares con facilidad. Sin embargo, un mapa lleno de pines y banderas dondequiera que mires puede ser

Canva: Cómo agregar música a un video

Canva: Cómo agregar música a un video

Los vídeos son mucho más entretenidos con una banda sonora. Ya sea añadiendo música ambiental para atraer a la audiencia o añadiendo efectos de sonido encima de un vídeo, Canva

Snapchat: cómo cambiar números

Snapchat: cómo cambiar números

Acabas de cambiar tu número de teléfono por cualquier motivo. Esta es una decisión importante, especialmente si ha tenido ese número por un tiempo. Pero este cambio

Cómo enviar correos electrónicos masivos en HubSpot

Cómo enviar correos electrónicos masivos en HubSpot

El marketing masivo por correo electrónico puede ahorrarle una gran cantidad de tiempo al permitirle enviar una campaña de correo electrónico a una gran cantidad de destinatarios al mismo tiempo. Es un

Hisense TV: Cómo solucionar el problema de poca memoria del sistema

Hisense TV: Cómo solucionar el problema de poca memoria del sistema

¿Estás cansado de lidiar con problemas de poca memoria del sistema en tu televisor Hisense? Aquí hay algunas soluciones funcionales para solucionar este problema.