VBA'da Bir Dizeyi Bir Diziye Bölme (3 Yol)

  • Bunu Paylaş
Hugh West

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.xlsm

VBA'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.

Hugh West, sektörde 10 yılı aşkın deneyime sahip oldukça deneyimli bir Excel eğitmeni ve analistidir. Muhasebe ve Finans alanında lisans derecesine ve İşletme alanında yüksek lisans derecesine sahiptir. Hugh öğretme tutkusuna sahiptir ve takip etmesi ve anlaması kolay benzersiz bir öğretim yaklaşımı geliştirmiştir. Excel konusundaki uzman bilgisi, dünya çapında binlerce öğrencinin ve profesyonelin becerilerini geliştirmesine ve kariyerlerinde başarılı olmasına yardımcı olmuştur. Hugh, blogu aracılığıyla bilgisini dünyayla paylaşıyor, bireylerin ve işletmelerin tam potansiyellerine ulaşmalarına yardımcı olmak için ücretsiz Excel eğitimleri ve çevrimiçi eğitimler sunuyor.