Vba aracılığıyla dizeleri olan bir dizi nasıl oluşturulur?
VBA’da, her dizi öğesinin daha fazla erişebileceğiniz veya hatta tek bir dizede birleştirebileceğiniz bir dizeyi sakladığı dizelerden oluşan bir dizi oluşturabilirsiniz. Bunun dışında, ana dizeyi birden çok alt dizeye bölebilir (bir sınırlayıcı kullanarak) ve ardından bunların her birini dizi öğelerinde saklayabilirsiniz.
Yukarıda da söylediğim gibi bir dizide string kullanmanın iki yolu vardır ve bu eğitimde her ikisi için de kod yazmayı göreceğiz.
Dizelerle VBA dizisi
Option Base 1 Sub vba_string_array() Dim myArray() As Variant myArray = Array("One", "Two", "Three") Debug.Print myArray(1) Debug.Print myArray(2) Debug.Print myArray(3) End Sub
- Öncelikle, içinde saklamak istediğiniz öğe sayısı olmadan bir dizi bildirin.
- Daha sonra belirtmek istediğiniz değeri ayarlamak için VBA’nın ARRAY işlevini kullanmanız gerekir.
- Bundan sonra, fonksiyonda virgül kullanarak tüm dizeleri belirtin.
- Sonuçta ürün numarasını kullanarak tüm kanallara erişebilirsiniz.
Aynı şekilde, tabloda depolanacak hücrelerin bir dizisini de alabilirsiniz.
VBA dizeyi bölme ve bir dizide saklama
Birden fazla alt dizeye sahip bir dize istiyorsanız, onu VBA’nın sınırlayıcı kullanan SPLIT işlevini kullanarak bölebilirsiniz.
Option Base 1 Sub vba_string_array() Dim myArray() As String myArray = Split("Today is a good day", " ") For i = LBound(myArray) To UBound(myArray) Debug.Print myArray(i) Next i End Sub
Bu kodda beş kelimelik bir ifadeden oluşan bir dizeniz var. Ve split işlevini kullandığınızda, onu beş farklı alt dizeye böler ve ardından onu dizi öğelerinde saklarsınız.
Bundan sonra, sayaç döngüsünü oluşturmak ve her dizi öğesini doğrudan pencereye yazdırmak için üst ve alt sınırları kullanan for döngüsüne sahip olursunuz.