Buenos días experto. Estoy iniciándome en eso de las macros en excel y ya las domino. Ahora deseo ejecutar una macro dependiendo del valor de lo escrito en una celda activa, lo que deseo hacer, si la celda activa es la zz15, es Private Sub Worksheet_SelectionChange(ByVal Target As Range) if zz15 = "carlos" call macro 10 then elseif zz15 = "eduardo" call macro 11 then
... ... end if end sub Espero haberme explicado y así mismo, que me puedas ayudar. Saludos
1 respuesta
Respuesta de worshest
1
1
worshest, Ciencias resolucion de cualquier tipo de problemas numericos de...
Aummm bueno espero captar tu idea pero para empezar crearemos una macro y veremos sus códigos: Para observar los códigos de una macro debemos de seguir los siguientes pasos: Primeramente trasládese a la celda A5 antes de empezar la grabación de la Macro Presione el Botón Grabar Macro de la barra de Herramientas Visual Basic. Excel muestra el cuadro de Dialogo Grabar Macro En la opción Método Abreviado escriba la letra r, por lo tanto la macro se llamara con Control + r Presione el botón Aceptar. Excel inicia la grabación del la Macro1 Trasládese ala celda A1 y escriba Fer, después presione Enter para aceptar el valor en la celda Pare la grabación de la macro presionando el botón Detener Grabación de la barra de herramientas Visual Basic. Excel a grabado los pasos y ha generado un código, Observémoslos: Presione la tecla Alt + la tecla de función F11(Alt + F11). Excel nos traslada al Editor de Visual Basic. Si este editor no se activa es que Excel no esta bien instalado o se ha borrado. También puede acceder desde el Menú Herramientas, Macro y Editor de Visual Basic. Active los siguientes cuadros o ventanas: De clic en el Menú Ver y elija la opción Explorador de Proyectos De clic en el Menú ver y elija la opción Ventana Propiedades Estas dos opciones deben de estar siempre activadas ya que de ahí depende todo lo que vallamos a hacer. Del cuadro Proyecto de doble clic en Módulos o simplemente presione el signo de + que aparece en la opción Módulos. Se activara debajo de Módulos la Opción Modulo1 De doble clic en Modulo1. Se mostrara en el Editor de Visual Basic el código de la macro que grabamos de la siguiente forma: Sub Macro1() ' ' Macro1 Macro ' Macro grabada el 08/04/2001 por Fer Treviño ' ' Acceso directo: CTRL+r ' Range("A1").Select ActiveCell.FormulaR1C1 = "Fer" Range("A2").Select End Sub Y pues si tienes alguna pregunta sobre el código te recuerdo que Sub y End Sub) indican el inicio y el final del procedimiento de la Macro1 Todo lo que aparece con un apostrofe ´ indica que no se tomara en cuenta que es solo texto o comentarios y ese texto debe de aparecer en un color, ya sea el color verde. Range("A1")Select) Indica que lo primero que hicimos al grabar la macro fue trasladarnos a la celda A1. La orden Range nos permite trasladarnos a una celda ActiveCell.FormulaR1C1 = "Fer" Esto indica que se escribirá en la celda en que se encuentra el valor de texto Fer. Todo lo que aparece entre comillas siempre será un valor de texto. La orden ActiveCell. FormulaR1C1 nos permite escribir un valor en la celda activa. Range("A2").Select Otra vez indicamos que se traslade a la celda A2. Esto se debe a que cuando escribimos el nombre de Ramón en A1 presionamos Enter y al dar Enter bajo a la celda A2 Si quieres un poco más de explicación te recomiendo bajarte un tutorial hay muchísimos en google =)
Buenos días worshest. Gracias por tu respuesta, me ha dado más ideas para resolver otros casos más. Solo una pregunta, La orden ActiveCell.FormulaR1C1 nos permite escribir un valor en la celda que esta en fila 1, ¿columna 1? Saludos.
Conocer un poco de ingles ayuda mucho ^_^ Mira ActiveCell. FormulaR1C1 = activar (active) = Cell (celda) =R1 = Row 1 = linea uno (fila) =C1 = Column 1 = comumna 1 espero te sirva =)