İçindekiler
Bu makalede, bir dizeyi bir diziye nasıl bölebileceğinizi göstereceğim VBA . Bölünmüş 'de kullandığımız en önemli ve yaygın olarak kullanılan fonksiyonlardan biridir. VBA . içinde bir dizeyi bölmeyi öğreneceksiniz VBA mümkün olan her türlü şekilde.
VBA Bölme İşlevi (Hızlı Görünüm)
=Split(Expression As String, [Delimiter], [Limit As Long=1], [CompareAsVbCompareMethod=vbBinaryCompare])
Alıştırma Çalışma Kitabını İndirin
Dizeyi Diziye Bölme.xlsmVBA'da Dizeyi Diziye Bölmenin 3 Yolu
Elimizde bir ip olsun "ABD, Kanada, Avustralya ve Fransa vizesi için başvurduk." .
kullanarak bu dizeyi mümkün olan her şekilde bir diziye nasıl bölebileceğinizi göstereceğim. Bölme işlevi . VBA .
1. VBA'da Bir Dizeyi Bir Diziye Bölmek için Herhangi Bir Sınırlayıcı Kullanın
'de bir dizeyi bir diziye bölmek için sınırlayıcı olarak herhangi bir dizeyi kullanabilirsiniz. VBA .
Bu bir boşluk (" ") , a virgül (",") , a noktalı virgül (":") tek bir karakter, bir karakter dizisi veya herhangi bir şey.
⧭ Örnek 1:
kullanarak dizeyi bölelim virgül sınırlayıcı olarak.
Kod satırı şöyle olacaktır:
Arr = Split(Metin, ",")
Eksiksiz VBA Kodu olacak:
⧭ VBA Kodu:
Sub Split_String() Text = "ABD, Kanada, Avustralya ve Fransa vizesine başvurduk." Arr = Split(Text, ",") Output = "" For i = 0 To UBound(Arr) Output = Output + vbNewLine + vbNewLine + Arr(i) Next i MsgBox Output End Sub
⧭ Çıktı:
Dizeyi aşağıdakilerden oluşan bir diziye bölecektir {"ABD", " Kanada", " Avustralya", " Fransa"} vizesi için başvurduk.
⧭ Örnek 2:
Ayrıca bir boşluk (" ") sınırlayıcı olarak.
Kod satırı şöyle olacaktır:
Arr = Split(Metin, " ")
Eksiksiz VBA Kodu olacak:
⧭ VBA Kodu:
Sub Split_String() Text = "ABD, Kanada, Avustralya ve Fransa vizesine başvurduk." Arr = Split(Text, " ") Output = "" For i = 0 To UBound(Arr) Output = Output + vbNewLine + vbNewLine + Arr(i) Next i MsgBox Output End Sub
⧭ Çıktı:
Dizeyi aşağıdakilerden oluşan bir diziye bölecektir {"We", "applied", "for", "the", "visa", "of", "U.S,", "Canada,", "Australia,", "France,"}.
⧭ Unutulmaması gereken şeyler:
- Varsayılan sınırlayıcı bir boşluk (" ") .
- Yani, herhangi bir sınırlayıcı eklemezseniz, bir uzay sınırlayıcı olarak.
Daha fazlasını okuyun: Excel'de Dizeyi Karaktere Göre Bölme (6 uygun Yol)
Benzer Okumalar:
- Excel'de metni birden çok hücreye bölme
- Excel'de Sütundan Diziye Benzersiz Değerler Almak için VBA (3 Kriter)
- Excel VBA: Dizide Birden Çok Ölçütle Filtreleme (7 Yol)
2. Bir Dizeyi Herhangi Sayıda Öğeye Sahip Bir Diziye Bölme
Bir dizeyi isteğinize göre istediğiniz sayıda öğe içeren bir diziye bölebilirsiniz.
Öğe sayısını aşağıdaki gibi girin 3'üncü argümanının Bölme işlevi .
⧭ Örnek:
Dizeyi ilkine bölelim 3 ile öğeler uzay sınırlayıcı olarak.
Kod satırı şöyle olacaktır:
Arr = Split(Metin, " ", 3)
Ve VBA kodu olacak:
⧭ VBA Kodu:
Sub Split_String() Text = "ABD, Kanada, Avustralya ve Fransa vizesine başvurduk." Arr = Split(Text, " ", 3) Output = "" For i = 0 To UBound(Arr) Output = Output + vbNewLine + vbNewLine + Arr(i) Next i MsgBox Output End Sub
⧭ Çıktı:
Dizeyi ilk dizeden oluşan bir diziye bölecektir. 3 sınırlayıcı ile ayrılmış öğeler uzay .
⧭ Unutulmaması gereken şeyler:
- Varsayılan bağımsız değişken -1 .
- Bu, argüman girmezseniz dizeyi mümkün olan en fazla sayıda böleceği anlamına gelir.
Daha fazlasını okuyun: Excel'de Dizeyi Uzunluğa Göre Bölme (8 Yol)
3. VBA'da Bir Dizeyi Bölmek için Hem Büyük/Küçük Harfe Duyarlı Hem de Duyarsız Sınırlayıcı Kullanın
Bu Bölme işlevi kullanmanızı sağlar. büyük/küçük harfe duyarlı ve büyük/küçük harf duyarsız sınırlayıcı.
için büyük/küçük harf duyarsız sınırlayıcısını ekleyin. Dördüncü argümanı olarak 1.
Ve bir büyük/küçük harf duyarsız sınırlayıcısını ekleyin. Dördüncü argümanı olarak 0 .
⧭ Örnek 1: Büyük/Küçük Harfe Duyarlı Sınırlayıcı
Verilen dizede, metni göz önünde bulunduralım "İÇİN" sınırlayıcı olarak ve 2 dizinin toplam öğe sayısı olarak tanımlanır.
Şimdi, bir büyük/küçük harf duyarsız durumunda, kod satırı şöyle olacaktır:
Arr = Split(Text, "FOR ", 3,1)
Ve tam VBA kodu olacak:
⧭ VBA Kodu:
Sub Split_String() Text = "ABD, Kanada, Avustralya ve Fransa vizesi için başvurduk." Arr = Split(Text, "FOR", 2, 1) Output = "" For i = 0 To UBound(Arr) Output = Output + vbNewLine + vbNewLine + Arr(i) Next i MsgBox Output End Sub
⧭ Çıktı:
Sınırlayıcı olarak büyük/küçük harf duyarsız Burada "İÇİN" olarak çalışacaktır "için" ve dizeyi iki öğeden oluşan bir diziye bölecektir.
⧭ Örnek 2: Büyük/Küçük Harfe Duyarlı Sınırlayıcı
Yine, bir büyük/küçük harfe duyarlı durumunda, kod satırı şöyle olacaktır:
Arr = Split(Text, "FOR ", 3,0)
Ve tam VBA kodu olacak:
⧭ VBA Kodu:
Sub Split_String() Text = "ABD, Kanada, Avustralya ve Fransa vizesi için başvurduk." Arr = Split(Text, "FOR", 2, 0) Output = "" For i = 0 To UBound(Arr) Output = Output + vbNewLine + vbNewLine + Arr(i) Next i MsgBox Output End Sub
⧭ Çıktı:
Sınırlayıcı olarak büyük/küçük harfe duyarlı Burada "İÇİN" olmayacak "için" ve dizeyi iki öğeli bir diziye bölmeyecektir.
Daha fazlasını okuyun: Excel VBA: Bir Diziden Yinelenenleri Kaldırma (2 Örnek)
⧭ Unutulmaması gereken şeyler:
- Argümanın varsayılan değeri 0 .
- Yani, eğer değerini koymazsanız Dördüncü argümanı için çalışacaktır. büyük/küçük harfe duyarlı Maç.
Sonuç
Bu nedenle, bu yöntemleri kullanarak Bölme işlevi . VBA Bir dizeyi bir dizi öğeye bölmek için. Herhangi bir sorunuz var mı? Bize sormaktan çekinmeyin.