Quisiera ajustar el tamaño y posición de la imagen usando una macro que obtenga los datos del tamaño y posición de celdas en excel. Alguien me puede ayudar ha resolver el problema.
1 respuesta
Respuesta de calvuch
2
2
calvuch, las fallas constantes de esta web me cansaron!! me voy a...
Esto te presenta en pantalla el ancho y alto de una celda Sub tamaño_celda() MsgBox Selection.ColumnWidth MsgBox Selection.RowHeight End Sub Puedes adaptarlo a tu proyecto
Disculpa quisiera variaar una figura no una celda, soy novato y no se como insertar el código que dejaste podrías acalararme una rutina completa. Saludos
Inserta una imagen en la hoja 1 Luego en el editor de visual basic de excel ( lo abres presinando trecla alt + F11) Selecionas la hoja1, das soble click y pegas esto: Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$A$1" Or Target.Address = "$A$2" Then control_imagen End If End Sub Luego en un modulo pones esta macro ( si no hay ningún modulo, lo insertas seleccionando el comando insertar con el botón derecho del mouse) alli, en el modulo, pegas esto: Sub control_imagen() Hoja1.Shapes(1).LockAspectRatio = msoFalse Hoja1.Shapes(1).Height = [a1] Hoja1.Shapes(1).Width = [a2] End Sub Como veras este macro es el que hace el trabajo, se referencia el objeto utilizando el indice que posee, para ubicarlo en la colección Shapes, en esta colección están todos los objetos "graficos", como imágenes, autoformas, gráficas estadísticas, etc. Bueno en este ejemplo, el indice es 1 pues tenemos solo una imagen si insertas más de una imagen, las controlaras en función de su indice, para la controlar la imagen 2 solo reemplaza el numero entre (1). Para que te familiarices son los métodos y miembros del objeto shapes, presiona F1 y busca Miembros del objeto Shape la ayuda es super clara
Ups!. Lo olvidaba El tamaño de la imagen lo debes ingresar en las celdas A1 y A2 Ancho y alto, cada vez que modificas esas celdas cambia el tamaño de la imagen. Eso. Bye