Mover Objeto imagen sobre otra

Buenas tardes, les quiero pedir ayuda estoy haciendo lo siguiente:
Tengo 2 controles de imagen insertados en una hoja de excel
La image1 es un rectángulo y sobre este esta la imagen2 que es como una barra atravesada.
Lo que quiero es que se pueda mover la barra (imagen2) sobre el rectángulo (imagen1) de arriba para bajo y cuando se mueva la barra (imagen2), me escriba un valor en la celda "A1", por ejemplo si la barra(imagen2) esta hasta bajo del rectángulo (imagen1) me de A1=0, si esta en medio A1=50 y si esta esta arriba A1=100.
Anexo ejemplo

2 respuestas

Respuesta
3

No se ve el ejemplo.

¿Y cómo mueves la barra? ¿Con una macro o manualmente?

¿Y cómo mueves la barra? ¿Con una macro o manualmente?

Puedes comentar

Bueno la movería con el ratón, pero también como tengo pensado moverla con el dedo como tengo tablet o computadora touch, ¿se podrá?

Mover la barra manualmente con el mouse o con touch no activa ningún evento en la hoja, entonces para cambiar el dato en la celda A1 tendrías que presionar un botón para ejecutar una macro, ¿estás de acuerdo en hacer eso?

No se ve el ejemplo.

Puedes poner aquí una imagen.

Si, gracias no lo sabia

Tengo 2 controles de imagen insertados en una hoja de excel

¿Qué tipo de controles son?, ¿Son control activex?

Puedes comentar y poner una imagen aquí.

Los controles son los de image1 y image2

Si son dos Activex de hecho viene en el archivo de excel

http://www.mediafire.com/file/j3mcj61f1dfh0qp/nivel.xlsm/file 

No estoy entendiendo o ahora tengo dudas.

¿Vas a mover la regla manualmente?

¿O quieres presionar un botón y que la regla se mueva?

Mi idea era que tú manualmente movieras la regla y después de moverla presionar un botón para actualizar la celda A1.

¿Qué es lo que quieres?

Bueno yo quería moverla manualmente, pero como se pueda no hay problema

Esta bien como sugieras.

Gracias

Lo hice con botones, aprovechando que tu imagen tiene botones.

Funciona de la siguiente manera:

Además de tu image1 y de tu image2. Crea 3 botones. Como se muestra en la imagen:

En el botón "Iniciar" asignas la macro "Iniciar"

En el botón "flecha arriba" asignas la macro "Subir10"

En el botón "flecha abajo" asignas la macro "Bajar10"

Pon todo el código en un módulo:

Sub MoverImg2(op As Long)
  Dim t1 As Long, t2 As Long, b1 As Long, b2 As Long
  Dim img1 As OLEObject, img2 As OLEObject
  Set img1 = ActiveSheet.DrawingObjects("Image1")
  Set img2 = ActiveSheet.DrawingObjects("Image2")
  '
  t1 = img1.Top
  t2 = img2.Top
  b1 = img1.Height
  b2 = img2.Height
  '
  Select Case op
    Case 0  'iniciar
      img2.Top = t1 + b1 - b2
      img2.Left = img1.Left + img1.Width - img2.Width
      Range("A1").Value = 0
    Case 1  'subir
      If t2 - b2 > t1 Then
        img2.Top = t2 - b2
        Range("A1").Value = Range("A1").Value + 10
      End If
    Case 2  'bajar
      If t2 + b2 < t1 + b1 Then
        img2.Top = t2 + b2
        Range("A1").Value = Range("A1").Value - 10
      End If
  End Select
End Sub
'
Sub Iniciar()
  Call MoverImg2(0)
End Sub
'
Sub Subir10()
  Call MoverImg2(1)
End Sub
'
Sub Bajar10()
  Call MoverImg2(2)
End Sub

Inicia con la macro "Iniciar", después puedes subir y bajar la regla.

En la celda A1 se refleja el número.

Te dejo el vídeo para que veas la funcionalidad:

https://youtu.be/JxDptTvhkCQ 

Si así es como lo quería!

Esta genial!

Mil gracias Dante!

Me alegra ayudarte, G racias por comentar.

Respuesta
1

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas