@@SergioAlejandroCampos Hola Sergiol, aprovecho la respuesta al comentario de Ardis, como puedo aplicar este macro si tendo una multipage y solo quiero que me indique cuantos campos tengo vacios en una sola pagina?
Gracias Sergio.....la instrucción OPTION PRIVATE MODULE me encantó,,, busqué por mucho tiempo la forma de no hacer visibles las macros desde la cinta de opciones... Gracias!!
Hola Sergio, no te imaginas lo que me han ayudado tus ejemplos de macros para mi trabajo diario. Excelente y son muy claras tus explicaciones. Muchas Gracias por compartir tus conocimientos.
Bien amiguito, EXCELente . un video limpio sin nada q nos distraiga, un video muy bien explicado a la medida......Felicitaciones y plis sigue asi.....Muchisimas grxs, un besho
@@SergioAlejandroCampos si asi es , RECUEROD QUE ANTERIORES VIDEOS MUY BUENOS X CIETO, MOSTRABAS TU CARA, OTROS VIDEOS PONIAS MUSICA DE FONDO PS Y ESO DISTRAE A LOS USUARIOS , NO CREES??? EN CAMBIO ESTE VIDEO NO TIENE NADA DE ESO...GRACIAS SIGUE ASI,,,NO T ENOJES,,,
Hola Sergio, tus tutoriales son excelentes, de echo me han resultado muy útiles. Me gustaría qué en un futuro podrías hacer unos tutoriales sobre programación orientada a objectos en VBA Excel. Muchas gracias y un saludo.
@@SergioAlejandroCampos Si, pero me gustaría si podrías profundizar más el tema de los módulos de clase y la paradigma de programación orientada a objetos en VBA. Un saludo.
Muy bueno , gracias por las explicaciones , puedo hacer una sugerencia , si se pasa el formulario donde vas a utilizarlo como argumento del procedimiento call validarvacios( F as userform) y en el procedimiento cambias set formactivo = f funciona inclusive si es un formulario emergente porque se valida en el mismo formulario que se usa . tambien se podría usar la propiedad tabindex de cada control para validar solo algunos controles . Un abrazo
Hola Sergio, gracias por la información que nos brindas, este formato aplica la misma lógica que se uso en el vídeo (Macro VBA para asignarle el mismo diseño a todos tus formularios en Excel @EXCELeINFO), pero ahora aplicada, ha no dejar espacios vacíos al llenar el formulario. Saludos desde Panamá
Hola Sergio Felicitaciones por los tutoriales, al ver el tutorial me puse a pensar como se podría hacer una macro tal cual el video para que se ingresen todos los campos de los controles en mayúsculas
Sergio buenas noches, muy bien sus videos realmente me han servido bastante, aplique este algoritmo y efectivamente hace lo que usted dice, sin embargo, me esta creando una fila nueva sin datos, como hago para impedir que esto suceda?
Buenas noches amigo Sergio, de verdad te felicito por saber explicar de manera tan clara y facil de entender, amigo tengo una inquietud y espero puedas ayudarme, como hacer un formulario que agregue datos uno a uno y posteriormente agregar mas datos, te explico: un transporte asegura 20 vehiculos y se guarda el numero de placa de cada uno y posteriormente puede asegurar 10 mas que seran agregados a la misma fila del cliente en la base de datos, saludos amigo y espero tu respuesta agradeciendote de antemano.
Hola Sergio Campos. Muy bueno el video. Lo único me surge el siguiente problema, dicha macro la tengo en un Form2 en boton Guardar cuando la pruebo todo OK. Pero al momento de ingresar al Form2 desde Form1 y dar guardar en el Form2 no activa el control. Si asocio el Form2 directo a un boton activeX en la Hoja, funciona pero deja de funcionar cuando paso por Form1
Saludos profesor Sergio, esta macro funciona a la perfección, solo una pequeña duda, como hacer cuando hay controles que no son obligatorios o sea pueden ser opcionales. Agradezco de antemano las atenciones.
Puede poner de color diferente a los controles obligatorios y al momento de validar cada control, agregar a la validación vacíos si los controles tienen ese color, así como también tendría que adecuar la macro al momento de colorear con color predeterminado cuando detecta que esta vacío. Ej: If miControl.Value = "" And miControl.BackColor = &H80000018 Then Perdón Amigo Sergio por atreverme a contestar, era precisamente una pregunta que me hice y al adecuar la macro de esa forma y otras mas me funciona como la necesito. Saludos.
@@tor3996 Podrias ser mas concreto, porque como le digo que ese control en mi caso son tres TEXTBOX no son necesarios cumplimentar, a no ser que cumpla una condición
@@AronaWeb En mi caso puse de color amarillo los textbox obligatorios validando si están vacíos y son de color amarillo quedando el código así: If miControl.Value = "" And miControl.BackColor = &H80000018 Then ControlesVacios = ControlesVacios + 1 Else End If
Excelente tutorial, Sergio. Me gustaría saber qué modificación habría que realizar a ese código VBA si quisiera que alguno de estos TextBox y/o ComboBox pudieran quedar en blanco y, aún así, pudiera continuar con la ejecución como, por ejemplo, registrar los datos de estos controles. Imagina que tengo, no sé, 5 ComboBox y 10 TextBox y quiero que el ComboBox3 y el 7; y los TextBox4, 8 y el 10, queden en blanco.Cómo se haría esto? Muchísimas gracias, Sergio.
Me gusto mucho la macro, me ayudó con el proyecto que estoy desarrollando y está muy bien explicado; pero en caso haya textbox que no deseo que sean obligatorios, cómo se podría hacer para excluirlos?
Muy interesante el tutorial. Pero que pasa cuando tenemos en el UserForm tres OptionButton y queremos que el usuario seleccione uno de ellos. Que como sabemos los OtionButton trabajan en sintonia
Excelente maestro mil gracias por compartir sus conocimientos una pregunta como hacer en un formularo cambie de color el comand button cuando se seleccione uno y los demas que Queden con otro color
Excelente video Sergio, y excelente codigo, te queria consultar algo si no es molestia, estoy trabajando con este codigo desde un boton en una hoja, y funciona de maravilla valida los vacios y no deja que se registren valores vacios, pero, cuando meto este boton dentro de un formulario donde tengo otros botones, esta funcion que presentas para validar vacios no funciona, pareciera que se salta eñ cpdogp de la validacion y siguiera con el reesto del proceso, Tendras alguna idea del porque pasa y como solucionarlo ¿?
Hola, Muchas gracias por tu gran conocimiento y ayuda que nos brindas!! tengo una duda para seguir con una macro que no va mucho con la actual, pero agradecería mucho su me pudieras ayudar con una duda que tengo, necesito saber si puedo rescatar un dato de la pantalla inmediato, te comento necesito saber un rango de una tabla de datos que es variable dependiendo del equipo a cotizar y tengo unas funciones que me selecciona el rango pero no puedo tenerlo por escrito, solo puedo verlo por la pantalla inmediato y necesito tener ese dato para copiarlo en word, sabes si puedo sacar un dato de la pantalla inmediato de forma automática o por otra macro? o alguna forma en la que me salga escrito el rango de celdas con datos ??? Si me pudieras ayudar en serio te lo agradecería mucho! ya que gracias a tu ayuda he aprendido y he podido avanzar en los conocimientos!
No estoy seguro que se puedan obtener datos de la ventana Inmediato, pero de me ocurre que puedes enviar tus datos al portapapeles para luego pegarlos en Word. Prueba esto www.exceleinfo.com/enviar-informacin-al-portapapeles-usando-macros-en-excel-3/
Buenas Tardes....Sergio estoy en un proyecto de una Base de Datos en Excel donde Registro, Edito, Elimino, Modifico y Agrego... esa parte funciona bien, ahora a esa parte necesito agregarle otro formulario (ESTADISTICAS) donde se harán una serie de cálculos y se guardara información en una Tabla... pero ese formulario nuevo tiene información que se registra del primero (DATOS)... me puedes ayudar a programar ese formulario, me puedes dar un correo donde enviarte el archivo... gracias
Hola amigo, gracias por compartir, hice una macro similar pero dentro del formulario está es mucho más práctica, pero tengo una duda, cómo podrías agregar una excepción a la validación de controles vacíos? Por ejemplo los que están en el frame1 para que se guarde por partes, saludos.
Hola Sergio, gracias por tus enseñanzas, la aplique pero cuando un campo o textbox queda deshabilitado por alguna condición de otro textbox me sigue mostrando que un mensaje de un control vacio
Muy buena aportación Sergio, pero utilizar una variable global para utilizarla de contador? Ese pequeño detalle ensucia el código ademas de que si quiero reutilizar tu código en varios proyectos debo utilizar una variable global llamada ContolesVacios para que funcione. Me parece que hubiese sido mas optimo empaquetar todo dentro de un modulo y a ContolesVacios enviarle como argumento el formulario activo y asi ya tengo empaquetada la utilidad y puedo distribuirla. Saludos!
Hola Sergio! cuando uso VLookUp en VBA.. el valor que encuentro se encuentra dentro de una celda... como hago para ACTIVAR esa celda que encontre con VLookUp para poder hacerle operaciones?? Gracias!
Hola Sergio, espero puedas ayudarme, estoy usando tu validación de Controles Vacíos, pero tengo tres TEXTBOX, los cuales si no se cumplen una condición no son necesarios poner nada, como seria entonces
Hola Sergio.. muy buenas explicaciones, felicitaciones! Tengo una duda que no encuentro por ningún lado como resolverla.. Como hago para contar los ESPACIOS que hay antes de una palabra de una celda en excel?? ya sea con macros o sin macros. Espero tu respuesta, DESDE YA MUCHAS GRACIAS!!
Se me ocurre que uses macros para que te recorra los caracteres de una celda, usando For Next y Chr. Nunca lo he hecho, pero puede tomar ideas de este tutorial www.exceleinfo.com/restringir-ingreso-de-texto-o-nmeros-en-textbox-en-excel/
Ya le encontre.. tambien funciona para deshabilitar la captura una vez guardado Sub FijarCamposForm() Dim FormActivo As UserForm Dim miControl As control Set FormActivo = VBA.UserForms(0) For Each miControl In FormActivo.Controls If TypeOf miControl Is MSForms.TextBox Then miControl.Enabled = False miControl.BackColor = VBA.vbWhite Else If TypeOf miControl Is MSForms.ComboBox Then miControl.Enabled = False miControl.BackColor = VBA.vbWhite Else 'Nada End If End If Next miControl End Sub
Hola espero se encuentre bien, deseo realizar una macro de este tipo en Access, cómo podría programar el código si me sale un error que dice "No se ha definido el tipo definido por el usuario" y me resalta las tabulaciones Sub ValidarVacios() y Dim FormActivo As UserForm?
Hola Sergio, mi pregunta es la siguiente, tengo una hoja con 745 registros, en la columna a desde la fila A2:A340, deseo cambiar la nomenclatura de la estructura de por ejemplo: 1201001 a 1201, la cuenta 1201001, va cambiando de valores en los ultimos tres digitos (1201035). He utilizado esta rutina para cambiar los valores: Columns("A").Replace _ What:="1308???", Replacement:="1302", _ SearchOrder:=xlByColumns, MatchCase:=False He repetido esta rutina por cada valor que deseo cambiar, he intentado hacer un bucle donde detallo que si encuentra 1201XXX, lo cambie a 1201, si encuentra 1308XXX cambie a 1302, como en el ejemplo de arriba, no he logrado mejorar la rutina arriba detallada, podrias brindarme algun consejo para mejorar, no se si logre explicarme?
Hola. Espero alguien me ayude. Me instale el add in de ExceleInfo y me dio curiosidad que seleccionando celdas se puede aplicar la macro a dicha selección. Es decir, yo utilizo mucho GoalSeek. Ya logre hacer que me funcione posicionandome en la celda deseada y llegar al valor deseado. Ahora, ¿es posible hacerlo de forma multiple por selección? Ejemplo. Si en columna A1 esta la celda a cambiar, C1 el valor deseado y D1 es el valor al que quiero llegar. Si yo selecciono de C1 a C4 ejecutando la macro me cambie a los valores deseados. Muchas gracias.
Estimado... muy claro su ejemplo. Pero tengo un problema. descargue su archivo y funciona sin problemas, pero al hacerlo en un archivo desde cero nunca llama la macros y e ingresa sin pasar por la función. alguna idea de que puede ser. Gracias de todos modos.
Entendí como se da el error, pero no se como solucionarlo. Si el form lo llamo desde el editor VB la llamada funciona, pero en excel tengo un botón que trae un formulario con Varios otros formularios, cuando uso ese método es que no correo la macros.
Hola, cuando ejecuto un formulario como puedo hacer para que me permita navegar por las celdas de excel sin cerrar el formulario ejecutado? Me ayudas porfa, hace muchos años lo hice y no puedo recordarlo...
aqui pongo esa misma macro pero que sirva solo para limpiar todos los campos de un formulario Sub LimpiarCamposForm() Dim FormActivo As UserForm Dim miControl As control Set FormActivo = VBA.UserForms(0) For Each miControl In FormActivo.Controls If TypeOf miControl Is MSForms.TextBox Then miControl.Value = "" miControl.BackColor = VBA.vbWhite Else If TypeOf miControl Is MSForms.ComboBox Then miControl.Value = "" miControl.BackColor = VBA.vbWhite Else 'Nada End If End If Next miControl End Sub
quise aprovechar la idea para bloquear los campos y de igual limpiar el formulario, limpiar si funciona bien, pero inhablitar los campos no de deja o me bloquea todo o no me permite la funcion enable por control Sub FijarCamposForm() Dim FormActivo As UserForm Dim miControl As control Set FormActivo = VBA.UserForms(0) For Each miControl In FormActivo.Controls If TypeOf miControl Is MSForms.TextBox Then FormActivo.Enabled = False miControl.BackColor = VBA.RGB(191, 191, 191) Else If TypeOf miControl Is MSForms.ComboBox Then
miControl.BackColor = VBA.RGB(191, 191, 191) Else 'Nada End If End If Next miControl End Sub
Te felicito Sergio Campos, has realizado un trabajo descomunal. 👍👍👍👍👍
Muchas gracias Sergio, tu explicación fue muy clara, es la primera vez que te veo y ya me suscribí, una vez gracias por compartir
Gracias!!
@@SergioAlejandroCampos Hola Sergiol, aprovecho la respuesta al comentario de Ardis, como puedo aplicar este macro si tendo una multipage y solo quiero que me indique cuantos campos tengo vacios en una sola pagina?
Felicidades Sergio, muchas gracias.
En el caso que algún txtbox no fuera de campo obligado...
Como siempre en tus cursos que he tomado o en los videos un GENIO!!!
Excelente la optimización. La incluiré. Muchas gracias por compartir
Gracias Sergio.....la instrucción OPTION PRIVATE MODULE me encantó,,, busqué por mucho tiempo la forma de no hacer visibles las macros desde la cinta de opciones... Gracias!!
Hola Sergio, no te imaginas lo que me han ayudado tus ejemplos de macros para mi trabajo diario. Excelente y son muy claras tus explicaciones. Muchas Gracias por compartir tus conocimientos.
EXCELENTE LA MANERA COMO EXPLICAS. SIGUE ADELANTE CON TUS TUTORIALES
Bien amiguito, EXCELente . un video limpio sin nada q nos distraiga, un video muy bien explicado a la medida......Felicitaciones y plis sigue asi.....Muchisimas grxs, un besho
Me intrigas? A qué te refieres sin que nada los distraiga?
@@SergioAlejandroCampos si asi es , RECUEROD QUE ANTERIORES VIDEOS MUY BUENOS X CIETO, MOSTRABAS TU CARA, OTROS VIDEOS PONIAS MUSICA DE FONDO PS Y ESO DISTRAE A LOS USUARIOS , NO CREES??? EN CAMBIO ESTE VIDEO NO TIENE NADA DE ESO...GRACIAS SIGUE ASI,,,NO T ENOJES,,,
Espectacular Sergio. Felicitaciones y Dios te bendiga
Qué gran aportación, igual de eficaz que la del formato a cualquier formulario. Un 10
Wow, qué bueno que lo notaste. Es la misma técnica.
El código quedó muy limpio. Muchas gracias, Sergio
Gracias a ti Johana.
Hola Sergio, tus tutoriales son excelentes, de echo me han resultado muy útiles. Me gustaría qué en un futuro podrías hacer unos tutoriales sobre programación orientada a objectos en VBA Excel. Muchas gracias y un saludo.
Ya sigues mi curso de macros?
@@SergioAlejandroCampos Si, pero me gustaría si podrías profundizar más el tema de los módulos de clase y la paradigma de programación orientada a objetos en VBA. Un saludo.
Genial, increible, sensacional cada día aprendo más contigo, gracias
Me alegra.
Buen trabajo Sergio muy interesante tu macro, la utilizaré en mis próximos proyectos.
Gracias por tu tiempo y tus aportes.
Saludos desde España 🇪🇸
Gracias José. No te pierdas la entrevista de hoy.
Excelente, Sergio.
Saludos Antonio.
Que belleza, gracias Sergio.
Gracias Andrés.
Muy bueno , gracias por las explicaciones , puedo hacer una sugerencia , si se pasa el formulario donde vas a utilizarlo como argumento del procedimiento call validarvacios( F as userform) y en el procedimiento cambias set formactivo = f funciona inclusive si es un formulario emergente porque se valida en el mismo formulario que se usa . tambien se podría usar la propiedad tabindex de cada control para validar solo algunos controles . Un abrazo
Hola Sergio, gracias por la información que nos brindas, este formato aplica la misma lógica que se uso en el vídeo (Macro VBA para asignarle el mismo diseño a todos tus formularios en Excel @EXCELeINFO), pero ahora aplicada, ha no dejar espacios vacíos al llenar el formulario.
Saludos desde Panamá
Impresionante Sergio. Muchísimas gracias por este gran trabajo.
Tu videos son muy útiles. Muchas gracias
Muy interesante. Ahora a romperme la cabeza para ver si lo añado parcialmente a mi proyecto. Gracias.
Hola Sergio Felicitaciones por los tutoriales, al ver el tutorial me puse a pensar como se podría hacer una macro tal cual el video para que se ingresen todos los campos de los controles en mayúsculas
Excelente macro Sergio!!! Muchísimas gracias, es de gran ayuda
Gracias, gracias, gracias, eres un genio
Super eficiente.... Muchas gracias
Gracias por compartir contenido de valor.
Gracias, una gran ayuda.
Excelente página Felicitaciones muy buen aporte
Muy útil Profesor Sergio!!
Muchas gracias y bendiciones!!
Sergio buenas noches, muy bien sus videos realmente me han servido bastante, aplique este algoritmo y efectivamente hace lo que usted dice, sin embargo, me esta creando una fila nueva sin datos, como hago para impedir que esto suceda?
Fenomenal, para optimizar código
Gracias Teo.
gracias por compartir su saber
Buenas noches amigo Sergio, de verdad te felicito por saber explicar de manera tan clara y facil de entender, amigo tengo una inquietud y espero puedas ayudarme, como hacer un formulario que agregue datos uno a uno y posteriormente agregar mas datos, te explico: un transporte asegura 20 vehiculos y se guarda el numero de placa de cada uno y posteriormente puede asegurar 10 mas que seran agregados a la misma fila del cliente en la base de datos, saludos amigo y espero tu respuesta agradeciendote de antemano.
Hola Sergio Campos. Muy bueno el video. Lo único me surge el siguiente problema, dicha macro la tengo en un Form2 en boton Guardar cuando la pruebo todo OK. Pero al momento de ingresar al Form2 desde Form1 y dar guardar en el Form2 no activa el control. Si asocio el Form2 directo a un boton activeX en la Hoja, funciona pero deja de funcionar cuando paso por Form1
Gracias por tus vídeos...
Excelente optimización!
Saludos profesor Sergio, esta macro funciona a la perfección, solo una pequeña duda, como hacer cuando hay controles que no son obligatorios o sea pueden ser opcionales. Agradezco de antemano las atenciones.
Puede poner de color diferente a los controles obligatorios y al momento de validar cada control, agregar a la validación vacíos si los controles tienen ese color, así como también tendría que adecuar la macro al momento de colorear con color predeterminado cuando detecta que esta vacío.
Ej: If miControl.Value = "" And miControl.BackColor = &H80000018 Then
Perdón Amigo Sergio por atreverme a contestar, era precisamente una pregunta que me hice y al adecuar la macro de esa forma y otras mas me funciona como la necesito. Saludos.
@@tor3996 Podrias ser mas concreto, porque como le digo que ese control en mi caso son tres TEXTBOX no son necesarios cumplimentar, a no ser que cumpla una condición
@@AronaWeb En mi caso puse de color amarillo los textbox obligatorios validando si están vacíos y son de color amarillo quedando el código así:
If miControl.Value = "" And miControl.BackColor = &H80000018 Then
ControlesVacios = ControlesVacios + 1
Else
End If
Excelente tutorial, Sergio. Me gustaría saber qué modificación habría que realizar a ese código VBA si quisiera que alguno de estos TextBox y/o ComboBox pudieran quedar en blanco y, aún así, pudiera continuar con la ejecución como, por ejemplo, registrar los datos de estos controles.
Imagina que tengo, no sé, 5 ComboBox y 10 TextBox y quiero que el ComboBox3 y el 7; y los TextBox4, 8 y el 10, queden en blanco.Cómo se haría esto?
Muchísimas gracias, Sergio.
Hola, excelente tutorial me ha servido de mucho. Pero temgo una pregunta, cómo puedo hacer para validar también optionbuttoms??
Me gusto mucho la macro, me ayudó con el proyecto que estoy desarrollando y está muy bien explicado; pero en caso haya textbox que no deseo que sean obligatorios, cómo se podría hacer para excluirlos?
Muy interesante el tutorial. Pero que pasa cuando tenemos en el UserForm tres OptionButton y queremos que el usuario seleccione uno de ellos. Que como sabemos los OtionButton trabajan en sintonia
Excelente maestro mil gracias por compartir sus conocimientos una pregunta como hacer en un formularo cambie de color el comand button cuando se seleccione uno y los demas que
Queden con otro color
Me gusto la macro, muy bien explicado; pero en caso haya textbox que no deseo sean obligatorios, cómo haría para excluirlos?
Con la propiedad TAG se le puede indicar NA (que no aplica)
Excelente video Sergio, y excelente codigo, te queria consultar algo si
no es molestia, estoy trabajando con este codigo desde un boton en una
hoja, y funciona de maravilla valida los vacios y no deja que se
registren valores vacios, pero, cuando meto este boton dentro de un
formulario donde tengo otros botones, esta funcion que presentas para
validar vacios no funciona, pareciera que se salta eñ cpdogp de la validacion y
siguiera con el reesto del proceso, Tendras alguna idea del porque pasa y como solucionarlo ¿?
Hola, Muchas gracias por tu gran conocimiento y ayuda que nos brindas!! tengo una duda para seguir con una macro que no va mucho con la actual, pero agradecería mucho su me pudieras ayudar con una duda que tengo, necesito saber si puedo rescatar un dato de la pantalla inmediato, te comento necesito saber un rango de una tabla de datos que es variable dependiendo del equipo a cotizar y tengo unas funciones que me selecciona el rango pero no puedo tenerlo por escrito, solo puedo verlo por la pantalla inmediato y necesito tener ese dato para copiarlo en word, sabes si puedo sacar un dato de la pantalla inmediato de forma automática o por otra macro? o alguna forma en la que me salga escrito el rango de celdas con datos ???
Si me pudieras ayudar en serio te lo agradecería mucho! ya que gracias a tu ayuda he aprendido y he podido avanzar en los conocimientos!
No estoy seguro que se puedan obtener datos de la ventana Inmediato, pero de me ocurre que puedes enviar tus datos al portapapeles para luego pegarlos en Word. Prueba esto www.exceleinfo.com/enviar-informacin-al-portapapeles-usando-macros-en-excel-3/
Buenas Tardes....Sergio estoy en un proyecto de una Base de Datos en Excel donde Registro, Edito, Elimino, Modifico y Agrego... esa parte funciona bien, ahora a esa parte necesito agregarle otro formulario (ESTADISTICAS) donde se harán una serie de cálculos y se guardara información en una Tabla... pero ese formulario nuevo tiene información que se registra del primero (DATOS)... me puedes ayudar a programar ese formulario, me puedes dar un correo donde enviarte el archivo... gracias
Lo siento, no me dedico a desarrollos a medida.
Hola amigo, gracias por compartir, hice una macro similar pero dentro del formulario está es mucho más práctica, pero tengo una duda, cómo podrías agregar una excepción a la validación de controles vacíos? Por ejemplo los que están en el frame1 para que se guarde por partes, saludos.
Hola Sergio, gracias por tus enseñanzas, la aplique pero cuando un campo o textbox queda deshabilitado por alguna condición de otro textbox me sigue mostrando que un mensaje de un control vacio
Muy buena aportación Sergio, pero utilizar una variable global para utilizarla de contador? Ese pequeño detalle ensucia el código ademas de que si quiero reutilizar tu código en varios proyectos debo utilizar una variable global llamada ContolesVacios para que funcione. Me parece que hubiese sido mas optimo empaquetar todo dentro de un modulo y a ContolesVacios enviarle como argumento el formulario activo y asi ya tengo empaquetada la utilidad y puedo distribuirla. Saludos!
Qué buena idea Luis. Saludos.
Hola Sergio! cuando uso VLookUp en VBA.. el valor que encuentro se encuentra dentro de una celda... como hago para ACTIVAR esa celda que encontre con VLookUp para poder hacerle operaciones?? Gracias!
Hola Sergio, espero puedas ayudarme, estoy usando tu validación de Controles Vacíos, pero tengo tres TEXTBOX, los cuales si no se cumplen una condición no son necesarios poner nada, como seria entonces
Hola Sergio.. muy buenas explicaciones, felicitaciones! Tengo una duda que no encuentro por ningún lado como resolverla.. Como hago para contar los ESPACIOS que hay antes de una palabra de una celda en excel?? ya sea con macros o sin macros. Espero tu respuesta, DESDE YA MUCHAS GRACIAS!!
Se me ocurre que uses macros para que te recorra los caracteres de una celda, usando For Next y Chr. Nunca lo he hecho, pero puede tomar ideas de este tutorial www.exceleinfo.com/restringir-ingreso-de-texto-o-nmeros-en-textbox-en-excel/
@@SergioAlejandroCampos Muchas gracias!! lo pongo en practica y vere si puedo resolverlo, saludos!
Ya le encontre.. tambien funciona para deshabilitar la captura una vez guardado
Sub FijarCamposForm()
Dim FormActivo As UserForm
Dim miControl As control
Set FormActivo = VBA.UserForms(0)
For Each miControl In FormActivo.Controls
If TypeOf miControl Is MSForms.TextBox Then
miControl.Enabled = False
miControl.BackColor = VBA.vbWhite
Else
If TypeOf miControl Is MSForms.ComboBox Then
miControl.Enabled = False
miControl.BackColor = VBA.vbWhite
Else
'Nada
End If
End If
Next miControl
End Sub
Gran aporte Héctor.
Hola espero se encuentre bien, deseo realizar una macro de este tipo en Access, cómo podría programar el código si me sale un error que dice "No se ha definido el tipo definido por el usuario" y me resalta las tabulaciones Sub ValidarVacios()
y Dim FormActivo As UserForm?
Hola Sergio, Como puedo hacer para que La Macro tome el Valor "cero" como un valor, y no como si la celda estaria vacia?
Hola Sergio, mi pregunta es la siguiente, tengo una hoja con 745 registros, en la columna a desde la fila A2:A340, deseo cambiar la nomenclatura de la estructura de por ejemplo: 1201001 a 1201, la cuenta 1201001, va cambiando de valores en los ultimos tres digitos (1201035).
He utilizado esta rutina para cambiar los valores:
Columns("A").Replace _
What:="1308???", Replacement:="1302", _
SearchOrder:=xlByColumns, MatchCase:=False
He repetido esta rutina por cada valor que deseo cambiar, he intentado hacer un bucle donde detallo que si encuentra 1201XXX, lo cambie a 1201, si encuentra 1308XXX cambie a 1302, como en el ejemplo de arriba, no he logrado mejorar la rutina arriba detallada, podrias brindarme algun consejo para mejorar, no se si logre explicarme?
Hola. Espero alguien me ayude.
Me instale el add in de ExceleInfo y me dio curiosidad que seleccionando celdas se puede aplicar la macro a dicha selección.
Es decir, yo utilizo mucho GoalSeek.
Ya logre hacer que me funcione posicionandome en la celda deseada y llegar al valor deseado.
Ahora, ¿es posible hacerlo de forma multiple por selección?
Ejemplo.
Si en columna
A1 esta la celda a cambiar, C1 el valor deseado y D1 es el valor al que quiero llegar.
Si yo selecciono de C1 a C4 ejecutando la macro me cambie a los valores deseados.
Muchas gracias.
Estimado... muy claro su ejemplo. Pero tengo un problema. descargue su archivo y funciona sin problemas, pero al hacerlo en un archivo desde cero nunca llama la macros y e ingresa sin pasar por la función. alguna idea de que puede ser. Gracias de todos modos.
Entendí como se da el error, pero no se como solucionarlo.
Si el form lo llamo desde el editor VB la llamada funciona, pero en excel tengo un botón que trae un formulario con Varios otros formularios, cuando uso ese método es que no correo la macros.
Hola, cuando ejecuto un formulario como puedo hacer para que me permita navegar por las celdas de excel sin cerrar el formulario ejecutado? Me ayudas porfa, hace muchos años lo hice y no puedo recordarlo...
aqui pongo esa misma macro pero que sirva solo para limpiar todos los campos de un formulario
Sub LimpiarCamposForm()
Dim FormActivo As UserForm
Dim miControl As control
Set FormActivo = VBA.UserForms(0)
For Each miControl In FormActivo.Controls
If TypeOf miControl Is MSForms.TextBox Then
miControl.Value = ""
miControl.BackColor = VBA.vbWhite
Else
If TypeOf miControl Is MSForms.ComboBox Then
miControl.Value = ""
miControl.BackColor = VBA.vbWhite
Else
'Nada
End If
End If
Next miControl
End Sub
Buen día. Me hace el control, me pinta de naranja los vacios, pero igualmente me carga los datos en la tabla... qué puedo estar realizando mal??
Saludos a todos.
Excel-ente
quise aprovechar la idea para bloquear los campos y de igual limpiar el formulario, limpiar si funciona bien, pero inhablitar los campos no de deja o me bloquea todo o no me permite la funcion enable por control
Sub FijarCamposForm()
Dim FormActivo As UserForm
Dim miControl As control
Set FormActivo = VBA.UserForms(0)
For Each miControl In FormActivo.Controls
If TypeOf miControl Is MSForms.TextBox Then
FormActivo.Enabled = False
miControl.BackColor = VBA.RGB(191, 191, 191)
Else
If TypeOf miControl Is MSForms.ComboBox Then
miControl.BackColor = VBA.RGB(191, 191, 191)
Else
'Nada
End If
End If
Next miControl
End Sub