Как найти значение в массиве с помощью vba?

Когда вы сохраняете значения в массиве, могут возникнуть случаи, когда вам потребуется выполнить поиск по массиву. В этом случае вам необходимо знать методы, которые вы можете использовать. Теперь посмотрите на код ниже, который поможет вам понять, как искать значение в массиве.

найти значение в массиве-1
  1. В первой части кода у вас есть переменные , которые вам нужно будет использовать позже в коде.
  2. После этого следующая часть генерирует случайные числа с помощью RND для получения десяти значений из массива.
  3. Затем в поле ввода можно ввести значение, которое вы хотите найти в таблице.
  4. После этого у вас есть строка, в которой оператор IF используется для проверки того, является ли значение, введенное вами в поле ввода, числом или нет.
  5. В этой части у вас есть код строки, которая будет использоваться в окне сообщения , если введенное вами значение не найдено.
  6. В этой части кода используется цикл For (For Each) для перебора каждого элемента массива и проверки, находится ли введенное вами значение в массиве или нет.
  7. Последняя часть кода отображает сообщение, указывающее, найдено значение или нет.
 Option Base 1 Sub vba_array_search() 'this section declares an array and variables 'that you need to search within the array. Dim myArray(10) As Integer Dim i As Integer Dim varUserNumber As Variant Dim strMsg As String 'This part of the code adds 10 random numbers to 'the array and shows the result in the 'immediate window as well. For i = 1 To 10 myArray(i) = Int(Rnd * 10) Debug.Print myArray(i) Next i 'it is an input box that asks 'you the number that you want to find Loopback: varUserNumber = InputBox _ ("Enter a number between 1 and 10 to search for:", _ "Linear Search Demonstrator") 'it's an if statement that checks for the value that you 'have entered in the input box. If varUserNumber = "" Then End If Not IsNumeric(varUserNumber) Then GoTo Loopback If varUserNumber < 1 Or varUserNumber > 10 Then GoTo Loopback 'message to show if the value doesn't found. strMsg = "Your value, " & varUserNumber & _ ", was not found in the array." 'loop through the array and match each value with the 'the value you have entered in the input box. For i = 1 To UBound(myArray) If myArray(i) = varUserNumber Then strMsg = "Your value, " & varUserNumber & _ ", was found at position " & i & " in the array." Exit For End If Next i 'message box in the end MsgBox _ strMsg, vbOKOnly + vbInformation, _ "Linear Search Result" End Sub

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *