Tengo una hoja excel con 3 filas: usuario (A1), nombre (B1), entidad(C1). Mediante un form con tres textbox, deseo lo siguiente: cuando ingrese en textbox1 el usuario, automáticamente valide los demás datos y los traiga a textbox2 (nombre)y textbox3(entidad)
Siempre he dicho que más vale tratar de hacer que alguien "comprenda" el cómo hacer algo, que simplemente decir "se hace así:": Debemos comprender ciertos conceptos: Objeto, Método, Propiedad, Variable
Ejemplos de Objetos: Userform, TextBox, Label, ComboBox ... etc Range(), ActiveCell, ActiveSheet, Cells ... etc Metodo: Es una accion que se puede hacer con los objetos, para acceder a los metodos, se escribe el nombre del Objeto, enseguida un punto y despues el metodo, por ejm: UserForm1.Show = Muestra en pantalla un Userform ActiveCell.ClearContents = Borra el contenido de la Celda ActiveCell.Offset(NFilas, NColumnas) = "Offset" Nos permite "brincar" Filas y/o Columnas que indiquemos TextBox1.SetFocus = Selecciona el TextBox1 Propiedad: Son las Propiedades de un Objeto que puedes modificar, ejm: ActiveCell.Value 'Es el Valor que contiene la Celda Activa ActiveSheet.Name = "Nombre Nuevo" 'Cambiamos el Nombre de la Hoja Activa Variable: Es una letra, letras o palabra donde "guardamos" algun Valor, hay varios tipos de Variables: Boolean (Cierto/Falso), Integer(Entero 0 a 32,768), Double (Con Decimales), String (Texto) Object(Un Objeto de Excel) Etc... En muchas partes nos recomiendan poner Comentarios a nuestras Macros, para eso poneos primero este símbolo " ' " (Comilla Simple) Habiendo visto esto, entonces para poner los valores correspondientes al Usuario escrito en el Textbox1, primero lo buscamos en la hoja 'Asignamos la busqueda a la Variable "V" Set V = Cells.Find(TextBox1.Value,,,XlWhole) If Not V Is Nothing Then 'Si lo encuentra... TextBox2.Value = Range(V.Address).OffSet(0, 1).Value 'Asignamos el Nombre al Tex2 TextBox3.Value = Range(V.Address).OffSet(0, 2).Value 'Asignamos la Entidad al Tex3 Else 'Si no lo encuentra... MsgBox "No encontrado", vbInformation Exit Sub End If Despues de un poco de teoria, me despido... Saludos :P :D
Gracias por tu explicaci'on. Exelente ya corre el form. Pero tengo otro problemilla es algo similar lo que pasa acá es que en Hoja2 tengo una tabla. Es un listado así: A2(EQUIPO)B2(MARCA) C2(PRECIO). Tengo una fórmula BUSCARV en B1 y C1. Aperturo un form igual con tres textbox cuando ingreso en textbox1 digamos... 1208 este dato va a A1 y se ejecuta la fórmula buscarv pero ahora lo que quiero es el resultado de B1 y C1 vaya a Textboxt2 t Textbox3 respectivamente.
¿La fórmula BUSCARV busca en otro libro? ¿O es en el mismo?
Busca en el mismo libro... gracias nuevamente
Si busca en el mismo libro, entonces usa el código que ya te puse: 'Asignamos la busqueda a la Variable "V" Set V = Cells.Find(TextBox1.Value,,,XlWhole) If Not V Is Nothing Then 'Si lo encuentra... TextBox2.Value = Range(V.Address).OffSet(0, 1).Value 'Asignamos el Nombre al Tex2 TextBox3.Value = Range(V.Address).OffSet(0, 2).Value 'Asignamos la Entidad al Tex3 Else 'Si no lo encuentra... MsgBox "No encontrado", vbInformation Exit Sub End If O mandame tu archivo para checarlo, con la explicación de lo que quieres hacer. [email protected]