Buscar valor en rango de una matriz

Recibe un cordial saludo por este medio

Estoy tratando de hacer una función para buscar un valor en una matriz, pero no se como hacerle para que busque el valor la matriz. La matriz esta compuesta así

Dim Myvar(4,1) As Double
Dim resultado As Double

Myvar(0, 0) = 5
Myvar(1, 0) = 11
Myvar(2, 0) = 19
Myvar(3, 0) = 24
Myvar(4, 0) = 50

Myvar(0, 1) = 14
Myvar(1, 1) = 20
Myvar(2, 1) = 25
Myvar(3, 1) = 32
Myvar(4, 1) = 41

Ahora bien dependiendo del valor que ingrese en text1.txt, debe buscar en la matriz y ponerme el resultado en el text2.txt, por ejemplo

Si en text1.txt ingreso el numero 12.75 en text2.txt me debe poner 20
Si en text1.txt ingreso el numero 27.30 en text2.txt me debe poner 32

Agradezco de antemano tus comentarios y/o ayuda

1 Respuesta

Respuesta
1

Prueba poner esto en un commandbutton.

dim intx as integer
dim inty as integer
dim intBuscar as integer
dim bolExiste as boolean
intBuscar = val(trim(txtbuscar.text))
bolExiste = false
for intx = 0 to 4
for inty = 0 to 1
if Myvar(intx,iny) = intBuscar then
bolExiste = true
exit for
end if
next
next
if bolExiste = true then msgbox "Se hallo valor ingresado en las coordenadas x=" & cstr(intx) & " : y=" & cstr(inty),vbinformation,"Busqueda"

Gracias por responder, lamentablemente no es lo que busco, te comento esa matriz la voy a traducir de la siguiente manera como una tabla

RangoDe RangoHasta ValorRango

0 5 14

5.01 11 20

11.01 19 25

19.01 24 32

24.01 50 41

Si en el txtbuscar escribo 12.75, ese valor esta en el rango de 11.01 a 19 y le corresponde 25, los 25 lo debe de poner en txtresultado

Si en el txtbuscar escribo 27.30, ese valor esta en el rango de 24.01 a 50 y le corresponde 41, los 41 lo debe de poner en txtresultado

Ya me entro duda si estoy en la columna 0 de la matriz la estoy definiendo bien

Agradezco de antemano tus comentarios.

Saludos

Comparte tu código, y define si será por medio de matriz o tabla.

Te enviado mi proyecto, de hecho no tengo mucho avance en el codigo

Saludos

De darte una respuesta seria en base a la matriz, pero si piensas cambiar esto para manejarlo con tablas, es recomendable que lo hagas y luego poder responderte en base a ese nuevo funcionamiento.

Buen días, si esta bien que me apoyes con tu respuesta en base a la matriz.

Saludos

Aquí una info para aclarar el uso de un estructura y con ella crear el vector

http://www.recursosvisualbasic.com.ar/htm/tutoriales/tutorial-basico6.htm

tienes que probar, aquí no tengo la herramienta.

'Esto en las declaraciones del form
Private Type Estructura
Desde As Double
Hasta As Double
Valor As Double
End Type
' Declaramos el vector
Dim Myvar(1 To 3) As Estructura
'En el load del form, tocaria que le llenes data
' Llenamos con datos para el elemento 1 del arreglo
Myvar(1).Desde = "carlos"
Myvar(1).Hasta = "Martínez"
Myvar(1).Valor = 1900
' Llenamos con datos para el elemento 2 del arreglo
Myvar(2).Desde = "Héctor"
Myvar(2).Hasta = "rosales"
Myvar(2).Valor = 1898
' Llenamos con datos para el elemento 3 del arreglo
Myvar(3).Desde = "Albert"
Myvar(3).Hasta = "Einstein"
Myvar(3).Valor = 1324
'En un boton de comando, toca explorar la data
dim intx as integer
dim intBuscar as integer
dim dblValor as double
dim bolExiste as boolean
intBuscar = val(trim(txtbuscar.text))
bolExiste = false
For intx = Myvar(vector) To Myvar(vector)
if Myvar(intx).Desde >= intBuscar and Myvar(intx).Hasta <= intBuscar then
dblValor = Myvar(intx).Varlos
bolExiste = true
exit for
end if
next
if bolExiste = true then
msgbox "Se hallo valor " & cstr(dblValor),vbinformation,"Busqueda"
else
msgbox "Sin resulrados",vbexclamation,"Busqueda"
end if

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas