Jump to content
Guest Wiru

ANSWERED Macro en barra de desplazamiento

Recommended Posts

Guest Wiru

Buenas tardes al foro y felices fiestas.
Estoy tratando, sin exito, de grabar o teclear una macro que haga lo siguiente en el archivo ejemplo que os adjunto:
En la celda A1 hay un desplegable de donde escoger distintos valores (BC, BCE, BF, etc.). La celda B1 está ligada a la "Barra de desplazamiento" que hay debajo de ella, de modo que, si movemos la barra de aumenta o decrece el valor de la celda.
La macro que quiero asignar a la barra debería ser algo así:

With Selection
.Value = 0
.Min = 0
.Max = 1000
.SmallChange = 1
.LargeChange = 10
.LinkedCell = "$B$1"
.Display3DShading = True
End With
End Sub


Y necesito que el valor .Max = 1000 sea variable en función de lo que contenga la celda A1.
Es decir automaticamente, al contener la celda A1 el valor "BC" el comando .Max debe ser igual a 1000, pero si contine "BCE", .Max debe ser igual a 1350, si es BF .Max es igual a otro número y así sucesivamente con todos los distintos valores de A1.
Como os digo , he intentado grabar la macro haciendo "a mano" todas esas operaciones, pero el valor no cambia por sí solo en ningún momento pese a tener la barra asignada la macro.
Os agradecería una orientación sobre como conseguir que automáticamente o con tan solo con intentar desplazar la corredera cambie dicho valor.

Gracias y os reitero mis felicitaciones por el foro y por las fechas a las que nos aproximamos.
Un saludo. Prueba.xlsm

Share this post


Link to post
Share on other sites
Hace 1 hora, Haplox dijo:

@Wiru , para eso justamente esta la función Select Case. Busca la ayuda en la red y si te lías vuelve a preguntar :)

Y además ya te han dado solución aquí:

Macro sobre barra de desplazamiento

¿A que viene preguntar lo mismo otra vez?

Share this post


Link to post
Share on other sites
Guest Wiru

Pues ya que preguntas te lo voy a explicar.

Efectivamente me han dado la solución y funciona perfectamente en una hoja simple como es la que subí de ejemplo.

En la hoja donde intento colocar ese código, que es mucho más compleja,  ya hay un "Private Sub Worksheet_Change(ByVal Target As Range)" con lo cual al pegar el código que me han pasado amablemente en la página de TodoExcel, se genera un error de "Nombre ambiguo". He intentado fusionar los dos códigos bajo ese " Private Sub Worksheet_Change(ByVal Target As Range)" pero , aunque no da ningún tipo de error, la macro no funciona y la barra de desplazamiento de ActiveX no coge los distintos valores de .Max=1000, .Max= 1350, etc, según el valor de la celda a la que se referencia.

Como ví que el código que me enviaron funcionaba en una hoja simple, lancé las campanas al vuelo y agradecí el que me lo enviaran.

Tras ver que no soy capaz de integrarla en mi hoja, probé fortuna con la misma pregunta en este otro foro del que también soy miembro, por si alguien tiene una solución para mi barra de desplazamiento sin tener que cambiarme a una barra de control ActiveX como si me dijeron en TodoExcel.

Simplemente me dió verguenza decir que a pesar de que funcionaba la solución , era incapaz de integrarla en mi hoja.

¿Satisfecho con mi respuesta?. A veces las cosas no son lo que parecen. En TodoExcel me pasaron directamente el código sin hacer preguntas y entendiendo que yo no pretendo aprender Excel. Tengo otras expectativas en la vida. Solo trato de resolver, puntualmente, un problema en una hoja bastante compleja de cálculo matricial que yo mismo he creado.

Por eso no me sirve ese  "Busca ayuda en la red", eso ya sé hacerlo yo solito. Necesito que alguien, de los muchos que hay verdaderamente dedicados a ayudar, no a ayudar a aprender Excel, me pase una solución.

Le estaré muy agradecido.

Saludos

Share this post


Link to post
Share on other sites

Hola Wiru, con un simple me dió verguenza decir que a pesar de que funcionaba la solución , era incapaz de integrarla en mi hoja, lo hubiéramos comprendido todos perfectamente y hubieras  obtenido ayuda de muchos de los miembros del foro.

Ahora que faltes al respeto a un miembro del foro y que pongas en duda su dedicación a ayudar a los demás desinteresadamente es imperdonable, simplemente te estas cerrando muchas puertas.

Hace 2 horas, Wiru dijo:

sin hacer preguntas y entendiendo que yo no pretendo aprender Excel.

Por supuesto si estas palabras significan lo que yo entiendo al leerlas creo que te has equivocado de lugar, veo conveniente que recapacites y te dirijas a los miembros del foro con respeto y sin menosprecio.

Y por cierto creo que muchos miembros de este foro consideramos al Maestro Antoni uno de los Dioses de este mundo de Excel, así como uno de los mayores contribuidores en resolución de dudas, por lo que me resulta muy difícil entender tu respuesta ante su pregunta.

Share this post


Link to post
Share on other sites
Hace 17 horas, Invitado Wiru dijo:

En TodoExcel me pasaron directamente el código sin hacer preguntas y entendiendo que yo no pretendo aprender Excel. Tengo otras expectativas en la vida.

´Sí, que los demas te hagan las cosas por el morro... Esta si que es buena 🤦‍♂️

Share this post


Link to post
Share on other sites
Hace 16 horas, JSDJSD dijo:

Y por cierto creo que muchos miembros de este foro consideramos al Maestro Antoni uno de los Dioses de este mundo de Excel, así como uno de los mayores contribuidores en resolución de dudas, por lo que me resulta muy difícil entender tu respuesta ante su pregunta.

¡Por Dios, que soy ateo! 😂😂

Share this post


Link to post
Share on other sites

Como estamos en Navidad 🎅 y no es cuestión de enfadarnos, asigna esta macro a la barra de desplazamiento (Selecciona la barra de desplazamiento\Click derecho\Asignar macro).

Sub Barra()
Application.ScreenUpdating = False
ActiveSheet.Shapes.Range(Application.Caller).Select
Select Case Range("A1")
   Case "BC":  Selection.Max = 1000
   Case "BCE": Selection.Max = 1350
   Case "BV":  Selection.Max = 1700
   Case "BVE": Selection.Max = 2050
   Case "BF":  Selection.Max = 2100
   Case "BFE": Selection.Max = 2750
End Select
ActiveCell.Select
End Sub

Por cierto, quien te contestó en todoexcel.com, fui yo. 😁

Edited by Antoni

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.



×
×
  • Create New...

Important Information

Privacy Policy


CTA Templates.png