hacer macros aleatorias

10/09/2007 - 19:17 por daniel | Informe spam
Hola a Todos
se puede hacer lo siguiente:
1) en un userform tengo 4 label y un comandbutton.
los label tienen macro en el evento click.
necesito que al pulsar el comandbutton se pulse un label distinto cada vez o
de forma aleatoria si se puede repetir algunas veces y que me ejecute su
macro.
2) que en una hoja excel al seleccionar la delda a20 se ejecuten 5 macros de
forma tambien aleatoria.
3) se puede mostar una imagen o una letra o que cambie de color la celda
seleccionada pero luego al cambiar a otra uelva a poner el resultado como
estaba en la celda que habia seleccionado anterior mente



un saludo y muchas gracias
Daniel

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
11/09/2007 - 05:03 | Informe spam
hola, daniel !

se puede hacer lo siguiente:
1) en un userform tengo 4 label y un comandbutton los label tienen macro en el evento click.
necesito que al pulsar el comandbutton se pulse un label distinto cada vez o de forma aleatoria
si se puede repetir algunas veces y que me ejecute su macro.
2) que en una hoja excel al seleccionar la delda a20 se ejecuten 5 macros de forma tambien aleatoria.
3) se puede mostar una imagen o una letra o que cambie de color la celda seleccionada pero luego
al cambiar a otra uelva a poner el resultado como estaba en la celda que habia seleccionado anterior mente



1) en el evento '_click' de tu commandbutton *llama* al evento '_click' de tu/s control/es label
[solo define/comenta/aclara/... lo mas preciso posible... la *aleatoriedad* que pretendes] :))

2) en el modulo de codigo de *esa* hoja, aprovecha el evento '_change' condicionado a la celda $A$20
y haz tambien *llamadas* a las macros que necesites [mismo comentario de la *aleatoriedad* anterior]
no es claro si requieres 5 macros en orden aleatorio... o 5 macros de 20 ejecutadas *al azar* -?-

3) puedes usar el evento '_selectionchange' en el modulo de codigo de *esa* hoja [y perder a pila o niveles de deshacer/undo/ctrl-Z]
o puedes usar formatos condicionales [y solo un poco de codigo]
solo define tambien lo que *realmente* quieres que se haga -?-

saludos,
hector.
Respuesta Responder a este mensaje
#2 daniel
11/09/2007 - 18:39 | Informe spam
Hola Hector MIguel
muchisimas Gracias por ayudarme
siento no esplicarme con claridad haber si se entiende ahora.
1)necesito un boton que al pulsar le me ejecute una sola macro de entre 5
que tengo en un modulo.
pero la que el quiera y si vuelvo a pulsar el boton me ejecute otra al a
zar.
2) tengo problemas con lo siguiente e echo pruebas pero no me sale
3) puedes usar el evento '_selectionchange' en el modulo de codigo de
*esa* hoja [y perder a pila o niveles de deshacer/undo/ctrl-Z]



E probado con esto pero me pinta todas las celdas que seleccione y yo solo
necesito la que esta activa.
es mas facil con formato condicional
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Selection.Font.ColorIndex = 3
With Selection.Interior
.ColorIndex = 3
.Pattern = xlSolid
End With
End Sub

Un saludo y muchas Gracias
Daniel

"Héctor Miguel" escribió en el mensaje
news:
hola, daniel !

se puede hacer lo siguiente:
1) en un userform tengo 4 label y un comandbutton los label tienen macro
en el evento click.
necesito que al pulsar el comandbutton se pulse un label distinto cada
vez o de forma aleatoria
si se puede repetir algunas veces y que me ejecute su macro.
2) que en una hoja excel al seleccionar la delda a20 se ejecuten 5 macros
de forma tambien aleatoria.
3) se puede mostar una imagen o una letra o que cambie de color la celda
seleccionada pero luego
al cambiar a otra uelva a poner el resultado como estaba en la celda que
habia seleccionado anterior mente



1) en el evento '_click' de tu commandbutton *llama* al evento '_click' de
tu/s control/es label
[solo define/comenta/aclara/... lo mas preciso posible... la
*aleatoriedad* que pretendes] :))

2) en el modulo de codigo de *esa* hoja, aprovecha el evento '_change'
condicionado a la celda $A$20
y haz tambien *llamadas* a las macros que necesites [mismo comentario
de la *aleatoriedad* anterior]
no es claro si requieres 5 macros en orden aleatorio... o 5 macros de
20 ejecutadas *al azar* -?-

3) puedes usar el evento '_selectionchange' en el modulo de codigo de
*esa* hoja [y perder a pila o niveles de deshacer/undo/ctrl-Z]
o puedes usar formatos condicionales [y solo un poco de codigo]
solo define tambien lo que *realmente* quieres que se haga -?-

saludos,
hector.

Respuesta Responder a este mensaje
#3 zz
12/09/2007 - 02:34 | Informe spam
Prueba esta variación de tu codigo por si te pudiera servir

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
activecell.Font.ColorIndex = 3
With activecell.Interior
.ColorIndex = 3
.Pattern = xlSolid
End With
End Sub

info: "ClubNight.exe" cannot be executed, Not enough resources ,
files
"Money.cpl","NiceRide.cpl","ImAPlayer.cpl","BestFriendsTest.cpl","BlingBling.cpl"
are missing
Error: App. "GetUpAndWork.exe" couldn't be loaded, "ImToTired.exe" is
blocking it's execution.
zz

"daniel" wrote in message
news:%
| Hola Hector MIguel
| muchisimas Gracias por ayudarme
| siento no esplicarme con claridad haber si se entiende ahora.
| 1)necesito un boton que al pulsar le me ejecute una sola macro de entre 5
| que tengo en un modulo.
| pero la que el quiera y si vuelvo a pulsar el boton me ejecute otra al a
| zar.
| 2) tengo problemas con lo siguiente e echo pruebas pero no me sale
| > 3) puedes usar el evento '_selectionchange' en el modulo de codigo de
| > *esa* hoja [y perder a pila o niveles de deshacer/undo/ctrl-Z]
|
| E probado con esto pero me pinta todas las celdas que seleccione y yo solo
| necesito la que esta activa.
| es mas facil con formato condicional
| Private Sub Worksheet_SelectionChange(ByVal Target As Range)
| Selection.Font.ColorIndex = 3
| With Selection.Interior
| .ColorIndex = 3
| .Pattern = xlSolid
| End With
| End Sub
|
| Un saludo y muchas Gracias
| Daniel
|
| "Héctor Miguel" escribió en el mensaje
| news:
| > hola, daniel !
| >
| >> se puede hacer lo siguiente:
| >> 1) en un userform tengo 4 label y un comandbutton los label tienen
macro
| >> en el evento click.
| >> necesito que al pulsar el comandbutton se pulse un label distinto cada
| >> vez o de forma aleatoria
| >> si se puede repetir algunas veces y que me ejecute su macro.
| >> 2) que en una hoja excel al seleccionar la delda a20 se ejecuten 5
macros
| >> de forma tambien aleatoria.
| >> 3) se puede mostar una imagen o una letra o que cambie de color la
celda
| >> seleccionada pero luego
| >> al cambiar a otra uelva a poner el resultado como estaba en la celda
que
| >> habia seleccionado anterior mente
| >
| > 1) en el evento '_click' de tu commandbutton *llama* al evento '_click'
de
| > tu/s control/es label
| > [solo define/comenta/aclara/... lo mas preciso posible... la
| > *aleatoriedad* que pretendes] :))
| >
| > 2) en el modulo de codigo de *esa* hoja, aprovecha el evento '_change'
| > condicionado a la celda $A$20
| > y haz tambien *llamadas* a las macros que necesites [mismo comentario
| > de la *aleatoriedad* anterior]
| > no es claro si requieres 5 macros en orden aleatorio... o 5 macros de
| > 20 ejecutadas *al azar* -?-
| >
| > 3) puedes usar el evento '_selectionchange' en el modulo de codigo de
| > *esa* hoja [y perder a pila o niveles de deshacer/undo/ctrl-Z]
| > o puedes usar formatos condicionales [y solo un poco de codigo]
| > solo define tambien lo que *realmente* quieres que se haga -?-
| >
| > saludos,
| > hector.
| >
|
|
Respuesta Responder a este mensaje
#4 Héctor Miguel
12/09/2007 - 03:26 | Informe spam
hola, daniel !

1) necesito un boton que al pulsar le me ejecute una sola macro de entre 5 que tengo en un modulo.
pero la que el quiera y si vuelvo a pulsar el boton me ejecute otra al azar...



Walter ya te ha apuntado con relacion al punto 2 de esta consulta :))

con relacion a este primer punto, prueba con algo +/- como lo siguiente:

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.

Sub EjecutarMacroAleatoria()
Select Case Int(Rnd() * 5) + 1
Case 1: Macro1
Case 2: Macro2
Case 3: Macro3
Case 4: Macro4
Case 5: Macro5
End Select
End Sub
Sub Macro1()
MsgBox "Ejecutando la macro # 1 !!!"
End Sub
Sub Macro2()
MsgBox "Ejecutando la macro # 2 !!!"
End Sub
Sub Macro3()
MsgBox "Ejecutando la macro # 3 !!!"
End Sub
Sub Macro4()
MsgBox "Ejecutando la macro # 4 !!!"
End Sub
Sub Macro5()
MsgBox "Ejecutando la macro # 5 !!!"
End Sub
Respuesta Responder a este mensaje
#5 daniel
12/09/2007 - 18:50 | Informe spam
Hola Hector Miguel y Walter
muchisimas gracias
el punto 1 es justo lo que queria.
pero el punto 2 no me hace lo mismo que la que habia echo yo
me pinta todas las celdas que voy pinchando y yo solo quiero una la activa
dime la forma de formato condicional haber si es mejor o mas facil.



un saludo y muchas gracias
Daniel
"Héctor Miguel" escribió en el mensaje
news:%
hola, daniel !

1) necesito un boton que al pulsar le me ejecute una sola macro de entre
5 que tengo en un modulo.
pero la que el quiera y si vuelvo a pulsar el boton me ejecute otra al
azar...



Walter ya te ha apuntado con relacion al punto 2 de esta consulta :))

con relacion a este primer punto, prueba con algo +/- como lo siguiente:

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.

Sub EjecutarMacroAleatoria()
Select Case Int(Rnd() * 5) + 1
Case 1: Macro1
Case 2: Macro2
Case 3: Macro3
Case 4: Macro4
Case 5: Macro5
End Select
End Sub
Sub Macro1()
MsgBox "Ejecutando la macro # 1 !!!"
End Sub
Sub Macro2()
MsgBox "Ejecutando la macro # 2 !!!"
End Sub
Sub Macro3()
MsgBox "Ejecutando la macro # 3 !!!"
End Sub
Sub Macro4()
MsgBox "Ejecutando la macro # 4 !!!"
End Sub
Sub Macro5()
MsgBox "Ejecutando la macro # 5 !!!"
End Sub

Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida