Formulario para búsqueda predictiva en excel

Nuevamente pidiendo su ayuda o orientación, bueno estoy haciendo una base de datos de clientes en excel, y tengo 2 dudas la primera ya tengo casi terminada el userform para ingresar datos en la hoja "dir", pero cuando pongo esta hoja"dir"oculta no funciona el userform,, les pongo el codigo

Private Sub CommandButton1_Click()
Sheets("dir").Activate
If TextBox2 = "" Then
MsgBox "Campo de nombre vacio,complete por favor", vbExclamation, "Soft"
TextBox2.SetFocus
Else
Range("A" & Cells.Rows.Count).End(xlUp).Offset(1).Select
ActiveCell = TextBox2.Value
ActiveCell.Offset(0, 1) = TextBox3.Value
ActiveCell.Offset(0, 2) = TextBox5.Value
ActiveCell.Offset(0, 3) = TextBox15.Value
ActiveCell.Offset(0, 4) = TextBox7.Value
ActiveCell.Offset(0, 5) = TextBox13.Value
ActiveCell.Offset(0, 6) = TextBox14.Value
ActiveCell.Offset(0, 7) = TextBox16.Value
MsgBox "cliente registrado", vbInformation, "Soft"
TextBox2 = ""
TextBox3 = ""
TextBox5 = ""
TextBox15 = ""
TextBox7 = ""
TextBox13 = ""
TextBox14 = ""
TextBox16 = ""
TextBox2.SetFocus
End If
Sheets("Control").Select
End Sub
Private Sub CommandButton4_Click()
Unload Me
End Sub
Private Sub CommandButton5_Click()
Unload Me
Buscar.Show
End Sub

Private Sub TextBox2_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If Len(TextBox2) = 9 Then
TextBox2 = 0 & TextBox2
CommandButton2.Enabled = True
Exit Sub
Else
End If
End Sub
Private Sub TextBox7_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If KeyAscii < 47 Or KeyAscii > 57 Then KeyAscii = 0
End Sub
Private Sub TextBox15_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If KeyAscii < 45 Or KeyAscii > 57 Then KeyAscii = 0
End Sub
Private Sub TextBox14_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If KeyAscii < 47 Or KeyAscii > 57 Then KeyAscii = 0
End Sub

Private Sub TextBox2_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If KeyAscii < 45 And KeyAscii <= 75 Then KeyAscii = 0
End Sub

Private Sub UserForm_Click()

End Sub

Mi otra duda es que no puedo hacer un userform. En el cual en el cuadro de texto ponga un nombre con texto predictivo (no se si se llama asi) a lo que me refiero mientras vaya escribiendo el nombre a buscar me vayan apareciendo opciones como en una lista desplegable para que sea mas facil a l ahora de que haya clientes con mismos nombre o apellidos..

1 respuesta

Respuesta
1

Para pasar datos a una hoja oculta no hace falta seleccionarla, solo nombrarla.

Por ej:

Sheets("dir").Range("A" & Cells. Rows. Count).End(xlUp).Row+1)= TextBox2.Value
y así con cada línea.

Para no tener que escribir tanto, me gusta definir al inicio cual es la primer fila libre con esto:

filx= Sheets("dir").Range("A" & Cells.Rows.Count).End(xlUp).Row+1
'y luego se realiza el pase:
Sheets("dir").Range("A" & filx)= TextBox2.Value
Sheets("dir").Range("B" & filx)= TextBox3.Value
'y así con el resto

Sdos. Cuando finalices esta consulta seguimos con el otro tema. 

Elsa

muchas gracias por responder tan rápido. lo probare y si tuviese alguna duda te escribiré nuevamente y agradecería su respuesta ,gracias.

Discúlpame por demorar en responder pero ya lo hice como me explicaste definiendo primero y luego poner los valores de cuadro de texto, me quedo excelente.. gracias, ¿podemos ir con el otro tema?. Saludos.

Si, pero primero valora esta consulta para darla por cerrada y abrí una niueva en el tablón. En este foro se esta respondiendo un tema por cada consulta.

Sdos!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas