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.

Dejar un comentario

Implementa Collabora CODE en Kubernetes con Helm.

Implementa Collabora CODE en Kubernetes con Helm.

Instale el gráfico Helm oficial de Collabora, configure el acceso WOPI y la afinidad de entrada, y verifique la implementación sin errores de configuración comunes.

Rastrea un documento de Collabora en blanco hasta la capa que falla.

Rastrea un documento de Collabora en blanco hasta la capa que falla.

Utilice las solicitudes del navegador, los registros WOPI y las comprobaciones de proxy específicas para averiguar por qué Collabora abre un documento en blanco y elija una solución que se ajuste a las pruebas.

Habilitar la revisión ortográfica multilingüe en Collabora Online CODE

Habilitar la revisión ortográfica multilingüe en Collabora Online CODE

Configure correctamente los diccionarios de CODE Docker y etiquete los pasajes del documento para que el inglés, el francés y otros idiomas compatibles reciban la corrección ortográfica adecuada.

Configura el temporizador de inactividad de Collabora para las vistas de documentos activas.

Configura el temporizador de inactividad de Collabora para las vistas de documentos activas.

Ajusta el umbral de inactividad por vista en coolwsd y diferéncialo del atenuado de pestañas en segundo plano, la descarga de documentos, el guardado automático y la expiración de la sesión.

Deshabilitar las comprobaciones de actualización de código de Collabora y las conexiones no deseadas.

Deshabilitar las comprobaciones de actualización de código de Collabora y las conexiones no deseadas.

Detenga las comprobaciones de actualización de CODE programadas, revise los servicios remotos opcionales y utilice los controles de red salientes sin interrumpir la edición de documentos.

Conecte Seafile y Collabora con la URL WOPI correcta.

Conecte Seafile y Collabora con la URL WOPI correcta.

Habilite la edición segura de documentos en Seafile configurando la URL de descubrimiento de Collabora, HTTPS y el acceso WOPI para su implementación.

Restaurar la función de copiar y pegar entre Collabora y las aplicaciones de escritorio.

Restaurar la función de copiar y pegar entre Collabora y las aplicaciones de escritorio.

Pruebe el portapapeles del sistema, ajuste los permisos del navegador e identifique cuándo una integración de Collabora integrada necesita un cambio en la política de iframe.

Habilitar fuentes personalizadas en Collabora CODE Docker

Habilitar fuentes personalizadas en Collabora CODE Docker

Monta los archivos de fuentes en Docker y en la placa del sistema de Collabora para que las tipografías personalizadas aparezcan en el editor y se muestren correctamente en los documentos.

Restaurar la configuración de Collabora CODE sin perder los cambios de implementación.

Restaurar la configuración de Collabora CODE sin perder los cambios de implementación.

Realice una copia de seguridad de coolwsd.xml y sus fuentes de implementación, restáurelas de forma segura y verifique el CÓDIGO antes de que los usuarios vuelvan a editarlo.

Corrige la comprobación de host WOPI de CODE haciendo coincidir el origen del host.

Corrige la comprobación de host WOPI de CODE haciendo coincidir el origen del host.

Permita el origen exacto de Nextcloud u otro WOPI en CODE, luego verifique la lista de hosts permitidos activa y distíngala de la restricción de IP de origen de Nextcloud.