Mejora en búsqueda según datos excel

Tengo este código que buscar los datos en excel y los transporta a un listbox

Private Sub TextBox1_Change()ListBox1.ColumnCount = 3 'numero de columnasListBox1.ColumnWidths = "60;70;19" 'asignando ancho de columnasListBox1.ColumnHeads = TrueIf OptionButton2.Value = True Then 'buscar por usuario Dim t As Long Dim i As Long t = Application.WorksheetFunction.CountA(Sheets("Usuarios").Range("A:A")) ListBox1.Clear For i = 1 To t If InStr(1, Sheets("Usuarios").Range("A" & i), Trim(TextBox1)) > 0 Then ListBox1.AddItem Sheets("Usuarios").Range("A" & i) ListBox1.List(ListBox1.ListCount - 1, 1) = Sheets("Usuarios").Range("C" & i) ListBox1.List(ListBox1.ListCount - 1, 2) = Sheets("Usuarios").Range("B" & i) End If NextEnd If If OptionButton1.Value = True Then 'buscar por nombre Dim t2 As Long Dim i2 As Long t2 = Application.WorksheetFunction.CountA(Sheets("Usuarios").Range("B:B")) ListBox1.Clear For i2 = 1 To t2 If InStr(1, Sheets("Usuarios").Range("B" & i2), Trim(TextBox1)) > 0 Then ListBox1.AddItem Sheets("Usuarios").Range("A" & i2) ListBox1.List(ListBox1.ListCount - 1, 1) = Sheets("Usuarios").Range("C" & i2) ListBox1.List(ListBox1.ListCount - 1, 2) = Sheets("Usuarios").Range("B" & i2) End If NextEnd If If OptionButton3.Value = True Then 'buscar por cedula Dim t3 As Long Dim i3 As Long t3 = Application.WorksheetFunction.CountA(Sheets("Usuarios").Range("C:C")) ListBox1.Clear For i3 = 1 To t3 If InStr(1, Sheets("Usuarios").Range("C" & i3), Trim(TextBox1)) > 0 Then ListBox1.AddItem Sheets("Usuarios").Range("A" & i3) ListBox1.List(ListBox1.ListCount - 1, 1) = Sheets("Usuarios").Range("C" & i3) ListBox1.List(ListBox1.ListCount - 1, 2) = Sheets("Usuarios").Range("B" & i3) End If NextEnd IfEnd Sub 

el problema con este código es que por ejemplo si le doy a buscar por nombre y mi nombre es "Emmanuel" NO puedo poner "emmanuel" tengo que poner "Emmanuel" es decir lo que quiero es que me evalúe letras mayúsculas y minúsculas por igual.

1 respuesta

Respuesta
1

No se ve bien el código, está en una sola línea.

¿Y cuál instrucción utilizar para buscar?

este es el código

Private Sub TextBox1_Change()
ListBox1.ColumnCount = 3 'numero de columnas
ListBox1.ColumnWidths = "60;70;19" 'asignando ancho de columnas
ListBox1.ColumnHeads = True
If OptionButton2.Value = True Then 'buscar por usuario
Dim t As Long
Dim i As Long
t = Application.WorksheetFunction.CountA(Sheets("Usuarios").Range("A:A"))
ListBox1.Clear
For i = 1 To t
If InStr(1, Sheets("Usuarios").Range("A" & i), Trim(TextBox1)) > 0 Then
ListBox1.AddItem Sheets("Usuarios").Range("A" & i)
ListBox1.List(ListBox1.ListCount - 1, 1) = Sheets("Usuarios").Range("C" & i)
ListBox1.List(ListBox1.ListCount - 1, 2) = Sheets("Usuarios").Range("B" & i)
End If
Next
Else
If OptionButton1.Value = True Then 'buscar por nombre
t = Application.WorksheetFunction.CountA(Sheets("Usuarios").Range("B:B"))
ListBox1.Clear
For i = 1 To t
If InStr(1, Sheets("Usuarios").Range("B" & i), Trim(TextBox1)) > 0 Then
ListBox1.AddItem Sheets("Usuarios").Range("A" & i)
ListBox1.List(ListBox1.ListCount - 1, 1) = Sheets("Usuarios").Range("C" & i)
ListBox1.List(ListBox1.ListCount - 1, 2) = Sheets("Usuarios").Range("B" & i)
End If
Next
Else
If OptionButton3.Value = True Then 'buscar por cedula
t = Application.WorksheetFunction.CountA(Sheets("Usuarios").Range("C:C"))
ListBox1.Clear
For i = 1 To t
If InStr(1, Sheets("Usuarios").Range("C" & i), Trim(TextBox1)) > 0 Then
ListBox1.AddItem Sheets("Usuarios").Range("A" & i)
ListBox1.List(ListBox1.ListCount - 1, 1) = Sheets("Usuarios").Range("C" & i)
ListBox1.List(ListBox1.ListCount - 1, 2) = Sheets("Usuarios").Range("B" & i)
End If
Next
End If
End If
End If
End Sub

y el archivo se lo envíe esta en el formulario que se llama "usuarios"

Esta pregunta es sobre lo mismo, ¿puedes solucionarlo con esto?

If InStr(1, UCase(Sheets("Usuarios").Range("A" & i)), UCase(Trim(TextBox1))) > 0 Then

Prueba y me comentas

Saludos. Dam

Es el mismo código, pero son dos preguntas diferentes, y con este ya me resolvía esta pregunta un millón de gracias,


PD: La otra pregunta es diferente y aun esta pendiente.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas