Botón Agregar, modificar, eliminar, buscar y limpiar registros en Formulario VBA Excel
Вставка
- Опубліковано 12 вер 2024
- Aprende a crear un formulario con botón Agregar, modificar, eliminar, buscar y limpiar registros en Formulario VBA Excel
#ModificarEliminarVBA #FormularioExcel #FormularioVBA
Suscríbete en mi otro canal:
/ @miguelvelaa
PARTE 1: • Formulario en VBA Exce...
PARTE 2: Lo estas viendo ...
PARTE 3: • Formulario de Búsqueda...
PARTE 4: • (RESOLVIENDO PREGUNTAS...
🤗 Visita nuestras redes sociales:
Sitio web: www.tiotech.net
www.eltiotech.com
Facebook: / eltiotechoficial
Instagram: / luismiguelvelavela
🟩 Grupo de ayuda Excel:
/ excelayudas
🟦 Grupo de ayuda Word:
/ 2954410744838915
Nunca había seguido más de 3 horas de video para aprender algo, pero no solo lo logré, sino que me sorprendió lo claro que eres para explicar. Debo confesar que le puse 1.5 x de velocidad, pero hubo ratos en los que tuve que repetir fragmentos 3 o más veces y siempre el error era mío. Gracias por compartir tu gran habilidad y conocimiento, ya casi me siento experto en Visual B.
Tio Tech, gracias por la entrega nuevamente. Excelente tutorial. Creo que faltó arreglar un pequeño error en Private Sub txt_codigo_Change()
If codigo
Creo que ese es el error por el que ya pude seguir programando ya que al terminar de ingresar el codigo del boton registrar me tira un error en la linea de descripcion, podes ayudarme?
Private Sub txt_codigo_Change()
Dim codigo As Integer
codigo = txt_codigo.Value
Me.txt_descripcion = Application.WorksheetFunction.VLookup(codigo, Sheets("Materiales").Range("B:I"), 2, 0)
Me.txt_unidad = Application.WorksheetFunction.VLookup(codigo, Sheets("Materiales").Range("B:I"), 3, 0)
Me.txt_precio = Application.WorksheetFunction.VLookup(codigo, Sheets("Materiales").Range("B:I"), 4, 0)
Me.txt_proveedor = Application.WorksheetFunction.VLookup(codigo, Sheets("Materiales").Range("B:I"), 6, 0)
Me.txt_marca = Application.WorksheetFunction.VLookup(codigo, Sheets("Materiales").Range("B:I"), 7, 0)
Me.txt_rendimiento = Application.WorksheetFunction.VLookup(codigo, Sheets("Materiales").Range("B:I"), 8, 0)
End Sub
@@pablocesargarciagt
Private Sub txt_codigo_Change()
Dim codigo As Integer
codigo = txt_codigo.Value
If codigo
@@allpowerxd me podria ayudar?
Private Sub txt_no_Change()
Dim codigo As Variant
codigo = Me.txt_no.Value
If codigo
Gracias Rolando, excelente aporte me solucionó un problema grande que tenía
Creo que falta la columna 5
Excelente saga de videos, justamente creaste los videos ahora que lo necesito, me han surgido tres dudas: 1.- Se puede agregar un botón configurado para que la información se envié por correo, ya que lo utilizaría para reporte de facturas ingresadas, 2.- se puede compartir vía nube y a los que le comparta solo puedan utilizar el botón de consulta y no el de agregar. Gracias por crear este tipo de contenido y te mando saludos desde la CDMX, México. Atte. Arturo Jasso.
Sos un genio!!!! encontré tus videos ya a punto de abandonar la búsqueda por youtube..
Gracias por la paciencia y tomarte el tiempo de enseñarnos a todos los que comenzamos en excel!!!!
Di vueltas por muchos canales con tutoriales de excel y este es el mejor de todos los que vi. Informacion super clara y accesible. Muchos exitos!!
Buenas Noches. Excelente. Seguí paso a paso y todas las instrucciones dadas y me funcionaron correctamente. Sugerencia para las personas que vean los videos. Tomen notas en cada instrucción para que puedan saber después, que hace cada instrucción. Muy buena la clase. Tarde ocho días dedicándole una hora diaria y en los fines de semana dedicándole algo más de tiempo. Pero lo terminé. Mañana comenzaré el tercer video y espero en 8 días completarlo. Luego hacer un proyecto propio apoyándome en estos códigos de programación. Tio Tech muchas Gracias.
Buen video!! un pequeño aporte. Para los que les muestre un error al ELIMINAR un registro, más concretamente el último de ellos, coloquen el siguiente código: On Error Resume Next pero no como lo mensiona en este video minuto 37; si no más bien en el objeto txt_Codigo
Private Sub txtCodigo_Change()
'Esta linea permite el manejo de errores
On Error Resume Next
Dim codigo As Integer
codigo = txt_Codigo.Value
txt_Nombre = Application.WorksheetFunction.VLookup(codigo, Sheets("BD").Range("B:F"), 2, 0)
txt_Apellido = Application.WorksheetFunction.VLookup(codigo, Sheets("BD").Range("B:F"), 3, 0)
txt_Sexo = Application.WorksheetFunction.VLookup(codigo, Sheets("BD").Range("B:F"), 4, 0)
txt_Edad = Application.WorksheetFunction.VLookup(codigo, Sheets("BD").Range("B:F"), 5, 0)
End Sub
Esto sucede en especial cuando vas a eliminar el último registro. Saludos cordiales y espero les ayude este pequeño aporte. Buen video!!
Muchas gracias por el dato. ¡Me funcionó!
@@angelricardohernandeznocel3308 para servirte
Hola, a mí me da error al momento de poner el código
Private Sub Registrar_Click()
Me.txt_codigo.Value=Range("C2").Value
End Sub
Me dice que : No se puede obtener la propiedad VLookup de la Worksheet.Function.
Te agradezco si me puedes ayudar. Gracias
me salvaste hermano, me pase buscando por todos lados
@@jeffersonjairjosetrivenope9796 para servirte
Estimado: tus videos me han servido muchísimo para administrar mi información. Te doy las gracias sinceras. Y espero que te vaya muy bien. Gracias por compartir lo que sabes. Un abrazo muy afectuoso desde Chile.
De los mejores canales que he visto, ojalá consigas el botón de platino en you tube
Gracias maestro por tus enseñanzas, de verdad te mereces todo mi apoyo y apoyo la gran verdad que enumera Alexander Villa "ojalá te den el botón de platino en yootube, te lo mereces". Te pido un favor, programa un botón para poder imprimir. Saludos.
You all probably dont care but does anybody know of a tool to get back into an instagram account..?
I was dumb forgot my login password. I appreciate any assistance you can offer me.
@Walter Valentin Instablaster ;)
@Braden Easton thanks for your reply. I got to the site through google and Im waiting for the hacking stuff atm.
I see it takes a while so I will reply here later with my results.
@Braden Easton It worked and I finally got access to my account again. Im so happy!
Thanks so much you saved my account :D
@Walter Valentin You are welcome :D
Impecable exposicion muy completa, muchas gracias por compartir tus conocimientos. Saludos
Muy buena las explicaciones, muy didáctico!! Saludos desde Mar del Plata, Argentina
Hola. Tengo una consulta.
Tengo un error en el minuto 7:15 ya que al ingresar Me.txt_codigo.Value= Range("B2").Value me aparece el error "Se ha producido el error '10040' en tiempo de ejecucion: No se puede obtener la propiedad VLookup de la clase WorksheetFunction".
Agradeceria tu respuesta.
Yo tambien tengo ese error, en apartado de
Private Sub txt_codigo_Change()
Dim codigo As Integer
codigo = txt_codigo.Value
me.txt_nombre = Application.worksheetFunction.Vlookup(codigo,.......
No ejecuta el application.worksheetsFunction.VlookUp
Apoyanos Bro¡
Saludos¡
Tengo el mismo error, haber si nos apoyan con la solución por favor
@@estebanleonelperezvazquez5684 yo tenia el mismo problema y debes revisar que al final de la instruccion donde se pone numerocolumna, 0 este bien referenciado porque el error se debe a que no esta encontrando la columna a la cual esta buscando las coincidencias
El Tio Tech es genial , me esta ayudando mucho en mi confinamiento.
excelente su conocimiento compartido en una forma dinamica y clara , sus videos de exelente ayuda, gracias
Hola Buenas noches Miguel.... primero que nada quiero agradecerte por tus tutoriales, me han ayudado mucho, por la simplicidad y efectividad de tus tips. Esta serie de 4 videos me cayeron como quien dice justito a lo que estaba necesitando para un proyecto en la oficina. Todo funciona muy bien pero tengo algunas dificultades. Primero es que tengo 2 tablas iguales pero una guarda datos de documentos enviados y otra de recibidos... esto por causa de la codificación que es diferente en cada una, pero los campos y variables son las mismas, así como el número de columnas y quiero usar el mismo formulario cargando los datos en ListView sean de la hoja activa. Lo he intentado pero no me ha funcionado. y bueno, justo por eso mismo, tampoco me ha funcionado cuando al Registrar un dato los mismo se refresquen en el ListView al mismo tiempo que en la Tabla.
Por ultimo, es que mi tabla tiene 17 columnas por lo que me envía un error a la hora de hacer una búsqueda, porque parece que existe un limite de 10 por default a la hora de hacer esa operación... No sé si me puede ayudar en eso, por favor. Gracias. Por lo demás todo excelente....
Muy buenos tus videos , hace poco te sigo y me parecen excelentes.
Saludos un abrazo desde santiago chile.
Muy buena las explicaciones Saludos desde Santiago de Cuba, Cuba
Gracias tio tech eres un crack, no dejo de seguirte te mando mis agradecimientos
Private Sub txt_codigo_Change()
Dim codigo As Integer
codigo = txt_codigo.Value
Me.txt_dni = Application.WorksheetFunction.VLookup(codigo, Sheets("BDT").Range("A:V"), 3, 0)
se ha producido el error '1004'en tiempo de ejecución -
No entiendo porque aparece ese error ... no puedo avanzar de allí...
Ese error te salió después de agregar el código al nuevo registro?
@@FredyHuaman1992 sii
Me aparece igual, lo pudieron resolver?
Excelente trabajo, me gustaría saber como agregar formatos tipo fecha y hora en los text box, dado que al crear un campo de fecha no me muestra bien el dato
yo lo solucioné agregando en el código de la lista lo siguiente. primero la variable date con: Dim fecha As Date luego asignarle el valor con: fecha=lb.List(lb.ListIndex,1) donde 1 es la columna en donde se encuentra en tu tabla y por último: Me.txt_fecha.Value = fecha que es para mostrarla
Yo lo solucione de una manera fácil, no se si es la más correcta, para las personas del futuro que tengan este problema le añadí CDate al principio de todo y quedo así:
Txt_fecha= CDate(Application.WorksheetFunction... y lo mismo que ya explicó El Tio Tech
Gran trabajo Miguel, muchas gracias.!!
Tio Tech eres muy bueno explicando, pero te falto incluir en tu video, si queremos incluir una fotografia a cada registro como lo hacemos... gracias... y un saludo desde Venezuela, Estado Zulia - Maracaibo.
Excelente tutorial, gracias a El Tío Tech, gran aporte.
Todos los videos de usted son de Alta calidad y muy instructivos. Gracias por el aporte en todo su material informativo.
Oiga, diseñe una plantilla pero en lugar de poner nombre en una celda, puse producto, al intentar editar me lleva a un error en lista, podria ayudarme por favor, de antemano muchas gracias tio tech.
Están Buenos Los tutoriales le agradezco que coloquen mas ejemplos
Excelente su enseñanza El Tío Tech, muy bien explicado
Buenos días Miguel. Ante todo mi mas sincera enhorabuena por el trabajo que desarrollas y lo que nos haces aprender a los noveles. Tengo una pregunta. Cuando selecciono un registro de una listbox y vuelco el dato a un TextBox, ¿Cómo puedo hacer para que ese mismo dato, se cree en dos tablas u hojas diferentes?. Muchísimas gracias por tu ayuda Miguel.
Hola Luis, muy amable por tus videos. Estuve muy atento y desarrolle el código junto contigo. Se producen 2 errores:
1. Cuando la tabla esta vacia y se va a crear el primer registro, se produce un error. Este error lo corregi de la siguiente manera:
Private Sub BT_AGREGAR_Click()
If Range("B4").Value "" Then
Range("B4").EntireRow.Insert
End If
Range("B4").Value = Me.txt_codigo.Value
Range("C4").Value = Me.txt_nombre.Value
Range("D4").Value = Me.txt_apellido.Value
Range("E4").Value = Me.txt_sexo.Value
Range("F4").Value = Me.txt_edad.Value
txt_codigo.Value = Range("B2").Value ' Actualizo el número del codigo
Me.txt_nombre.Value = Empty
Me.txt_apellido.Value = Empty
Me.txt_sexo.Value = Empty
Me.txt_edad.Value = Empty
Me.LISTA.RowSource = "clientes"
Me.LISTA.ColumnCount = 5
End Sub
2. Cuando se va a eliminar la última fila de la tabla, se produce un error. Este no supe como corregirlo.
Te agradeceria si para el tercer video nos dieras las soluciones a estos dos errores. No te olvides de enseñarnos como se oculta la contraseña en el momento de digitarla.
Muchas Gracias. Saludos desde el municipio de Jamundi en Colombia
hola, gracias por tu comentario, aunque aho5ra se guarda el documento, si quiero ingresar otro registro este registro se guarda en la misma fila que al anterior,
Tambien tengo el problema de cuando se elimina la ultima fila de la tabla, el error aparece en el min 27:00 y en los videos siguientes no da solucion. Agradezco si encuentra la solución
muchas gracias amigo! me salvaste la vida
El segungo problema se soluciona con un: On Error Resume Next
...
codigo = txtCod.Value
On Error Resume Next
Me.txtNombre = Application.WorksheetFunction.VLookup(codigo, Sheets("Clientes").Range("B:H"), 2, 0) ...
-------------------------------------------------------------------------------------------------------------------------------------
Fuente respuesta: www.lawebdelprogramador.com/foros/Visual-Basic-para-Aplicaciones/1771642-solucionar-este-error-Se-genera-el-error1004-no-se-puede-obtener-la-propiedad-vlookup-de-la-clase.html
@@jojojojo4580 hola muchas gracias. Voy a revisar
Hola ante todo gracias. Me ha servido de mucho este video. Quisiera hacerte una consulta, es posible duplicar un registro? Es decir seleccionar una linea y duplicarla con un nuevo nro de Codigo?
Hola amigo! Realmente muy interesante todos tus videos! Antes que nada debo agradecerte ya que esto me a ayudado mucho. Me encontrado con la siguiente interrogante. Mis códigos tienen letras y números. Y al declarar la variable me sale error. Agradezco me saques la duda! Desde ya muchas gracias por todo!!
Fantasticos tus videos!!! ayudas muchisimo. eres como un profesor particular. Lo explicas todo de maravilla. MIL GRACIAS
Hola, super este trabajo y muy bien explicado, muy agradable para trabajar solo con un poco de entendimiento básico
tengo una consulta si mis códigos son alfanuméricos como puedo hacer fácilmente que identifique cual es el ultimo utilizado ? NOTA: Las letras cambian según el producto o servicio. Gracias
Muchas gracias excelente video muy explicativo todo me funciono excel 2019
Excelente video, me ayudaste un montón gracias, solo tengo un pequeño problema, al momento de dar en agregar se agrega mi producto a la lista del formulario, pero no al excel, recién cuando salgo del formulario lo agrega, me puedes ayudar con eso por favor
28:47 (para los que tengan el mismo problema)
hola amigo solo queria decirte que eres el PUTO AMO..idolo
buenos días me gustan los vídeos de VB, me puedes explicar y asignar botón el código, como para que sume de a uno en la misma celda y se bloque después de hacer click, asignar contraseña. grcias
Excelente video, me aclaro todo, muchas gracias
Hasta el video anterior todo super bien, pero entonces empiezo a prograrmar el boton de registrar y me sale error 1004 y dice "No se puede obtener la propiedad Vlookup de la clase Worksheetfunction, que hago?
muy buen tutorial una pregunta como hago para que los nuevos registros se graben debajo del anterior (o del ultimo), en vez de insertar una fila nueva????
Hola, necesito hacerte un par de consultas, pero es imposible que me contestes, o al menos no respondes a ninguno de los otros comentarios que te he dejado en otros vídeos. Me puedes decir de que forma puedo hacerte las consultas y ver si me puedes ayudar.
Gracias.
Excelentes videos los mejores diría muchas gracias por compartir
Fantástico, intento no perder nadar aunque cuesta, simple curiosidad, aprender por saber gracias
Excelente tu explicación, ahora bien como podría autogenerar un código alfanumérico para los clientes o productos por ejemplo C001
Miguel, un gusto saludarte
tengo una duda
Me.txt_ruta = Application.WorksheetFunction.VLookup(codigo, Sheets("registro").Range("B:J"), 2, 0)
eso me sale remarcado en amarillo y no me permite registar mis datos.
Buenas tardes me funciona todo perfectamente y es de gran ayuda, pero yo en mi formulario tengo cuadros combinados y por eso me.ds un error 1004, como puedo solucionarlo?? Muchas gracias de antemano y por David sigue subiendo videos ya que son de gran ayuda.
Hola! Buen día, estoy muy atenta con sus cursos y me han ayudado a mejorar mis libros de excel en el trabajo.
Quisiera saber si me puede orientar para agregar un registro, pero en una tabla de excel y no en una hoja como tal. Existe alguna función en VB para hacer esto?
El Mismo codigo que El utilizo para registrar y Agregar TE sirve para tu tabla
hola miguel, un saludo, excelente tus vídeos, de pronto un tutorial para pasar los datos que seleccione de la base de datos a otro listbox, es para una plantilla de presupuesto. te explico tendré una userform con el modelo de mi plantilla, desde allí usare un botón para ir a mi base de datos de materiales, que es como la de este vídeo, pero quiero a parte de todos los botones que tiene tu vídeo tenga uno que me permita insertar el material que elija , solo con algunos datos como código, descripción, unidad y precio, solo esas columnas porque las demás columnas de la base de datos son referencias. de pronto me puedes explicar, o hacer un tutorial. gracias
hola buen dia Tio Tech, primero quierro agredecerte por tu trabajo de enseeñarnos tu manera de dar solucion a ete tema.
tambien quiero compartirte un detalle que se evidencia en el video y es que al momento de elegir un registro desde la listbox el txtbos de el codigo no coincide con el que se muestra en el list, quisiera dejarte la innquietud y preguntarte a que se debe, te agradeceria muco una respuesta, saludos
Hola. He estado siguiendo los vídeos para un proyecto. Trabajo ahora mismo con O2016. Te cuento: He creado una tabla, a la tabla debo agregarle la fina. Según tu procedimiento, debería agregar una línea al final de la tabla. Pero no sólo saca error, sino que además reinicia excel. Además la BD no está en la hoja activa, sino que tiene que estar oculta. Para el resto de cosas trabaja o lo he hecho trabajar, pero para esto en concreto, a la hora de "agregar" arroja error. Si ya has respondido en algún vídeo, de porqué el error, lo veré si me lo indicas, por favor. El segmento de código es este: ultfil = Sheets("BDO").Cells(Rows.Count, "A").End(xlUp).Row + 1 // MsgBox ultfil // Sheets("BDO").Range("A" & ultfil).EntireRow.Insert // Sheets("BDO").Range("A" & ultfil).Value = Me.txtnof.Value. Muy agradecido.
27:04 al eliminar el ultimo registro de la lista arroja el error 1004 porque en el evento txt_codigo_ change el valor que toma la variable código es cero. y al no existir un registro con código 0 el programa se chashea.
Disculpa joseph, como lo solucionaste?
Hola joseph puedes por favor ayudarme con este problema?
hay solucion???
Excelente tutorial mi estimado. Saludos desde Peru
Saludos desde Perú a Perú entonces, Miguel es de Perú
Felicidades, mi pregunta es, el listBox tiene un limite de capacidad, gracias
Buenas Tardes....Ing. Miguel Vela... te estoy siguiendo paso a paso en este proyecto, claro yo agregue otros campos que complementan lo que tu estas haciendo esa parte ya funciona muy bien, ahora necesito agregarle otro formulario (ESTADÍSTICAS) donde se harán una serie de cálculos y se guardara información en una Tabla... pero ese formulario realizo una búsqueda para poder agregar las estadísticas generadas en el juego ... me puedes ayudar a programar ese formulario, me puedes dar un correo donde enviarte el archivo... gracias
Hola muchas gracias por el tutorial.
Antes de ir a trabajar e instalarlo debo llevar claro algunas dudas ya que en mi trabajo no tengo acceso a Internet y bueno le estoy escribiendo un sábado para intentarlo un lunes.
Mi pregunta es:
En el código de buscador si yo no le agrego el LookAt me permite el buscador darme sugerencias de nombres al escribir un par de letras?
Ejemplo:
Escribo Mar
Me devuelve varios nombres con Mar
Ta sea Marcos
Mario
O incluso todo los registros con un mismo nombre
Muchas gracias
Muchas gracias por el aporte
en el botón eliminar tengo un error linea = file.Row (se requiere un objeto ?
)
Muchas gracias por tanta información. Tengo solo un ligero inconveniente, en la hoja de excel con el codigo utilizando el MAX para agregar un numero automaticamente, no me lo agrega, se queda en el mismo hasta que salgo del form y le doy doble clic en cualquier parte de la hoja. como puedo solucionar eso? de antemano muchas gracias
Genial tu video, estoy aprendiendo con tus videos, pero tengo un problema, al ingresar una columna nueva cuando registro, se queda con el formato de los encabezados y el contador del código no se acciona. y la otra consulta, es que si al hacer click en "eliminar" solo puedo escribir un mensaje, pero sin ingresar clave ? que al hacer click en aceptar cumpla su función ???
Quisiera saber qué es mejor si programar un formulario con VB o programar solo con macros
Holaa @eltiotech muy buen video, como puedo hacerlo si quiero que el formulario tenga option buttons ?
Si tengo un código alfa numérico, me manda el error 1004, ¿que debo modificar en la línea de application.worksheetfunction.VLookup?
Lograste resolverlo??
Lograste modificarlo ? Help!
@@mercedeswwtozcano1265 Me pasó lo mismo. Me di cuenta que el error que estaba cometiendo fue porque tenia el asignador de nuevos códigos en una columna diferente de donde estaban los códigos previamente asignados. Es decir, si tienes la columna de los códigos en "B" deben hacer la formula (=max(BDCODIGO)+1) en la misma "B". aporte de @Fredy Huamán
@@synthiayudith4127 Me pasó lo mismo. Me di cuenta que el error que estaba cometiendo fue porque tenia el asignador de nuevos códigos en una columna diferente de donde estaban los códigos previamente asignados. Es decir, si tienes la columna de los códigos en "B" deben hacer la formula (=max(BDCODIGO)+1) en la misma "B". aporte de @Fredy Huamán
@@ANDRES139 eso no funciona, tengo todo tal cual pero sigue apareciendo
Buenos dias , una consulta : hay alguna diferencia si desde el evento ACTIVATE del form se va trabajando el desactivar los botones de comando y si hay cual seria.?, gracias.
hola miguel, muchas gracias por tus videos, la verdad que me estan sirviendo un chingo, se agradece de antemano, te queria preguntar sobre un error que me sale en el min 19:27 al modificar el boton de registrar hay una parte donde dide limpa textbox, a mi me sale error despues de ahi ya no puedo hacer nada justo antes de donde pones limpa, hay como un signo pero no logro ver cual es para poder ponerlo en mi codigo, me podrias ayudar con eso?
eXCELENTE.. Mil gracias
Tio Tech muchas gracias por si apoyo... me gustaría consultar, en caso de querer registrar el código sin que sea automático.. ¿como se haría?. Muy agradecido
Gracias por el aporte. Cuando harás el vídeo para buscar
Excelente maestro bien el codigo no se puede repetir bien pero los demas registros como nombre apellido no deberia repetirse controlando que no haya datos repetidos gracias
En verdad estuvo bien explicado y con funciones bien padres que realiza la aplicación, mi pregunta es:¿Aplica el mismo código para registros de más de 10 columnas en el caso de carga de datos del listbox?
Yo puse 12 y funciona, solo tengo un problema entre el codigo y el Vlookup
no se podria añadir en la programación alguna linea para que nos genere un codigo automatico y unico? en vez del la formula Max?
Hola, muchas gracias por tu tiempo para enseñarnos!!
Cuando agrego una fila desde el botón registrar, me copia el formato del encabezado de la tabla. Como puedo solucionarlo?
Hola, un gran canal di por casualidad pero excelente contenido.
una pregunta, si en vez de querer jalar un valor de una celda, quiera solo una formula y no el valor de la celda, como le hago. en este caso lo quiero para llevar el control de nacimientos y desarrollo de becerros, te lo menciono por que también quisiera saber como ingresar una fecha y con ella utilizar una formula para la edad.
saludos y felices fiestas
No necesitas hacer eso, en Vba existen funciones que hacen lo que deseas, para tu caso, sería la función DateDiff, ej.
Range("c3").Value = DateDiff("yyyy", fechadenacimiento, Date)
o
Txt_Edad.text= DateDiff("yyyy", fechadenacimiento, Date)
@@marcoantonio6 muchísimas gracias
Buen Dia Tio, hay una parte del proceso que me devuelve error me podrias ayudar? esta genial el formato!!
Consulta, en lugar de un textbox he colocado un Combobox para el sexo, dándole 2 únicos valores: Masculino y Femenino en lugar de escribirlos manualmente, pero al seleccionar cualquiera de ellos y al darle click en modificar no lo modifica pero con un textbox si lo hace.
Que tal Tio Tech, un gusto saludarte y darte la gracias por el conocimiento que nos compartes, de verdad es muy valioso. Solo que necesito tu ayuda. Realice los pasos y funciona muy bien, pero yo ocupo que los valores insertados sean al final de la tabla. En un video anterior muestras como es esto y lleve acabo el mismo procedimeinto del video anterior, pero no tengo exito, me arroja un error, y es justamente en este parametro :
Range("A" & ultimo).Value = txt_codigo.Value
Range("B" & ultimo).Value = Me.txt_Gasto.Value
Range("C" & ultimo).Value = Me.txt_Cantidad.Value
Range("D" & ultimo).Value = Me.txt_Dia.Value
txt_codigo.Value = Range("A4").Value
todo completo es:
Private Sub BT_Agregar_Click()
ultimo = Cells(Rows.Count, "A").End(xlUp).Row + 1
Range("A" & ultimo).EntireRow.Insert
Range("A" & ultimo).Value = txt_codigo.Value
........... se pone en amarillo, de hecho me saca de excel
Range("B" & ultimo).Value = Me.txt_Gasto.Value
Range("C" & ultimo).Value = Me.txt_Cantidad.Value
Range("D" & ultimo).Value = Me.txt_Dia.Value
txt_codigo.Value = Range("A4").Value
Me.txt_Gasto.Value = Empty
Me.txt_Cantidad.Value = Empty
Me.txt_Dia.Value = Empty
Me.txt_lista.RowSource = "Datos"
Me.txt_lista.ColumnCount = 4
End Sub
Espero tus comentarios
Saludos!
No te estará mandando el error 424 en tiempo de ejecución?
@@marcoantonio6 no, solo me saca de excel. Lo que ocupo es saber como insertar en la ultima fila, no en la primera. Saludos!
@@victormanuel2308 tu código lo copié en un archivo de Excel, y añadió el registro pero una fila por debajo de la tabla(estando vacia), porque sl ir hacia arriba (xlup) en el caso de una tabla vacia, no selecciona la última celda escrita sino la última fila de la tabla(éste o no escrita), tendrías que condicionar eso pero si funciona. Insertar una fila habiendo tantas filas vacias está demás
@@marcoantonio6 el código funciona bien hasta Range("A" & ultimo).EntireRow.Insert, esto lo compruebo con msgbox (ultimo) para que me diga cual es la fila ultima, y si me da el valor de la ultima fila. El problema es que cuando le doy indicaciones para que inserte los valores de Range("A" & ultimo).Value = txt_codigo.Value, por ejemplo, no lo realiza y me saca de excel. Yo entiendo que si me da el valor correcto antes de indicar que inserte valores y colocando la celda "A" & ultimo, como variable, debería de poder insertar el código en la tabla. Quizás sea otra instrucción que se debe poner
si lo haces en otro libro o en otra hoja
Simplemente, excelente
Hola tío techo muchas gracias por el video es genial, tengo un inconveniente cuando se me agrega la celda el código está pasando como texto y no como número , por eso la fórmula max para que me género un código diferente siempre no me lo reconoce y siempre me queda el mismo. Cómo soluciono ese inconveniente . Muchas gracias quedó antento a tu respuesta.
Ejemplo:
Private_Sub Boton_agregar_Click()
Range("B4").Value = Val(Txt_codigo)
Y se soluciona el error (:
@@luisencarnacion2200 muchas gracias brother, estaba teniendo un dolor de cabeza por ese problema
@@MeFlos para servir (;
muchas gracias me sirvio mucho
Gracias por el vídeo! Necesito una ayuda con un problema, al ejecutar el botón registrar me da un error “Run-Time error 1004”, cuando hago clic en “debug” me hace referencia al buscarv de cada uno de los campos de txt. Gracias!!
Me paso algo parecido y fue porque tenia el asignador de nuevos codigos en una fila diferente de donde estaban los codigos previamente asignados, es decir si tienes la fila de los codigos en "B" deben hacer la formula (=max(BDCODIGO)+1) en "B".
@@jst0490 Muuuccchhiiissiiimmmaaasss gracias, creo que eres la única que le atinó al error del botón registro. Deberías de actualizar este comentario para que el resto de las personas sepa que hacer en caso de que les suceda lo mismo ;) Saludos desde MEX
@@jst0490 OMG si funcionó!!! Muchas gracias!!! Ahorita hago un comentario para los demás que tienen problemas!
Una consulta, en algunas partes, como en el boton eliminar no se definio la variable. Como hace para que no le salga error?
Pregunto lo mismo
Me pasa lo mismo con el botón eliminar, todo corre bien excepto si eliminas el ultimo registro...
@@jagularqui me pasa lo mismo y no se como se soluciona. solución?
Cuando utilizo el botón Eliminar funciona todo, "seleccionar un registro", "poner contraseña" ... pero al pulsarlo me traslada a cualquier otra pantalla abierta de mi ordenador, he de volver y sí me lo ha eliminado. Por qué me saca fuera?
TIO TECH seguir instruyendo sobre este programa... consulto, como puedo agregar mas botones para mas datos. desde Maipíu Santiago de Chile, ya lo estoy aplicando con mis registros, deseo potenciarlo, en el caso de tener datos o un codigo que se repitan ya que tengo 1 codigo me entra y luego de unos dias sale pero con otros datos asociados en realidad es ver la trazabilidad durante el año .... gracias felicidades.. soy luis alvarez
Sería interesante ver el uso del combo box en este formulario
Hola Ivan, adapte la programación con varios combo box, los cuales se alimentan desde una hoja donde hice listas en formato tablas. Esto se programa en la activacion del userform. A continuación el codigo.
Private Sub UserForm_Activate()
CLIENTE.RowSource = "LISTACLIENTES"
DESCRIPCION_PRODUCTO1.RowSource = "LISTAPRODUCTOS"
DESCRIPCION_PRODUCTO2.RowSource = "LISTAPRODUCTOS"
DESCRIPCION_PRODUCTO3.RowSource = "LISTAPRODUCTOS"
DESCRIPCION_PRODUCTO4.RowSource = "LISTAPRODUCTOS"
DESCRIPCION_PRODUCTO5.RowSource = "LISTAPRODUCTOS"
LISTA_COTIZACION.RowSource = "COTIZACIONES"
LISTA_COTIZACION.ColumnCount = 12
FORMULARIO_COTIZACIONES.Height = 167
Me.LISTA_COTIZACION.ColumnHeads = True
End Sub
me de antemano le agradezco el conocimiento es para pasarlo mil gracias, men me surgió una duda y pues yo no se mucho de programar y pues quería saber si era posible: en el BT_AGREGAR se podría agregar de ves de lo que se escriba en los "txt_ XXXX" lo que seleccionemos de la Lista y que cuando lo agreguemos se arroje al final después del ultimo registro que tenga la tabla.
Private Sub BT_AGREGAR_Click()
ultimo = ActiveSheet.Cells(Rows.Count, "NUC").End(xlUp).Row + 1
Range("NUC" & ultimo).EntireRow.Insert 'insertar la fila en en el sifuiente dato
Range("NUC" & ultimo).Value = LISTA.List(LISTA.listaindex, 1).Value 'aqui no se como seguir
y lo otro es que no he logrado que me tome el rango de una tabla determinada en la hoja ya que tengo dos tablas una debajo de la otra y a cada una le realizo el formular es para que solo consultar y buscar un materia que necesito para una resta y después de seleccionado lo agregue a la receta "table" la tabla la llame= "NUC"
Hola señor Vela. Viendo este excelente video y explicación, tengo tres registros pero, al intentar REGISTRAR un nuevo empleado, el número consecutivo siguiente me trae los datos del último registrado. Por favor su ayuda. Gracias
Error 1004 no se puede obtener la propiedad VLookUp de la clase WorkSheetFunction
Me.Text_producto = Application.WorksheetFunction.VLookup(codigo, Sheets("BD").Range("B:I"), 2, 0)
COMO LO ARREGLO?? NO SE COMO HACERLO
Eso pasa cuando no arroja ningun dato valido
Quiera saber si puedes hacer para una salida de los datos que ingresa a otra hoja
Hola cordial saludo ... muy buena toda la explicacion y enseñanza
Tambien presento el error "Run time error 1004, Method `Range` of object`_Global`failed ... exactamente en la linea """Range("C & linea").EntireRow.Delete""" que es el rango donde se encuantra mi dato que deseo eliminar ... que opciones tengo para solucionar.
Buenas Noches Tio Tech consulta quiero agregar un boton de registro a mi buscador intelenge hecho con formulario .un boton silimae al de Limpiar pero que sirva para regstrar en una nueva hoja .de ante mano gracias por tu respuesta
buenas! genial tutorial, pero que pasaría si yo tengo el botón del formulario en otra hoja "ej: portada" y quiero manejar todo desde esa hoja, cuando lo probé me cambiaba los datos en la hoja de portada y no en la de socios, como podría solucionarlo? desde ya muchas gracias
Excelente tutorial, ¿podrías enseñar como llamar un formulario dentro de otro?
Private Sub Boton_Click()
Formulario.Show
Unload FormularioAnterior
End Sub
UN SISTEMA HERMANO COMPLETO KARDEX
Buenas tardes excelente tutorial, me gustaria saber que sentencia debo utilizar para insertar los datos en la ultima celda que contiene datos si tengo varias hojas activas
Si insertas datos en la última celda que contiene datos, se borrarían los penúltimos datos ingresados
Buenas noches! Excelente tutorial. Al realizar mi formulario todo esta bien, pero en el boton de elimar me sale "error 424" como lo puedo solucionar? este error hace que no me deje borrar nada de la base de datos.
Mil gracias
Hola una consulta, si deseo modificar una celda de una campo (columna) que está gobernada por una formula por ejemplo la función suma, ¿cómo puedo leer la posición (su fila) de ese dato con el código que haz puesto en el botón modificar? Lo intentado pero solo funciona para celdas que no tienen una formula.
Profe, tengo un problema....para agregar una fila no me sirve la función Max, ya que en mi caso lo que intento agregar son en su mayoría números y la función Max, considera la columna con el mayor valor para contar...como lo soluciono?
BUENAS TARDES ESTOY SIGUEINDO PASO A PASO PERO NO ME RECONCE ESTE FORMATO:
txt_apellidomaterno = Application.WorksheetFunction.VLookup DICE QUE NO ES FORMATO WORKSHEETFUNCTION CON VLOOKUP
Una pregunta y si en vez de código se tiene es número de documento se agrega automáticamente?
buen dia donde puedo descargar el ejemplo ???
Hola!
Muy buen video, super bien explicado!
He tratado de hacer todo igual pero tengo dos errores... El primero es al momento de extraer los datos de la tabla para modificar, lo que pasa es que entre mis datos a llenar también estoy usando combobox y no se como hacer para que se rellenen... Mi código que intente es este:
Private Sub UserForm_Initialize()
For i = 1 To 8
Me.Controls("Txt" & i).Value = ActiveCell.Offset(0, i - 1).Value
Next i
For j = 9 To 13
Me.Controls("Cmb" & j).Value = ActiveCell.Offset(0, j - 1).Value
Next j
End Sub
(Cabe señalar que mis Txt están enumerados del 1 a 8, los combobox son del 9 al 13, los datos si se rellenan pero me jala los datos desoredenados)
Mi segundo error es al intentar actualizar, no me deja modificar los datos en la tabla, me arroja "Error en el metodo Range del objeto Global"...
Private Sub BtnActualizar_Click()
Dim fila As Object
Dim linea As Integer
valor_buscado = Me.Txt2
Set fila = Sheets("BD").Range("C:C").Find(valor_buscado, LookAt:=xlWhole)
Range("B").Value = Me.Txt1.Value
Range("C").Value = Me.Txt2.Value
Range("D").Value = Me.Txt3.Value
Range("E").Value = Me.Cmb9.Value
Range("F").Value = Me.Txt4.Value
Range("G").Value = Me.Txt5.Value
Range("H").Value = Me.Txt7.Value
Range("I").Value = Me.Cmb10.Value
Range("J").Value = Me.Cmb12.Value
Range("K").Value = Me.Txt6.Value
Range("L").Value = Me.Cmb13.Value
Range("M").Value = Me.Txt8.Value
Range("N").Value = Me.Cmb11.Value
MsgBox ("Datos Actualizados Exitosamente")
End Sub
Rango C es donde están los nombres de los empleados, no lo hice por número de empleado porque no tengo el de todos y era más complicado... Txt2 es el rango C, que es "Nombre" en mi tabla...
Sé que hace mucho que subiste este video pero espero que me puedas ayudar a solucionar mis errores, me ayudarias mucho, están a punto de quitarme el trabajo por no poder solucionar este error....
AYUDAAAA!!