
Este mensaje me llamo mucho la atención para lo cual decidà crear el presente artÃculo ya que además de ofrecerle la ayuda a Antonio, también podrÃa servir para muchas otras personas que a diario trabajan con Excel con hojas de cálculo muy avanzadas y pensando a la vez en la forma de prevenir a usuarios de ejecutar algo que podrÃa traer consecuencias que alteren de alguna manera los datos con que se trabaja.
Lo siguiente funciona combinando cualquier macro que hayamos creado con un poco de código de programación de Visual Basic para Excel.
Cómo ya expliqué en una artÃculo anterior (Qué son las macros), antes de proceder a insertar el siguiente código debemos de crear la macro que vamos a ejecutar si X condición se da, en este caso mediante la intervención del usuario quien será el que decidirá si se ejecutará la macro o no.
El siguiente código hace que cualquier grupo de celdas que seleccionemos se rellenen de color amarillo.
With Selection.Interior
.ColorIndex = 6
.Pattern = xlSolid
End With
Claro está que el código podrÃa ser cualquiera de acuerdo al tipo de macros que ustedes creen, el cual para verlo tendrÃan que ver el Editor de Visual Basic especificamente en el módulo del libro que la contenga.
Luego para hacer que nos aparezca un mensaje antes de ejecutar cualquier macro tendrÃamos que hacer uso del siguiente código:
YesNo = MsgBox("Esta macro podria ... seguro que quiere continuar?", vbYesNo + vbCritical, "Advertencia")
Select Case YesNo
Case vbYes
With Selection.Interior
.ColorIndex = 6
.Pattern = xlSolid
End With
Case vbNo
MsgBox ("Operación cancelada")
End Select
En lo anterior hemos podido ver que se ha añadido una parte de código que hará la evaluación de acuerdo a la respuesta del usuario (Sà o No).
Que sucederá: Cuando el usuario ejecute la macro aparecerá un mensaje que le avisará que ejecutar la macro podrÃa ejecutar X acción, y le presentará dos botones adicionales, Sà y No. Si el usuario presiona Sà las celdas marcadas se rellenarán de color amarillo, de lo contrario aparecerá un mensaje que dirá Operación cancelada, y la macro no se ejecutará.
En el caso anterior, para personalizar este código se deberÃa reemplazar el código marcado anteriormente en negrita, con el código completo de la macro que ustedes hayan creado, y personalizar el mensaje por uno que ustedes quieran.
Finalmente el código completo lucirÃa como el siguiente:
Sub Color()
'
' Color Macro
' Macro grabada el 14/08/2007 por Mario Pérez
'
'
YesNo = MsgBox("Esta macro podria ... seguro que quiere continuar?", vbYesNo + vbCritical, "Advertencia")
Select Case YesNo
Case vbYes
With Selection.Interior
.ColorIndex = 6
.Pattern = xlSolid
End With
Case vbNo
MsgBox ("Operación cancelada")
End Select
'
End Sub
Más explicación podrÃa confundirlos, asi que espero que haya sido fácil de entender. Sólo resta que hagan el procedimiento y vean los resultados para comprender a totalidad este ejemplo.
Antonio, creo que esto es lo que necesitabas saber, espero que te sirva y haya sido de utilidad este artÃculo para ti y muchas personas más.
esta informacion era la que estaba buscando, gracias amigo
ResponderEliminarQuiero aser un programa que donde visual basic 6 mande informacion a Excel microsoft sin abrir el acribo y manejar las macros que tenga dico archivo de excel.
ResponderEliminarDisculpa las molestias no entiendo como colocar una funcion en excel sin tener que abrir el archi de origen me podrias ayudar gracias
ResponderEliminarNo entendí claramente a que te referías lcl, podrías dar mayores detalles?
ResponderEliminarHola
ResponderEliminarNecesito crear un procedimiento con macros que me ayude a reconocer el idioma del sistema operativo y poder asi asignar una varibale dependiedo del idioma.
Vi esta pagina y me parecio qu ed epronto alguien podria ayudrame a resovler este inconveniente
mucha gracias
en Excel
ResponderEliminarBuenas tardes necesito que me auxilien quisiera saber si se puede ejecutar una macro en excel sin que se abra el libro solamente que se abra la macro no se si me explique.. de no ser asi que si al darle dobre click al documento donde esta la macro me abra directamente la macro pero que no me muestre el contenido del libro o documento..
ResponderEliminarDe antemano Muchas gracias
Hola un saludo tengo que hacer un control de facturas semanal ingresando 7 u 8 facturas diarias con los articulos vendidos restando lo que queda en existencia y a la vez entregar un informe lo quiero hacer en exel pero tengo problemas con los macros ¿me puedes ayudar
ResponderEliminarde antemano gracias
este codigo es buenisimo
ResponderEliminarGracias
ELOY CRIOLLO
Muy buen aporte, estaba buscando este dato para hacer las macros en mi programita de contabilidad :lol: :lol: :lol: :lol:
ResponderEliminarEstimados tengo una macro que ejecuta una encuesta y guarda informacion de personas , como puedo hacer para que cuando vuelva a ingresar un nombre de una persona que ya existe la macro me avise
ResponderEliminarde ante mano gracias por su ayuda.