Reemplaza tus códigos por estos códigos, como recomendación es mucho más eficiente trabajar con filtros (autofilter) ya que tienen como ventaja que puedes hacer el filtro por cualquier parte del nombre, esta programación que tienes es para cadena consecutiva
'Código para filtrar datos en el formulario de clientes
sub filterbyname()
dim clientes as worksheet: set clientes = sheets("clientes")
dim uf as integer
dim nombre as string
dim identidad as string
uf = clientes.range("c" & rows.count).end(xlup).row
if trim(formulariocli.clinombre.value) = "" and trim(formulariocli.cliidentidad.value) = "" then
formulariocli.listacli.rowsource = clientes.name & "!b8:f" & uf
exit sub
end if
autofiltermode = false
formulariocli.listacli = clear
formulariocli.listacli.rowsource = clear
for i = 8 to uf
nombre = clientes.cells(i, 3).value
identidad = clientes.cells(i, 2).value
if ucase(nombre) like ucase(formulariocli.clinombre.value) & "*" and ucase(identidad) like ucase(formulariocli.cliidentidad.value) & "*" then
formulariocli.listacli.additem clientes.cells(i, 2).text
formulariocli.listacli.list(formulariocli.listacli.listcount - 1, 1) = clientes.cells(i, 3).text
formulariocli.listacli.list(formulariocli.listacli.listcount - 1, 2) = clientes.cells(i, 4).text
formulariocli.listacli.list(formulariocli.listacli.listcount - 1, 3) = clientes.cells(i, 5).text
formulariocli.listacli.list(formulariocli.listacli.listcount - 1, 4) = clientes.cells(i, 6).text
end if
next i
end sub
sub filterbyid()
dim clientes as worksheet: set clientes = sheets("clientes")
dim uf as integer
dim nombre as string
dim identidad as string
uf = clientes.range("b" & rows.count).end(xlup).row
if trim(formulariocli.clinombre.value) = "" and trim(formulariocli.cliidentidad.value) = "" then
formulariocli.listacli.rowsource = clientes.name & "!b8:f" & uf
exit sub
end if
autofiltermode = false
formulariocli.listacli = clear
formulariocli.listacli.rowsource = clear
for i = 8 to uf
nombre = clientes.cells(i, 3).value
identidad = clientes.cells(i, 2).value
if ucase(nombre) like ucase(formulariocli.clinombre.value) & "*" and ucase(identidad) like ucase(formulariocli.cliidentidad.value) & "*" then
formulariocli.listacli.additem clientes.cells(i, 2).text
formulariocli.listacli.list(formulariocli.listacli.listcount - 1, 1) = clientes.cells(i, 3).text
formulariocli.listacli.list(formulariocli.listacli.listcount - 1, 2) = clientes.cells(i, 4).text
formulariocli.listacli.list(formulariocli.listacli.listcount - 1, 3) = clientes.cells(i, 5).text
formulariocli.listacli.list(formulariocli.listacli.listcount - 1, 4) = clientes.cells(i, 6).text
end if
next i
end sub
sub filterbyname()
dim clientes as worksheet: set clientes = sheets("clientes")
dim uf as integer
dim nombre as string
dim identidad as string
uf = clientes.range("c" & rows.count).end(xlup).row
if trim(formulariocli.clinombre.value) = "" and trim(formulariocli.cliidentidad.value) = "" then
formulariocli.listacli.rowsource = clientes.name & "!b8:f" & uf
exit sub
end if
autofiltermode = false
formulariocli.listacli = clear
formulariocli.listacli.rowsource = clear
for i = 8 to uf
nombre = clientes.cells(i, 3).value
identidad = clientes.cells(i, 2).value
if ucase(nombre) like ucase(formulariocli.clinombre.value) & "*" and ucase(identidad) like ucase(formulariocli.cliidentidad.value) & "*" then
formulariocli.listacli.additem clientes.cells(i, 2).text
formulariocli.listacli.list(formulariocli.listacli.listcount - 1, 1) = clientes.cells(i, 3).text
formulariocli.listacli.list(formulariocli.listacli.listcount - 1, 2) = clientes.cells(i, 4).text
formulariocli.listacli.list(formulariocli.listacli.listcount - 1, 3) = clientes.cells(i, 5).text
formulariocli.listacli.list(formulariocli.listacli.listcount - 1, 4) = clientes.cells(i, 6).text
end if
next i
end sub
sub filterbyid()
dim clientes as worksheet: set clientes = sheets("clientes")
dim uf as integer
dim nombre as string
dim identidad as string
uf = clientes.range("b" & rows.count).end(xlup).row
if trim(formulariocli.clinombre.value) = "" and trim(formulariocli.cliidentidad.value) = "" then
formulariocli.listacli.rowsource = clientes.name & "!b8:f" & uf
exit sub
end if
autofiltermode = false
formulariocli.listacli = clear
formulariocli.listacli.rowsource = clear
for i = 8 to uf
nombre = clientes.cells(i, 3).value
identidad = clientes.cells(i, 2).value
if ucase(nombre) like ucase(formulariocli.clinombre.value) & "*" and ucase(identidad) like ucase(formulariocli.cliidentidad.value) & "*" then
formulariocli.listacli.additem clientes.cells(i, 2).text
formulariocli.listacli.list(formulariocli.listacli.listcount - 1, 1) = clientes.cells(i, 3).text
formulariocli.listacli.list(formulariocli.listacli.listcount - 1, 2) = clientes.cells(i, 4).text
formulariocli.listacli.list(formulariocli.listacli.listcount - 1, 3) = clientes.cells(i, 5).text
formulariocli.listacli.list(formulariocli.listacli.listcount - 1, 4) = clientes.cells(i, 6).text
end if
next i
end sub