EXCEL VBA'DA JOIN FONKSİYONU

 

Excel VBA JOIN işlevi, belirtilen bir sınırlayıcıya sahip alt dizelerden oluşan bir diziyi birleştirmek ve sonuç olarak tek bir dize döndürmek için kullanılır. VBA işlevlerinin Dizi kategorisi altında listelenir ve Concatenate çalışma sayfası işlevi gibi birden fazla dizeyi tek bir dizede birleştirebilir.


VBA Join ArrayList'in basit bir örneğini görelim:

VBA Join ArrayList 1 Örneği

Dizelerden oluşan bir diziyi (bu durumda adlar) bildirmek için bir alt rutin oluşturun ve ardından bu dizelerin VBA Join koleksiyonunu, ayırma değeri ',' olarak kabul edilerek gerçekleştirin. Çıktıyı bir Mesaj Kutusunda yazdırın.

VBA Join ArrayList 1-1 Örneği

ÖNEMLİ NOKTALAR

  • VBA Join fonksiyonu, belirtilen bir ayırıcıya sahip alt dizelerden oluşan bir diziyi birleştirmek ve sonuçta tek bir dize döndürmek için kullanılır.
  • Fonksiyonun sözdizimi Join(SourceArray, [Delimiter]) şeklindedir; burada SourceArray, yeni bir dize olarak birleştirmek istediğiniz değer dizisidir ve [Delimiter], yeni dizeyi oluştururken alt dizelerin her birini ayırmak için kullanmak istediğiniz bir ayraçtır.
  • VBA Join Arraylist için iki diziyi birleştirmeye yarayan yerleşik bir fonksiyon yoktur.
  • İki diziyi birleştirmek için Join işlevini kullanarak her diziyi bir dizeye dönüştürebilir, dizeleri birleştirebilir ve ardından Split işlevini kullanarak birleştirilen dizeyi tekrar diziye dönüştürebilirsiniz.
  • VBA'da iki tabloyu birleştirmek için ölçütleri, VLOOKUP veya INDEX MATCH formüllerini veya Power Query veya Birleştirme Tabloları Sihirbazı'nı kullanarak verileri ve tabloları birleştiren makroları kullanabilirsiniz.

Sözdizimi

VBA Join'in söz dizimi aşağıda gösterildiği gibidir:

Join(SourceArray, [Delimiter])

Nerede,

  • SourceArray, yeni bir dize olarak birleştirmek istediğiniz değerlerin dizisidir.
  • [Ayırıcı], yeni dizeyi oluştururken alt dizelerin her birini ayırmak için kullanmak isteyeceğiniz bir ayırıcıdır.

Excel VBA JOIN Fonksiyonu Nasıl Kullanılır?

VBA Join sütunlarını doğru şekilde kullanmak için aşağıdaki adımları izleyin.

Adım 1: Excel Çalışma Kitabını açın. Araç çubuğunda “Geliştirici”yi seçin.

Excel VBA JOIN nasıl kullanılır - Adım 1

Geliştirici'de, en sol köşede "Visual Basic"i seçin.

Excel VBA JOIN nasıl kullanılır - Adım 1-1

VBA Editörünü açar.

Excel VBA JOIN nasıl kullanılır - Adım 1-2

Editörde araç çubuğundan “Ekle” düğmesini seçin ve açılır menüden “Modül”ü seçin.

Excel VBA JOIN nasıl kullanılır - Adım 1-3

Çalışma kitabınız için alt rutinler oluşturarak başlayın.

Adım 2: Alt rutinin adını tanımlayarak başlayın.

Excel VBA JOIN nasıl kullanılır - Adım 2

Adım 3: 0-4 aralığında bir dizi başlatın.

Excel VBA JOIN nasıl kullanılır - Adım 3

Diziyi Dize veri türü olarak bildirmek önemlidir, çünkü VBA Join fonksiyonu diğer veri türleri (Tamsayı veya Değişken) için hata verecektir.

Adım 4: Dizinin değerlerini VBA'da karşılık gelen hücre değerleriyle tanımlayın.

Excel VBA JOIN nasıl kullanılır - Adım 4

Bahsi geçen değerler çalışma sayfasında daha önce tanımlanmıştır.

Excel VBA JOIN nasıl kullanılır - Adım 4-1

Adım 5: Verilen dizi değerleri üzerinde VBA Join koleksiyonunu gerçekleştirin ve bunu “A7” hücresine yazdırın.

Excel VBA JOIN nasıl kullanılır - Adım 5

Herhangi bir ayırıcı belirtilmediği için varsayılan ayırma değeri boşluktur.

Kod:

Sub Example_JOIN()

    Dim myAry(0 To 4) As String

    myAry(0) = Range(“A1”)

    myAry(1) = Range(“A2”)

    myAry(2) = Range(“A3”)

    myAry(3) = Range(“A4”)

    myAry(4) = Range(“A5”)

    Range(“A7”).Değer = Join(myAry)

End Sub

Adım 6: Programı çalıştırmak için Excel VBA Modülündeki etkinlik çubuğundaki “F5” veya “Çalıştır” simgesine tıklayın.

Excel VBA JOIN nasıl kullanılır - Adım 6

Artık Excel VBA'da Join fonksiyonunun nasıl kullanılacağını öğrendiğimize göre, aşağıda bazı heyecan verici örneklere bakalım.


Örnekler

Burada, VBA birleştirme aralığının farklı şekillerde nasıl kullanılabileceğini görebiliriz.

Örnek 1

Bir e-posta listesi verildiğinde, bunları bir araya getirip bir mesaj kutusunda görüntülemek istersiniz. Bu, VBA Join kullanılarak yapılabilir.

VBA Birleştirme Örneği 1

Adım 1: E-postaları birleştirip hepsini birlikte görüntülemek için alt rutinin adını başlatarak başlayın.

VBA Birleştirme Örneği 1 - Adım 1

Adım 2: Çalışma kitabında kontrol edeceğimiz e-postaların aralığını tutacak bir Aralık değişkeni başlatın.

VBA Birleştirme Örneği 1 - Adım 2

Adım 3: Kontrol etmek istediğiniz e-postaların aralığını belirtin.

VBA Birleştirme Örneği 1 - Adım 3

Adım 4: VBA'da bir dize dizisi tanımlayın.

VBA Birleştirme Örneği 1 - Adım 4

Adım 5: Adım 4'te tanımlanan dize dizisinin boyutunu aralıktaki hücre sayısına göre tanımlayın.

VBA Birleştirme Örneği 1 - Adım 5

Excel aralığı 1-5 arasında gittiği için bir ile çıkarılır, ancak bir dizinin aralığı 0'dan başlar. Dolayısıyla, yalnızca beş değere sahip 0-4 boyutuna ihtiyacınız vardır.

Adım 6: FOR döngüsünde kullanılacak yinelemeli bir değişken başlatın.

VBA Birleştirme Örneği 1 - Adım 6

Adım 7: E-postaları içeren hücre değerlerini dize dizisine eklemek için bir FOR döngüsü oluşturun.

VBA Birleştirme Örneği 1 - Adım 7

i 0'dan başladığı için Excel'de hücre değerlerini bulmak için döngüye alırken bir ekliyoruz.

Adım 8: VBA Join toplama işlemini gerçekleştirdikten sonra birleştirilmiş değerleri tutacak bir dize değişkeni başlatın.

VBA Birleştirme Örneği 1 - Adım 8

Adım 9: Ayrım değerini “;” olarak tanımlayarak dize dizisiyle VBA Birleştirme işlemini gerçekleştirin.

VBA Birleştirme Örneği 1 - Adım 9

Kod:

Sub email_JOIN()

    Dim emailList As Range

    Set emailList = Range(“A1:A5”)

    Dim emails() As String

    ReDim emails(emailList.Cells.Count – 1)

    Dim i As Integer

    For i = 0 To emailList.Cells.Count – 1

        emails(i) = emailList.Cells(i + 1).Value

    Next i

    Dim emailString As String

    emailString = Join(emails, “; “)

    MsgBox emailString

End Sub

Adım 10: Kodu çalıştırmak için “F5” tuşuna basın. Birleştirilmiş değerleri göstermek için bir Mesaj Kutusu açılır.

VBA Birleştirme Örneği 1 - Adım 10

Örnek 2

Burada, belirli bir aralıktaki tüm kullanılabilir dizinleri birleştirmemiz ve VBA Join Range gerçekleştirmemiz gerekiyor. Tablo aşağıda verilmiştir.

VBA Birleştirme Örneği 2

Aşağıdaki adımları izleyerek tüm hücre değerlerini birleştirebilirsiniz.

Adım 1: Tüm dizinleri birleştirmek için alt prosedürü adlandırarak başlayın.

VBA Birleştirme Örneği 2 - Adım 1

Adım 2: VBA Join işlemini gerçekleştirmek istediğimiz hücre aralığını depolamak için bir aralık değişkeni tanımlayın.

VBA Birleştirme Örneği 2 - Adım 2

Adım 3: Aralık değişkenini istediğiniz aralıkla ayarlayın.

VBA Birleştirme Örneği 2 - Adım 3

Adım 4: Bir dize dizisi başlatın ve doğru boyutu elde etmek için bildirilen hücre aralığını sayarak ve bundan 1 çıkararak boyutunu hesaplayın.

VBA Birleştirme Örneği 2 - Adım 4

VBA'da değişken-çalışma kitabı aralığı uyumsuzluğundan kaynaklanan " Aralık Dışı " hatalarının önlenmesi için yapılır .

Adım 5: Dize dizisinde çalışacak yinelemeli bir değişken başlatın.

VBA Birleştirme Örneği 2 - Adım 5

Adım 6: Mevcut güne eklenecek değerleri, yani gün sayısını ve saat sayısını başlatın.

VBA Birleştirme Örneği 2 - Adım 6

Adım 7: Hücrelerdeki dizinleri diziye eklemek için bir FOR döngüsü bildirin.

VBA Birleştirme Örneği 2 - Adım 7

Adım 8: VBA Birleştirme aralığından sonra birleştirilmiş değerlerde saklanacak bir dize değişkeni tanımlayın.

VBA Birleştirme Örneği 2 - Adım 8

Adım 9: Dize dizisi üzerinde VBA Join işlemini gerçekleştirin ve ardından Immediate sekmesinde değerleri yazdırın.

VBA Birleştirme Örneği 2 - Adım 9

Ayırıcı/ayırma değerini vbCrLf olarak bildirin.

Bu, VBA'da yeni bir satır tanımlamak için kullanılan bir sabittir.

Kod:

Sub dir_JOIN()

    Dim pathList As Range

    Set pathList = Range(“A1:A10”)

    Dim paths() As String

    ReDim paths(pathList.Cells.Count – 1)

    Dim i As Integer

    For i = 0 To pathList.Cells.Count – 1

        paths(i) = pathList.Cells(i + 1).Value

    Next i

    Dim pathString As String

    pathString = Join(paths, vbCrLf)

    Debug.Print pathString

End Sub

Adım 9: Kodu çalıştırmak istediğinizde yeşil ok düğmesine tıklayın. Bu, Immediate sekmesindeki tüm değerleri yazdıracaktır.

VBA Birleştirme Örneği 2 - Adım 10


Dikkat Edilmesi Gereken Önemli Noktalar

  • Dizi tarih veya değişken VBA veri türü olarak bildirilirse JOIN fonksiyonu çalışmaz .
  • JOIN fonksiyonunu kullanmak için, birleştirmek istediğiniz değerlerden oluşan bir dizi bildirmeniz ve ardından bunu JOIN fonksiyonuna argüman olarak geçirmeniz gerekir.
  • Excel çalışma sayfasındaki bir hücre aralığındaki değerlerle diziyi doldurmak için bir döngü kullanabilirsiniz.
  • İstenilen sonucu ürettiğinden emin olmak için kodunuzu iyice test ettiğinizden emin olun.
  • Ayırıcı atlanırsa, varsayılan ayraç boşluktur ” “.
  • Tabloları birleştirmeden önce, verileri eşleştirmek için kullanılabilecek ortak bir alan veya sütuna sahip olduklarından emin olun.

Yorum Gönder

DT KARİYER KPSS Dünyasına Hoş Geldiniz
Sevgili dostum nasıl yardımcı olabilirim?
Bu alana yazınız...