Se supone que si quieres que se tome como texto debe ir entre comillas simples, ¿no?
Valdria con poner Txt_HCPDI.Text en lugar de CDbl(Txt_HCPDI.Text).
En fin, yo no entiendo mucho. Si no es eso prueba a usar Val(). Eso devuelve un número y no una cadena.
Código vb:
Ver originalIf Txt_HCPDI.Text <> "" And Txt_HCPDS.Text <> "" Then
If strSelect = "" Then
strSelect = strSelect & " DiametroAnum between " & Val(Txt_HCPDI.Text) & " and " & Val(Txt_HCPDS.Text)
Else
strSelect = strSelect & " and DiametroAnum between " & Val(Txt_HCPDI.Text) & " and " & Val(Txt_HCPDS.Text)
End If
End If
Suerte