Saltar al contenido

Acceder a todos los valores de una matriz para compararlos con variable

publicado

Buenas tardes!

Quiero comparar el valor contenido en la variable "vehiculo" con los valores de una lista de 24 elementos, que he almacenado usando FOR EACH, en la matriz "listacalidad" (variable y matriz de tipo String).

¿Alguien sabe cómo puedo resumir el siguiente código? (He buscado por internet y en este foro, y en la documentación de Microsoft y no he localizado ninguna reseña a cómo puedo indicar el total de índices..)

If vehiculo = listacalidad(0) Or vehiculo = listacalidad(1) Or vehiculo = listacalidad(2) Or vehiculo = listacalidad(3) Or vehiculo = listacalidad(4) Or vehiculo = listacalidad(5) Or vehiculo = listacalidad(6) Or vehiculo = listacalidad(7) Or vehiculo = listacalidad(8) Or vehiculo = listacalidad(9) Or vehiculo = listacalidad(10) Or vehiculo = listacalidad(11) Or vehiculo = listacalidad(12) Or vehiculo = listacalidad(13) Or vehiculo = listacalidad(14) Or vehiculo = listacalidad(15) Or vehiculo = listacalidad(16) Or vehiculo = listacalidad(17) Or vehiculo = listacalidad(18) Or vehiculo = listacalidad(19) Or vehiculo = listacalidad(20) Or vehiculo = listacalidad(21) Or vehiculo = listacalidad(22) Or vehiculo = listacalidad(23) Then .......

MUCHAS GRACIAS!

Featured Replies

publicado

Hola @Enid86, si lo que buscas es saber si la variable "vehiculo" se encuentra dentro de la matriz "listacalidad", puedes utilizar esta linea:

If UBound(Filter(listacalidad, Vehiculo)) >= 0 Then

Esto buscara dentro de la lista cuantas veces aparece el vehículo, si no aparece devuelve un -1, si aparece devuelve un numero mayor o igual a 0 dependiendo de las veces que se repita dentro de la lista.

Saludos a ambos @Sergio, @Enid86 

publicado
option base 1

for x = 1 to 23
	If vehiculo = listacalidad(x) then
	'codigo
	end if

Hola, prueba con este código.

publicado
Hace 15 horas, AlexanderS dijo:

Hola @Enid86, si lo que buscas es saber si la variable "vehiculo" se encuentra dentro de la matriz "listacalidad", puedes utilizar esta linea:


If UBound(Filter(listacalidad, Vehiculo)) >= 0 Then

Esto buscara dentro de la lista cuantas veces aparece el vehículo, si no aparece devuelve un -1, si aparece devuelve un numero mayor o igual a 0 dependiendo de las veces que se repita dentro de la lista.

Saludos a ambos @Sergio, @Enid86 

Ni idea de la existencia de Filter(), por si alguien quiere profundizar:

Using Filter function

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.