Tamaño y posición de una imagen insertada desde form..

Hola, saludos, mi problema es el siguiente:
Tengo un formulario para el llenado de una tabla en excel, este contiene un control de imagen que se carga mediante un botón.
Dim foto
Private Sub CommandButton1_Click()
'Busca en el directorio el archivo de imagen a cargar, y cargar imagen
foto = Application.GetOpenFilename
Image1.Picture = LoadPicture(foto)
End Sub
Por su parte, la inserción de la imagen en la hoja de cálculo se efectúa al agregar información a la tabla mediante otro botón. El problema esta en la imagen que se inserta ya que aparece en un sitio poco conveniente y no se como enviarla a la celda correspondiente (Columna QUE, desde la fila 6), también sucede que esta imagen (la insertada) conserva su tamaño original el cual quisiera reducir para incluir en la celda señalada.
Private Sub cmdAgregar_Click()
'Agrega nueva información a la base de datos
Sheets("BD_lum").Select
Cells(fila, 1).value = TextBox1
Cells(fila, 2).value = TextBox2
Cells(fila, 3).value = TextBox3
Cells(fila, 4).value = TextBox4
Cells(fila, 5).value = TextBox5
Cells(fila, 6).value = TextBox6
Cells(fila, 7).value = TextBox7
Cells(fila, 8).value = TextBox10
Cells(fila, 9).value = TextBox8
Cells(fila, 10).value = TextBox9
'Se selecciona la celda donde deba ser ubicada la imagen
ActiveSheet.Cells(fila, 11).Select
ActiveSheet.Pictures.Insert foto
cmdCancelar
End Sub
Cualquier idea o solución que pudieses aportar seria de gran ayuda, gracias de antemano

1 respuesta

Respuesta
1
Ojalá que lo siguiente te ayude:
En tu botón agregar debes incluir algunas cosas como:
'------------
Sheets("tuhoja").Select
Cells(fila, 1).Value = TextBox1
Cells(fila, 2).Value = TextBox2
Cells(fila, 3).Value = TextBox3
Cells(fila, 4).Value = TextBox4
Cells(fila, 5).Value = TextBox5
Cells(fila, 6).Value = TextBox6
Cells(fila, 7).Value = TextBox7
Cells(fila, 8).Value = TextBox10
Cells(fila, 9).Value = TextBox8
Cells(fila, 10).Value = TextBox9
'seleccionar la foto
ActiveSheet.Pictures.Insert(foto).Select
'seleccionar la fila y columna
ActiveSheet.Cells(fila_en_la_cual_va_estar_tu_foto, col_en_la_cual_va_estar_tu_foto ).Select
'definir los altos,bajos, etc
Dim top, izq, alto, ancho
top = Range("celda"). Top ' o cuanto debe ser tu margen top
izq = Range("celda"). Left ' o cuanto debe ser tu margen izq
alto = Range("celda"). Height 'o cuanto debe ser tu alto de imagen
ancho = Range("celda"). Width 'o cuanto debe ser tu ancho de imagen
'aqui le damos los parámetros
Selection.ShapeRange.top = tope
Selection.ShapeRange.Left = izq
Selection.ShapeRange.Height = alto
Selection.ShapeRange.Width = ancho
'---------------------------
Espero que te haya sido de ayuda,
saludos
Hola, gracias por tu excelente sugerencia, use un código bastante parecido basado en el que me enviaste y hasta el momento ha trabajado bien, aun falta una parte y espero seguir contanto con tu ayuda. A continuación te envío el código que estoy usando:
Dim Foto
Dim fila, Tope, izq, as Integer
Private Sub cmdAgregar_Click()
'--------
Sheets("BD_lum").Select
Cells(fila, 1).value = TextBox1
Cells(fila, 2).value = TextBox2
Cells(fila, 3).value = TextBox3
Cells(fila, 4).value = TextBox4
Cells(fila, 5).value = TextBox5
Cells(fila, 6).value = TextBox6
Cells(fila, 7).value = TextBox7
Cells(fila, 8).value = TextBox10
Cells(fila, 9).value = TextBox8
Cells(fila, 10).value = TextBox9
Cells(fila, 11).Select
'Seleccionar la foto
ActiveSheet.Pictures.Insert(Foto).Select
'Se ubica la imagen en la posición de la celda activa
Tope = ActiveCell.top
izq = ActiveCell.Left
Selection.ShapeRange.top = Tope
Selection.ShapeRange.Left = izq
'Parámetros
Selection.ShapeRange.Height = 400
Selection.ShapeRange.Width = 90
cmdCancelar
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas