Excelente video y material Ing. Sergio.- Cada vez que necesito una consulta específica entro a tu canal y ahí está la solución.- Gracias una vez más por compartir y enseñar.
me han sido muy utiles tus videos ya casi logro terminar mi sistema de mi negocio lo unico a lo que no me gusta entrarle es a las formulas matriciales pero de ahi en fuera a ti es al que mejor le entiendo las explicaciones
bro me eh suscrito y aprendido mucho de ti eres un crack! espero y sigas asi bro me has ayudado mucho pero ahora esoty atorado en un programa, crees que me puedas ayudar con generar un mini projecto, mira te explico tengo 1 escaner (lector de codigos). quiero hacer una lista o levantamiento de pedidos y que se vallan guardando en una bd en este caso access hasta ahi ya lo tengo pero no se como hacerle si llevo una lista y con el mismo escaner poder estando cerrando pedidos al mismo tiempo que crees o que me recomiendas usar espero y me puedas ayudar amigo y felicitaciones por tu canal muy bueno! saludos desde acuna coahuila!
Excelente aporte, lo utilicé en para lanzar un formulario con un Textbox para la búsqueda y un Listbox para desplegar el resultado, el cual lo saca de la hoja artículo, mi pregunta, aprovechando, cómo puedo hacer para que al dar doble clic en el resultado del listbox me aplique el item seleccionado y lo ponga en la celda desde donde llame el formulario? ojalá y me pudieras orientar, o si ya tienes algún video sobre eso para verlo. un cordial saludo.
Buenos días Sergio, me encantan tus vídeos lo explicas todo genial. Tengo una consulta acerca de este vídeo, se podría seleccionar celdas que estuvieran dentro de una tabla específica?? Como se puede hacer?? Muchas gracias Sigue haciendo estos vídeos tan maravillosos aprendemos mucho con ellos
Sergio, espero te encuentres bien, tengo una consulta y espero contar con tu valioso apoyo, tengo una macro con worksheet change, y son al ingresar datos en 4 celdas por lo cual ocupo 4 if pero aun no encuentro la manera para que corran las 4 ese decir ejemplo la si en en el rango "A:A" en cualquier fila se le.captura la fecha y cambia de no tener nada a tener una fecha corre la primer macro es decir va aunado a un call en este caso el sub es formular, despues en el rango k:k es lo mismo si se le captura el.numero de orden de compra correra una macro diferente entonces ya tengo los 4 subs y he intentado hacer la macro en la.hoja1 con worsheet change pero me pide bloque with o seleccionar objeto, espero me.puedas ayudar con eso son 4 rangos que si se les captura datos en cualquier fila llamarán un sub en otro modulo gracias por tus aportes 👍
Gracias por la enseñanza, quisiera que haga un video para insertar hora actual en la celda seleccionada, pero antes realize una pregunta si selecciono si pues que me inserte caso contrario no..le agradezco otra .....bendiciones
Se puede reducir el código omitiendo la variable CeldaActiva, así: If Not Intersect(Target, Range("A10:A17, B10, D10:D21")) Is Nothing Then MsgBox "Has seleccionado la celda " & Target.Address End If
Hola excelente aporte, se asemeja a lo que deseo, yo deseo sacar un recordatorio o alerta como el tuyo, pero así: yo ingreso la fecha de un documento en un la celda A1, en b1 tengo una fecha en que se entrega ese documento, en c1 tengo una comparación y a través de la función SI genero un mensaje y el cambio el color de la celda si la fecha del documento es mayor a la fecha de entrada deseo hacer eso con un mensaje de recordatorio como el que muestras cuando en la celda c1 se genere el mensaje de validación, lo que deseo es que se genere cuando digte las fechas en tiempo real
Muy buena explicación. Por favor si me puede colaborar. Necesito que se ejecute una macro cuando una celda no esta en blanco, es decir, que se ejecute la macro que tengo para ajustar una celda apenas intruduzca un texto en una distinta que le envia información a la otra con una fórmula buscarv.
Excelente video y explicación, pero tengo una DUDA,- podría ocupar esta macro para disparar otra que visualice un Userform donde quiero que aparezca información de algunas bases de datos externas dependiendo el nombre de la celda a la izquierda donde se especifica el nombre de la Base de Datos escogida, crees que sea posible me ayudes a obtener la macro correcta, gracias, espero tu comentario y ayuda. se que puedes Sensei.......
Excelente Sergio, una pregunta, como hacer para utilizar estos códigos, que al dar click en una celda, en vez de sacar el mensaje salga un formulario, sacando todos los datos de esa fila? Muchas gracias por las enseñanzas y pendiente de tu respuesta.
Buenos días Sergio: Quería consultarte como sería la macro si en lugar de mostrar un mensaje con la ubicación leyera el valor de la celda y lo usara para filtrar una tabla dinámica. Me bastaría saber cómo sería el código vba con valores de un rango en una sola columna.
Mira tengo este codigo Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("B13:P72")) Is Nothing Then Range(Target.Address).AddComment Text:="CELDA MODIFICADA" End If End Sub Gracias...por tu pronta rspuesta
hola buenos días, gracias por compartir tus conocimientos,me han ayudado en mis practicas, tengo una pregunta, como selecciono celdas no continuas e ingresarles diferentes valores por medio de macros, por ejemplo: a1, b2, c3,.........que evento necesito usar para que la macro funcione, gracias, buen dia
hola sergio , una cosulta cuando genero un archivo nuevo usando el mismo codigo , y claro tenientdo cuidado en la s hojas y el nombre del formulario me sale error 424, esto no me permite avanzar en el apredizaje y en la realizacion de un pequeño proyecto que tengo. de antemano gracias por su ayuda
Estimado Sergio, excelente video, tengo una inquietud, que código puedo utilizar para que recorrer celdas seleccionadas discontinuas y en este proceso ejecute una acción, por su gentil atención le quedo muy agradecido
HOLA, ESPERO ME PUEDAS AYUDAR, ESTOY COPIANDO DATOS DE UN LIBRO A OTRO MEDIANTE UNA MACRO PERO MI PROBLEMATICA ESTA EN QUE NECESITO QUE SE EJECUTE EN LA CELDA QUE SELECCIONE ME REFIERO LA MISMA INFORMACION EN DIFERENTES TABLAS POR FECHA, NO PUEDO DEFINIRLE UNA CELDA POR QUE DIA A DIA SE GENERAN NUEVOS RECUADROS CON FECHA, ESPERO ME PUEDAS AYUDAR
Muy interesante, muchas gracias. Como puedo resolverlo si en una columna por ejemplo " G" al seleccionar una fila ( G2 ó G3 ó G4) y se deja vacía permita dejar el dato que se encuentra en otra columna de la misma fila ( B2, B3 ó B4), pero si se modifica (G2, ó G3 ó G4), rescate una formula en la columna de la misma fila (B2, B3 ó B4). Tienes el código.. mil gracias
hola te hago una pregunta? como hago esto: hacer una macro que borre la validación de datos en la o las celdas que esten seleccionadas (pintadas) con un boton es decir, por ej selecciono un ramgo en particular, apreto un boton y me borra la validación de datos en ese rango
Hola Dan. Como lo haría es, grabo una macro donde selecciono una celda con validación, entro al formulario donde la configuré, borro la validación y después veo el código generado.
Hola Segio como puedo utilizar esta macro para que la seleccion sea automatica una tras otra?. Ej: si yo quisiera primero elegir desde la A1 hasta la A10 y luego desde la A11 hasta la A20 pero que se realice de forma automatica cuantas veces sean necesaias?
Excelentes videos MVP Sergio, pregunta: Donde puedo obtener todas las funciones de vba? para poder descargarlas, muchas gracias por esos magníficos videos
Buenas tardes, gracias por el tutorial. Tome como base el tutorial de activar la macro al seleccionar una celda para llamar un formulario, y funciona bien cuando lo hago en una ceda de la hoja, sin embargo, intente hacer lo mismo pero para que se active al seleccionar una celda de una tabla que se encuentra en la hoja, pero no funciona, puede por favor ayudarme?
Cómo puedo activar Macros con Validación de Datos al momento de cambiar la celda ACTIVADO ó DESACTIVADO, y consecutivamente activar/desactivar el macro, saludos y gracias.
Ing. Sergio cómo puedo hacer que una celda ponga la "dirección" (función "dirección) de una celda y automáticamente me posicione sobre ella? Ejemplo en celda A1 me aparece la "dirección" de celda $D$15 y que automáticamente me envíe a dicha celda ($D$15). De antemano gracias.
Hola como puedo hacer la siguiente seleccion Quiero que la macro seleccione un rango desde A1:AN*** en la fila de AN sea igual al final de la columna A pero encontrando el caracter "" lo que pasa es que en mi columna hay una formula hasta bien abajo pero con la funcion si, si no encuentra nada que arroje "" entonces no se como seleccionar este rango
Don Sergio cómo usar este procedimiento para cada hoja del libro excel sin tener q escribir el código en cada módulo de cada hoja?? Y que sea usado en cada hoja de un libro que no esté habilitado para macros..??
Tengo una actividad parecida pero no puedo hacerla me piden un botón el cual ordene los datos de la columna en donde coloque el cursor , debe crearse de referencia relativa de manera que al colocarse en la columna (ejemplo) nombre sortee la columna alfabéticamente de la A a la z o de menor a mayor y cuando cambie de columna lo realice automáticamente
hola buenos días, realice un formulario en excel y quiero que al dar enter, el cursor cambie por ejemplo de la celda $x$3 a la celda $z$12 y sucesivamente
Hola, para eso no hace falta una macro. Sólo desbloques las celdas que deseas que se elijan al dar enter. Da clic derecho en Formato de celdas y en la pestaña Proteger desmarca Bloqueada. Luego proteges la hoja en la pestaña Revisar > Proteger hoja.
Buenas noches, gracias por compatir tus conocimientos. Me gustaría saber si hay alguna forma para seleccionar el rango, por ejemplo, "B10:F23", Teniendo en cuenta que el dato "F23" puede variar ya que tengo una tabla que cambia de tamaño. Es decir que mi tabla puede tener datos desde B10 a F23 o desde B10 a F58. Desde ya muchas gracias!
Una consulta. He Creado varias MACROS en una hoja de excel, que la tomo como modelo, ya que es de un mes (Enero), entonces, voy copiando esa hoja para los meses siguientes (de febrero a diciembre) en el mismo libro. Pero las MACROS que he creado no se copian, es decir vuelven a la referencia de la primera hoja únicamente. Necesito saber cómo hago para que se copien también las macros, y las referencias sean a las nuevas hojas y se ejecutan de manera independiente por cada mes, del mismo libro de Excel? GRACIAS
+florencio malqui rodriguez Hola. Tienes dos opciones, poner el código VBA en cada una de las hojas (botón derecho en la pestaña - ver código), o que tu macro haga referencia a la hoja que tengas activa (activesheet.range...).
Esta es la información: Microsoft Excel Objetos: - Hoja 1 (Data) - Hoja 2 (Consolidado) Módulos:: - Modulo 1 En el Modulo 1 tengo esta macro: Public tope As Long Sub DejamosComoEstuvo() On Error GoTo falla tope = Range("c65536").End(xlUp).Row Range("A9:A" & tope).SpecialCells(xlCellTypeBlanks).EntireRow.Delete Exit Sub falla: End Sub Sub separamos() Fila = 9 Do If (Cells(Fila, "L").Value >= 700) Or (Cells(Fila, "L").Value = 0) Then Cells(Fila, "A").EntireRow.Insert Cells(Fila + 2, "A").EntireRow.Insert Fila = Fila + 3 ElseIf (Cells(Fila - 1, "b").Value Cells(Fila, "b").Value) And (Cells(Fila - 1, "b").Value "" And Cells(Fila, "b").Value "") Then Cells(Fila, "A").EntireRow.Insert Fila = Fila + 2 Else Fila = Fila + 1 End If Loop Until Cells(Fila, "b").Value = "" tope = Range("c65536").End(xlUp).Row + 1 End Sub Sub consolidamos() Hoja2.Rows("9:65536").Clear Range("E8").Select Do If inicia = "" Then inicia = 9 CeldaTermino = Columns("E:E").Find(What:="", After:=ActiveCell.Offset(1, 0), LookIn:=xlValues, LookAt:= _ xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _ False, SearchFormat:=False).Select ' ActiveCell.Interior.Color = vbBlue hasta = ActiveCell.Row - 1 With Hoja2.Range("A65536").End(xlUp) .Offset(1, 0).Formula = "RV-" & Format(.Offset(1, 0).Row - 8, "000") '"=" & Hoja1.Name & "!" & Cells(inicia, "A").Address(0, 0) .Offset(1, 1).Formula = "=" & Hoja1.Name & "!" & Cells(inicia, "B").Address(0, 0) .Offset(1, 2).Formula = "=" & Hoja1.Name & "!" & Cells(inicia, "C").Address(0, 0) .Offset(1, 3).Formula = "=" & Hoja1.Name & "!" & Cells(inicia, "D").Address(0, 0) .Offset(1, 4).Formula = "=" & Hoja1.Name & "!" & Cells(inicia, "E").Address(0, 0) .Offset(1, 5).Formula = "=max(" & Hoja1.Name & "!" & Range(Cells(inicia, "E"), Cells(hasta, "E")).Address & ")" If .Offset(1, 5).Value = .Offset(1, 4).Value Then .Offset(1, 5).ClearContents .Offset(1, 6).Formula = "=" & Hoja1.Name & "!" & Cells(inicia, "G").Address(0, 0) If .Offset(1, 6).Value = 0 Then .Offset(1, 6).Value = "" .Offset(1, 7).Formula = "=" & Hoja1.Name & "!" & Cells(inicia, "H").Address(0, 0) If .Offset(1, 7).Value = 0 Then .Offset(1, 7).Value = "" .Offset(1, 8).Formula = "=" & Hoja1.Name & "!" & Cells(inicia, "I").Address(0, 0) .Offset(1, 9).Formula = "=sum(" & Hoja1.Name & "!" & Range(Cells(inicia, "J"), Cells(hasta, "J")).Address & ")" .Offset(1, 10).Formula = "=sum(" & Hoja1.Name & "!" & Range(Cells(inicia, "K"), Cells(hasta, "K")).Address & ")" .Offset(1, 11).Formula = "=sum(" & Hoja1.Name & "!" & Range(Cells(inicia, "L"), Cells(hasta, "L")).Address & ")" End With inicia = hasta + 2 If Cells(inicia, "A").Value = "" Then inicia = inicia + 1 If Cells(ActiveCell.Row, "E").Row = tope Then Exit Sub
Loop Until CeldaTermino = Fin End Sub Sub Pocesa() With Application .ScreenUpdating = False .Calculation = xlCalculationManual Call DejamosComoEstuvo Call separamos Call consolidamos Call DejamosComoEstuvo .ScreenUpdating = True .Calculation = xlCalculationAutomatic End With MsgBox "Proceso terminado." & Chr(13) & "Puede ver el resultado en la hoja de nombre Consolidado", vbInformation, "PROCESO TERMINADO" Hoja2.Select Range("E2").Select End Sub Le agradezco por su ayuda. Le alcanzo mi correo: florenciomalqui@hotmail.com BENDICIONES.
Esta es la información: Microsoft Excel Objetos: - Hoja 1 (Data) - Hoja 2 (Consolidado) Módulos:: - Modulo 1 En el Modulo 1 tengo esta macro: Public tope As Long Sub DejamosComoEstuvo() On Error GoTo falla tope = Range("c65536").End(xlUp).Row Range("A9:A" & tope).SpecialCells(xlCellTypeBlanks).EntireRow.Delete Exit Sub falla: End Sub Sub separamos() Fila = 9 Do If (Cells(Fila, "L").Value >= 700) Or (Cells(Fila, "L").Value = 0) Then Cells(Fila, "A").EntireRow.Insert Cells(Fila + 2, "A").EntireRow.Insert Fila = Fila + 3 ElseIf (Cells(Fila - 1, "b").Value Cells(Fila, "b").Value) And (Cells(Fila - 1, "b").Value "" And Cells(Fila, "b").Value "") Then Cells(Fila, "A").EntireRow.Insert Fila = Fila + 2 Else Fila = Fila + 1 End If Loop Until Cells(Fila, "b").Value = "" tope = Range("c65536").End(xlUp).Row + 1 End Sub Sub consolidamos() Hoja2.Rows("9:65536").Clear Range("E8").Select Do If inicia = "" Then inicia = 9 CeldaTermino = Columns("E:E").Find(What:="", After:=ActiveCell.Offset(1, 0), LookIn:=xlValues, LookAt:= _ xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _ False, SearchFormat:=False).Select ' ActiveCell.Interior.Color = vbBlue hasta = ActiveCell.Row - 1 With Hoja2.Range("A65536").End(xlUp) .Offset(1, 0).Formula = "RV-" & Format(.Offset(1, 0).Row - 8, "000") '"=" & Hoja1.Name & "!" & Cells(inicia, "A").Address(0, 0) .Offset(1, 1).Formula = "=" & Hoja1.Name & "!" & Cells(inicia, "B").Address(0, 0) .Offset(1, 2).Formula = "=" & Hoja1.Name & "!" & Cells(inicia, "C").Address(0, 0) .Offset(1, 3).Formula = "=" & Hoja1.Name & "!" & Cells(inicia, "D").Address(0, 0) .Offset(1, 4).Formula = "=" & Hoja1.Name & "!" & Cells(inicia, "E").Address(0, 0) .Offset(1, 5).Formula = "=max(" & Hoja1.Name & "!" & Range(Cells(inicia, "E"), Cells(hasta, "E")).Address & ")" If .Offset(1, 5).Value = .Offset(1, 4).Value Then .Offset(1, 5).ClearContents .Offset(1, 6).Formula = "=" & Hoja1.Name & "!" & Cells(inicia, "G").Address(0, 0) If .Offset(1, 6).Value = 0 Then .Offset(1, 6).Value = "" .Offset(1, 7).Formula = "=" & Hoja1.Name & "!" & Cells(inicia, "H").Address(0, 0) If .Offset(1, 7).Value = 0 Then .Offset(1, 7).Value = "" .Offset(1, 8).Formula = "=" & Hoja1.Name & "!" & Cells(inicia, "I").Address(0, 0) .Offset(1, 9).Formula = "=sum(" & Hoja1.Name & "!" & Range(Cells(inicia, "J"), Cells(hasta, "J")).Address & ")" .Offset(1, 10).Formula = "=sum(" & Hoja1.Name & "!" & Range(Cells(inicia, "K"), Cells(hasta, "K")).Address & ")" .Offset(1, 11).Formula = "=sum(" & Hoja1.Name & "!" & Range(Cells(inicia, "L"), Cells(hasta, "L")).Address & ")" End With inicia = hasta + 2 If Cells(inicia, "A").Value = "" Then inicia = inicia + 1 If Cells(ActiveCell.Row, "E").Row = tope Then Exit Sub
Loop Until CeldaTermino = Fin End Sub Sub Pocesa() With Application .ScreenUpdating = False .Calculation = xlCalculationManual Call DejamosComoEstuvo Call separamos Call consolidamos Call DejamosComoEstuvo .ScreenUpdating = True .Calculation = xlCalculationAutomatic End With MsgBox "Proceso terminado." & Chr(13) & "Puede ver el resultado en la hoja de nombre Consolidado", vbInformation, "PROCESO TERMINADO" Hoja2.Select Range("E2").Select End Sub Le agradezco por su ayuda. Le alcanzo mi correo: florenciomalqui@hotmail.com BENDICIONES. Mostrar menos RESPONDER
No puedo amigo,,porque de repente no puedo explicartelo bien y ademas quiero enviarte un video donde trato de explicar... se trata de un aplicativo que hice en excel para matricualr a mis alumnitos en red... o en todo caso a traves de la web, pues he visto que se puede hacer...pero previo codigo...que yo no se hacer Saludos
Excelente video y material Ing. Sergio.- Cada vez que necesito una consulta específica entro a tu canal y ahí está la solución.- Gracias una vez más por compartir y enseñar.
Una claridad excepcional en las explicaciones
me han sido muy utiles tus videos ya casi logro terminar mi sistema de mi negocio lo unico a lo que no me gusta entrarle es a las formulas matriciales pero de ahi en fuera a ti es al que mejor le entiendo las explicaciones
Te agradezco el comentario. Me gusta aplicar mis vivencias en los vídeos.
Saludos desde Bolivia, muy bueno el aporte, felicidades.
Como siempre, Sergio, interesantes e instructivos tus videos. Gracias.
+Antonio8688 Gracias por comentar.
excelente maestro muchas gracias se que todo me va a servir de gran ayuda
Te agradezco el comentario Alexander. No olvides compartir con tus amigos.
Excelente vídeo, gracias por compatir sus conocimientos.
+florencio malqui rodriguez Gracias por tu comentario.
Muy buen aporte....muchas gracias Sergio
+Emerson Victor A. V. Gracias por tu comentario.
Usted es de los mejores
Muchas gracias, muy bien explicado. Saludos
🇭🇳Excelente macro Sergio. 😀👍🇭🇳
justamente lo que estaba buscando
GRACIAS AMIGO BUEN VIDEO TE QUIERO
¡Gracias Sergio!
+Maria Ana Del Puerto Gracias a ti Ana.
EXCELENTE VIDEO!!
Excelente, de gran ayuda, gracias
sabes explicar muy bien, es un don.
una pregunta cual seria el evento cuando se despliega una lista de validacion en una celda'?
Gracias. El evento Change.
Muy bien explicado!
Gracias exelente
bro me eh suscrito y aprendido mucho de ti eres un crack! espero y sigas asi bro me has ayudado mucho pero ahora esoty atorado en un programa, crees que me puedas ayudar con generar un mini projecto, mira te explico tengo 1 escaner (lector de codigos). quiero hacer una lista o levantamiento de pedidos y que se vallan guardando en una bd en este caso access hasta ahi ya lo tengo pero no se como hacerle si llevo una lista y con el mismo escaner poder estando cerrando pedidos al mismo tiempo que crees o que me recomiendas usar espero y me puedas ayudar amigo y felicitaciones por tu canal muy bueno! saludos desde acuna coahuila!
Excelente aporte, lo utilicé en para lanzar un formulario con un Textbox para la búsqueda y un Listbox para desplegar el resultado, el cual lo saca de la hoja artículo, mi pregunta, aprovechando, cómo puedo hacer para que al dar doble clic en el resultado del listbox me aplique el item seleccionado y lo ponga en la celda desde donde llame el formulario? ojalá y me pudieras orientar, o si ya tienes algún video sobre eso para verlo. un cordial saludo.
Buenos días Sergio, me encantan tus vídeos lo explicas todo genial. Tengo una consulta acerca de este vídeo, se podría seleccionar celdas que estuvieran dentro de una tabla específica?? Como se puede hacer?? Muchas gracias
Sigue haciendo estos vídeos tan maravillosos aprendemos mucho con ellos
Sergio, espero te encuentres bien, tengo una consulta y espero contar con tu valioso apoyo, tengo una macro con worksheet change, y son al ingresar datos en 4 celdas por lo cual ocupo 4 if pero aun no encuentro la manera para que corran las 4 ese decir ejemplo la si en en el rango "A:A" en cualquier fila se le.captura la fecha y cambia de no tener nada a tener una fecha corre la primer macro es decir va aunado a un call en este caso el sub es formular, despues en el rango k:k es lo mismo si se le captura el.numero de orden de compra correra una macro diferente entonces ya tengo los 4 subs y he intentado hacer la macro en la.hoja1 con worsheet change pero me pide bloque with o seleccionar objeto, espero me.puedas ayudar con eso son 4 rangos que si se les captura datos en cualquier fila llamarán un sub en otro modulo gracias por tus aportes 👍
Muy interesante
Gracias por la enseñanza, quisiera que haga un video para insertar hora actual en la celda seleccionada, pero antes realize una pregunta si selecciono si pues que me inserte caso contrario no..le agradezco otra .....bendiciones
Se puede reducir el código omitiendo la variable CeldaActiva, así:
If Not Intersect(Target, Range("A10:A17, B10, D10:D21")) Is Nothing Then
MsgBox "Has seleccionado la celda " & Target.Address
End If
Hola excelente aporte, se asemeja a lo que deseo, yo deseo sacar un recordatorio o alerta como el tuyo, pero así: yo ingreso la fecha de un documento en un la celda A1, en b1 tengo una fecha en que se entrega ese documento, en c1 tengo una comparación y a través de la función SI genero un mensaje y el cambio el color de la celda si la fecha del documento es mayor a la fecha de entrada deseo hacer eso con un mensaje de recordatorio como el que muestras cuando en la celda c1 se genere el mensaje de validación, lo que deseo es que se genere cuando digte las fechas en tiempo real
Muy buena explicación. Por favor si me puede colaborar. Necesito que se ejecute una macro cuando una celda no esta en blanco, es decir, que se ejecute la macro que tengo para ajustar una celda apenas intruduzca un texto en una distinta que le envia información a la otra con una fórmula buscarv.
Por favor busca un video mío sobre el evento OnChange.
Excelente video y explicación, pero tengo una DUDA,- podría ocupar esta macro para disparar otra que visualice un Userform donde quiero que aparezca información de algunas bases de datos externas dependiendo el nombre de la celda a la izquierda donde se especifica el nombre de la Base de Datos escogida, crees que sea posible me ayudes a obtener la macro correcta, gracias, espero tu comentario y ayuda. se que puedes Sensei.......
Muchas gracias.
Muy buen video
+Alvaro Rodríguez Lasso Gracias por comentar.
Excelente Sergio, una pregunta, como hacer para utilizar estos códigos, que al dar click en una celda, en vez de sacar el mensaje salga un formulario, sacando todos los datos de esa fila? Muchas gracias por las enseñanzas y pendiente de tu respuesta.
Buenos días Sergio:
Quería consultarte como sería la macro si en lugar de mostrar un mensaje con la ubicación leyera el valor de la celda y lo usara para filtrar una tabla dinámica. Me bastaría saber cómo sería el código vba con valores de un rango en una sola columna.
Interezante video Sergio, me gustaría saber como puedo incluir un comentario a las celdas modificadas con esta macro...Gracias
+Daniel Baquero Hola. Usa esta lógica:
Range("A1"). AddComment "Texto"
Mira tengo este codigo
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("B13:P72")) Is Nothing Then
Range(Target.Address).AddComment Text:="CELDA MODIFICADA"
End If
End Sub
Gracias...por tu pronta rspuesta
hola buenos días, gracias por compartir tus conocimientos,me han ayudado en mis practicas, tengo una pregunta, como selecciono celdas no continuas e ingresarles diferentes valores por medio de macros, por ejemplo: a1, b2, c3,.........que evento necesito usar para que la macro funcione, gracias, buen dia
hola sergio , una cosulta cuando genero un archivo nuevo usando el mismo codigo , y claro tenientdo cuidado en la s hojas y el nombre del formulario me sale error 424, esto no me permite avanzar en el apredizaje y en la realizacion de un pequeño proyecto que tengo. de antemano gracias por su ayuda
Estimado Sergio, excelente video, tengo una inquietud, que código puedo utilizar para que recorrer celdas seleccionadas discontinuas y en este proceso ejecute una acción, por su gentil atención le quedo muy agradecido
HOLA, ESPERO ME PUEDAS AYUDAR, ESTOY COPIANDO DATOS DE UN LIBRO A OTRO MEDIANTE UNA MACRO PERO MI PROBLEMATICA ESTA EN QUE NECESITO QUE SE EJECUTE EN LA CELDA QUE SELECCIONE ME REFIERO LA MISMA INFORMACION EN DIFERENTES TABLAS POR FECHA, NO PUEDO DEFINIRLE UNA CELDA POR QUE DIA A DIA SE GENERAN NUEVOS RECUADROS CON FECHA, ESPERO ME PUEDAS AYUDAR
Muy interesante, muchas gracias. Como puedo resolverlo si en una columna por ejemplo " G" al seleccionar una fila ( G2 ó G3 ó G4) y se deja vacía permita dejar el dato que se encuentra en otra columna de la misma fila ( B2, B3 ó B4), pero si se modifica (G2, ó G3 ó G4), rescate una formula en la columna de la misma fila (B2, B3 ó B4). Tienes el código.. mil gracias
hola te hago una pregunta?
como hago esto:
hacer una macro que borre la validación de datos en la o las celdas que esten seleccionadas (pintadas) con un boton
es decir, por ej selecciono un ramgo en particular, apreto un boton y me borra la validación de datos en ese rango
Hola Dan. Como lo haría es, grabo una macro donde selecciono una celda con validación, entro al formulario donde la configuré, borro la validación y después veo el código generado.
@@SergioAlejandroCampos uy no se como se hace todo eso jaja
me parece muy avanzado para mi :(
No importa. Usa esta macro:
Selection.Validation.Delete
@@SergioAlejandroCampos lo voy a probar! gracias
con sub? como tendria que escribirlo?
Hola Segio como puedo utilizar esta macro para que la seleccion sea automatica una tras otra?. Ej: si yo quisiera primero elegir desde la A1 hasta la A10 y luego desde la A11 hasta la A20 pero que se realice de forma automatica cuantas veces sean necesaias?
Excelentes videos MVP Sergio, pregunta: Donde puedo obtener todas las funciones de vba?
para poder descargarlas, muchas gracias por esos magníficos videos
Hola. A qué te refieres con todas las funciones? Como un manual?
Buenas tardes, gracias por el tutorial. Tome como base el tutorial de activar la macro al seleccionar una celda para llamar un formulario, y funciona bien cuando lo hago en una ceda de la hoja, sin embargo, intente hacer lo mismo pero para que se active al seleccionar una celda de una tabla que se encuentra en la hoja, pero no funciona, puede por favor ayudarme?
Cómo puedo activar Macros con Validación de Datos al momento de cambiar la celda ACTIVADO ó DESACTIVADO, y consecutivamente activar/desactivar el macro, saludos y gracias.
Ing. Sergio cómo puedo hacer que una celda ponga la "dirección" (función "dirección) de una celda y automáticamente me posicione sobre ella? Ejemplo en celda A1 me aparece la "dirección" de celda $D$15 y que automáticamente me envíe a dicha celda ($D$15). De antemano gracias.
Hola como puedo hacer la siguiente seleccion
Quiero que la macro seleccione un rango desde A1:AN*** en la fila de AN sea igual al final de la columna A pero encontrando el caracter ""
lo que pasa es que en mi columna hay una formula hasta bien abajo pero con la funcion si, si no encuentra nada que arroje "" entonces no se como seleccionar este rango
Exelente video, pero como hago para tener dos tipos de SelectionChange en el codigo de la misma hoja.
Don Sergio cómo usar este procedimiento para cada hoja del libro excel sin tener q escribir el código en cada módulo de cada hoja?? Y que sea usado en cada hoja de un libro que no esté habilitado para macros..??
Hola y cómo se puede poner un botón, el cual debe detectar en que columna se encuentra el cursor y ordenar la tabla por esa columna?????????????
Tengo una actividad parecida pero no puedo hacerla me piden un botón el cual ordene los datos de la columna en donde coloque el cursor , debe crearse de referencia relativa de manera que al colocarse en la columna (ejemplo) nombre sortee la columna alfabéticamente de la A a la z o de menor a mayor y cuando cambie de columna lo realice automáticamente
hola buenos días, realice un formulario en excel y quiero que al dar enter, el cursor cambie por ejemplo de la celda $x$3 a la celda $z$12 y sucesivamente
Hola, para eso no hace falta una macro. Sólo desbloques las celdas que deseas que se elijan al dar enter. Da clic derecho en Formato de celdas y en la pestaña Proteger desmarca Bloqueada. Luego proteges la hoja en la pestaña Revisar > Proteger hoja.
Gracias, ando buscando una opcion que al terminar de introducir infomacion, presionar enter y me envie a una celda especifica.
Buenas noches, gracias por compatir tus conocimientos.
Me gustaría saber si hay alguna forma para seleccionar el rango, por ejemplo, "B10:F23", Teniendo en cuenta que el dato "F23" puede variar ya que tengo una tabla que cambia de tamaño. Es decir que mi tabla puede tener datos desde B10 a F23 o desde B10 a F58. Desde ya muchas gracias!
Lo que yo hice es marcar como rango toda la columna range ("D:D").Select
Una consulta. He Creado varias MACROS en una hoja de excel, que la tomo como modelo, ya que es de un mes (Enero), entonces, voy copiando esa hoja para los meses siguientes (de febrero a diciembre) en el mismo libro. Pero las MACROS que he creado no se copian, es decir vuelven a la referencia de la primera hoja únicamente. Necesito saber cómo hago para que se copien también las macros, y las referencias sean a las nuevas hojas y se ejecutan de manera independiente por cada mes, del mismo libro de Excel? GRACIAS
+florencio malqui rodriguez Hola. Tienes dos opciones, poner el código VBA en cada una de las hojas (botón derecho en la pestaña - ver código), o que tu macro haga referencia a la hoja que tengas activa (activesheet.range...).
Disculpa mi ignorancia. No entiendo. Le puedo alcanzar mi archivo para que ud. me pueda ayudar. Gracias
+florencio malqui rodriguez Pásame por aquí, si es posible, el código de tu macro.
Esta es la información:
Microsoft Excel Objetos:
- Hoja 1 (Data)
- Hoja 2 (Consolidado)
Módulos::
- Modulo 1
En el Modulo 1 tengo esta macro:
Public tope As Long
Sub DejamosComoEstuvo()
On Error GoTo falla
tope = Range("c65536").End(xlUp).Row
Range("A9:A" & tope).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
Exit Sub
falla:
End Sub
Sub separamos()
Fila = 9
Do
If (Cells(Fila, "L").Value >= 700) Or (Cells(Fila, "L").Value = 0) Then
Cells(Fila, "A").EntireRow.Insert
Cells(Fila + 2, "A").EntireRow.Insert
Fila = Fila + 3
ElseIf (Cells(Fila - 1, "b").Value Cells(Fila, "b").Value) And (Cells(Fila - 1, "b").Value "" And Cells(Fila, "b").Value "") Then
Cells(Fila, "A").EntireRow.Insert
Fila = Fila + 2
Else
Fila = Fila + 1
End If
Loop Until Cells(Fila, "b").Value = ""
tope = Range("c65536").End(xlUp).Row + 1
End Sub
Sub consolidamos()
Hoja2.Rows("9:65536").Clear
Range("E8").Select
Do
If inicia = "" Then inicia = 9
CeldaTermino = Columns("E:E").Find(What:="", After:=ActiveCell.Offset(1, 0), LookIn:=xlValues, LookAt:= _
xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
False, SearchFormat:=False).Select
' ActiveCell.Interior.Color = vbBlue
hasta = ActiveCell.Row - 1
With Hoja2.Range("A65536").End(xlUp)
.Offset(1, 0).Formula = "RV-" & Format(.Offset(1, 0).Row - 8, "000") '"=" & Hoja1.Name & "!" & Cells(inicia, "A").Address(0, 0)
.Offset(1, 1).Formula = "=" & Hoja1.Name & "!" & Cells(inicia, "B").Address(0, 0)
.Offset(1, 2).Formula = "=" & Hoja1.Name & "!" & Cells(inicia, "C").Address(0, 0)
.Offset(1, 3).Formula = "=" & Hoja1.Name & "!" & Cells(inicia, "D").Address(0, 0)
.Offset(1, 4).Formula = "=" & Hoja1.Name & "!" & Cells(inicia, "E").Address(0, 0)
.Offset(1, 5).Formula = "=max(" & Hoja1.Name & "!" & Range(Cells(inicia, "E"), Cells(hasta, "E")).Address & ")"
If .Offset(1, 5).Value = .Offset(1, 4).Value Then .Offset(1, 5).ClearContents
.Offset(1, 6).Formula = "=" & Hoja1.Name & "!" & Cells(inicia, "G").Address(0, 0)
If .Offset(1, 6).Value = 0 Then .Offset(1, 6).Value = ""
.Offset(1, 7).Formula = "=" & Hoja1.Name & "!" & Cells(inicia, "H").Address(0, 0)
If .Offset(1, 7).Value = 0 Then .Offset(1, 7).Value = ""
.Offset(1, 8).Formula = "=" & Hoja1.Name & "!" & Cells(inicia, "I").Address(0, 0)
.Offset(1, 9).Formula = "=sum(" & Hoja1.Name & "!" & Range(Cells(inicia, "J"), Cells(hasta, "J")).Address & ")"
.Offset(1, 10).Formula = "=sum(" & Hoja1.Name & "!" & Range(Cells(inicia, "K"), Cells(hasta, "K")).Address & ")"
.Offset(1, 11).Formula = "=sum(" & Hoja1.Name & "!" & Range(Cells(inicia, "L"), Cells(hasta, "L")).Address & ")"
End With
inicia = hasta + 2
If Cells(inicia, "A").Value = "" Then inicia = inicia + 1
If Cells(ActiveCell.Row, "E").Row = tope Then Exit Sub
Loop Until CeldaTermino = Fin
End Sub
Sub Pocesa()
With Application
.ScreenUpdating = False
.Calculation = xlCalculationManual
Call DejamosComoEstuvo
Call separamos
Call consolidamos
Call DejamosComoEstuvo
.ScreenUpdating = True
.Calculation = xlCalculationAutomatic
End With
MsgBox "Proceso terminado." & Chr(13) & "Puede ver el resultado en la hoja de nombre Consolidado", vbInformation, "PROCESO TERMINADO"
Hoja2.Select
Range("E2").Select
End Sub
Le agradezco por su ayuda. Le alcanzo mi correo: florenciomalqui@hotmail.com BENDICIONES.
Esta es la información:
Microsoft Excel Objetos:
- Hoja 1 (Data)
- Hoja 2 (Consolidado)
Módulos::
- Modulo 1
En el Modulo 1 tengo esta macro:
Public tope As Long
Sub DejamosComoEstuvo()
On Error GoTo falla
tope = Range("c65536").End(xlUp).Row
Range("A9:A" & tope).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
Exit Sub
falla:
End Sub
Sub separamos()
Fila = 9
Do
If (Cells(Fila, "L").Value >= 700) Or (Cells(Fila, "L").Value = 0) Then
Cells(Fila, "A").EntireRow.Insert
Cells(Fila + 2, "A").EntireRow.Insert
Fila = Fila + 3
ElseIf (Cells(Fila - 1, "b").Value Cells(Fila, "b").Value) And (Cells(Fila - 1, "b").Value "" And Cells(Fila, "b").Value "") Then
Cells(Fila, "A").EntireRow.Insert
Fila = Fila + 2
Else
Fila = Fila + 1
End If
Loop Until Cells(Fila, "b").Value = ""
tope = Range("c65536").End(xlUp).Row + 1
End Sub
Sub consolidamos()
Hoja2.Rows("9:65536").Clear
Range("E8").Select
Do
If inicia = "" Then inicia = 9
CeldaTermino = Columns("E:E").Find(What:="", After:=ActiveCell.Offset(1, 0), LookIn:=xlValues, LookAt:= _
xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
False, SearchFormat:=False).Select
' ActiveCell.Interior.Color = vbBlue
hasta = ActiveCell.Row - 1
With Hoja2.Range("A65536").End(xlUp)
.Offset(1, 0).Formula = "RV-" & Format(.Offset(1, 0).Row - 8, "000") '"=" & Hoja1.Name & "!" & Cells(inicia, "A").Address(0, 0)
.Offset(1, 1).Formula = "=" & Hoja1.Name & "!" & Cells(inicia, "B").Address(0, 0)
.Offset(1, 2).Formula = "=" & Hoja1.Name & "!" & Cells(inicia, "C").Address(0, 0)
.Offset(1, 3).Formula = "=" & Hoja1.Name & "!" & Cells(inicia, "D").Address(0, 0)
.Offset(1, 4).Formula = "=" & Hoja1.Name & "!" & Cells(inicia, "E").Address(0, 0)
.Offset(1, 5).Formula = "=max(" & Hoja1.Name & "!" & Range(Cells(inicia, "E"), Cells(hasta, "E")).Address & ")"
If .Offset(1, 5).Value = .Offset(1, 4).Value Then .Offset(1, 5).ClearContents
.Offset(1, 6).Formula = "=" & Hoja1.Name & "!" & Cells(inicia, "G").Address(0, 0)
If .Offset(1, 6).Value = 0 Then .Offset(1, 6).Value = ""
.Offset(1, 7).Formula = "=" & Hoja1.Name & "!" & Cells(inicia, "H").Address(0, 0)
If .Offset(1, 7).Value = 0 Then .Offset(1, 7).Value = ""
.Offset(1, 8).Formula = "=" & Hoja1.Name & "!" & Cells(inicia, "I").Address(0, 0)
.Offset(1, 9).Formula = "=sum(" & Hoja1.Name & "!" & Range(Cells(inicia, "J"), Cells(hasta, "J")).Address & ")"
.Offset(1, 10).Formula = "=sum(" & Hoja1.Name & "!" & Range(Cells(inicia, "K"), Cells(hasta, "K")).Address & ")"
.Offset(1, 11).Formula = "=sum(" & Hoja1.Name & "!" & Range(Cells(inicia, "L"), Cells(hasta, "L")).Address & ")"
End With
inicia = hasta + 2
If Cells(inicia, "A").Value = "" Then inicia = inicia + 1
If Cells(ActiveCell.Row, "E").Row = tope Then Exit Sub
Loop Until CeldaTermino = Fin
End Sub
Sub Pocesa()
With Application
.ScreenUpdating = False
.Calculation = xlCalculationManual
Call DejamosComoEstuvo
Call separamos
Call consolidamos
Call DejamosComoEstuvo
.ScreenUpdating = True
.Calculation = xlCalculationAutomatic
End With
MsgBox "Proceso terminado." & Chr(13) & "Puede ver el resultado en la hoja de nombre Consolidado", vbInformation, "PROCESO TERMINADO"
Hoja2.Select
Range("E2").Select
End Sub
Le agradezco por su ayuda. Le alcanzo mi correo: florenciomalqui@hotmail.com BENDICIONES.
Mostrar menos
RESPONDER
Que sucede si yo grabo que seleccione colunma a,b,c y cuando la corro hace los cambios en las columnas d,e,f??? porque pasa eso
Hola , Como hacer que la celda tome el valor que seleccione en un filtro? por favor
Hola Amigo..tengo un problema...me puedes mandar una dirección de correo para enviártelo... Saludos desde Lima
+matancero2001 Hola. Si no es molestia, prefiero que lo digas por este medio.
COn palabras es dificil de hacerme entender..te lo pedia, para enviarte mi caso con un video adicional...Saludos
No puedo amigo,,porque de repente no puedo explicartelo bien y ademas quiero enviarte un video donde trato de explicar... se trata de un aplicativo que hice en excel para matricualr a mis alumnitos en red... o en todo caso a traves de la web, pues he visto que se puede hacer...pero previo codigo...que yo no se hacer Saludos
Y si quiero que lo muestre en una celda en lugar de msgbox?
si necesito ejecutar otra macro cuando seleccionen la celda "A3" y ejecuten la macro "AnchoColumna2" como quedaria el codigo
Excelente video y explicación.