Vba kullanarak bir dizideki değer nasıl bulunur?
Değerleri bir dizide sakladığınızda, dizi araması yapmanız gereken zamanlar olabilir. Bu durumda kullanabileceğiniz yöntemleri bilmeniz gerekir. Şimdi bir dizide bir değeri nasıl arayacağınızı anlamanıza yardımcı olabilecek aşağıdaki koda bakın.

- Kodun ilk bölümünde, daha sonra kodda kullanmanız gereken değişkenler bulunur.
- Bundan sonra, sonraki kısım diziden on değeri almak için RND kullanarak rastgele sayılar üretir .
- Daha sonra, bir giriş kutusu tabloda aramak istediğiniz değeri girmenizi sağlar.
- Bundan sonra, giriş kutusuna girdiğiniz değerin sayı olup olmadığını kontrol etmek için IF ifadesini kullanan bir satırınız olur.
- Bu bölümde, girdiğiniz değerin bulunamaması durumunda mesaj kutusunda kullanılacak dizeye yönelik bir kodunuz bulunmaktadır.
- Kodun bu kısmı , dizideki her öğe arasında döngü yapmak ve girdiğiniz değerin dizide olup olmadığını kontrol etmek için For (For Every) döngüsünü kullanır.
- Kodun son kısmında değerin bulunup bulunmadığını belirten bir mesaj görüntülenir.
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
VBA nedir