VBA Birleştirme - VBA'da Dizeleri Birlikte Nasıl Birleştirebilirim?

Birleştirme, kullandığımız ve birleştirmek için ve işareti operatörü olarak da bilinen excel'e benzer şekilde iki değeri veya iki dizeyi birleştirmek anlamına gelir, iki dizeyi birleştirir ve String 1 & String 2 gibi operatör, şimdi hatırlanması gereken önemli bir şey var ve bu & işlecini kullanırken boşluk sağlamamız gerekir, yoksa VBA bunu uzun süre dikkate alır.

VBA Concatenate Strings

VBA Concatenate, iki veya daha fazla değer hücresi değerini bir araya getirmek için kullandığımız şeylerden biridir. Basit bir dille birleştiriyor dersem, tam değere sahip olmak için iki veya daha fazla değeri bir araya getiriyor.

Excel'de CONCATENATE adlı bir fonksiyonumuz var, bu iki veya daha fazla değeri veya iki veya daha fazla hücre değerini birlikte birleştirmeyi yapacak.

Ancak VBA'da, iki veya daha fazla değeri birbirine bağlayacak yerleşik bir işleve sahip değiliz. Aslında, bir çalışma sayfası işlevi olarak VBA CONCATENATE işlevine erişmek için çalışma sayfası işlev sınıfına bile erişemiyoruz.

VBA'da Dizeler Nasıl Birleştirilir?

Değerleri birleştirmek için herhangi bir yerleşik işlevimiz yoksa ve çalışma sayfası işlevi bile VBA ile entegre değilse. Şimdi sorun şu, değerleri nasıl birleştiririz?

Yerleşik işlev olmamasına rağmen, yine de "ve işareti" (&) simgesini kullanarak VBA'da birleştirebiliriz.

Gönderilerimizi düzenli olarak takip ediyorsanız, kodlamamızda sıklıkla ve (&) simgesini kullanırız.

Örneğin adınız ve soyadınız ayrı ayrı varsa bu ikisini birleştirip tam ad olarak yapabiliriz. VBA makro kodunu kendi başımıza yazmak için aşağıdaki adımları izleyin.

Adım 1: Visual Basic Editor'a gidin ve bir VBA alt prosedürü oluşturun.

Adım 2: Üç değişkeni Dize olarak tanımlayın .

Kod:

Sub Concatenate_Example () Dim First_Name As String Dim Last_Name As String Dim Full_Name As String End Sub

Adım 3: Şimdi değişkene ilk adı ve soyadı atayın .

Kod:

Sub Concatenate_Example () Dim First_Name As String Dim Last_Name As String Dim Full_Name As String First_Name = "Sachin" Last_Name = "Tendulkar" End Sub

Adım 4: Şimdi bu iki adı ve işareti değişkenini kullanarak Tam_Adı değişkeniyle birleştirin.

Kod:

Sub Concatenate_Example () Dim First_Name As String Dim Last_Name As String Dim Full_Name As String First_Name = "Sachin" Last_Name = "Tendulkar" Full_Name = First_Name & Last_Name End Sub

Adım 5: Şimdi mesaj kutusunda Full_Name değişkeninin değerini gösterin .

Kod:

Sub Concatenate_Example () Dim First_Name As String Dim Last_Name As String Dim Full_Name As String First_Name = "Sachin" Last_Name = "Tendulkar" Full_Name = First_Name & Last_Name MsgBox Full_Name End Sub

Şimdi kodu çalıştırın; tam adı mesaj kutusunda alacağız.

Bu tam adla ilgili sorun, ad ve soyadı birleştirirken, bir ad ve soyadı ayırıcı karakter alanı eklememiş olmamız, boşluk karakterini de birleştirmemizdir.

Kod:

Sub Concatenate_Example () Dim First_Name As String Dim Last_Name As String Dim Full_Name As String First_Name = "Sachin" Last_Name = "Tendulkar" Full_Name = First_Name & "" & Last_Name MsgBox Full_Name End Sub

Bu şimdi uygun bir tam ad verecektir.

Bunun gibi ve işareti sembolünü kullanarak değerleri birleştirebiliriz. Şimdi tam bir isim yapmak için Ad ve Soyadı birlikte çözme çalışma sayfası problemini çözeceğiz.

Birçok adı birleştirmemiz gerektiğinden, ad ve soyadını birleştirmek için döngüler kullanmamız gerekir. Aşağıdaki kod işi sizin için yapacak.

Kod:

Sub Concatenate_Example1 () Dim i As Integer For i = 2 to 9 Cell (i, 3) .Value = Cells (i, 1) & "" & Cells (i, 2) Next i End Sub

Bu, tıpkı VBA birleştirme işlevimiz gibi ad ve soyadı birleştirecektir.

Ampersand VBA Birleştirmesinde Yaygın Hata

Kodlarımı fark ederseniz, değerler arasına boşluk karakteri ve ve işareti ekledim. Bu, VBA programlamanın doğası gereği önemlidir.

Değerleri ve "ve" işaretlerini bir arada kullanamayız; aksi takdirde, aşağıdaki gibi Derleme Hatası alacağız.

JOIN İşlevini Kullanarak VBA Concatenate

VBA'da değerleri birleştirmek için JOIN işlevini kullanabiliriz. Önce, VBA JOIN işlevi sözdizimine bakın.

  • Dizi , değerlerimizi tutan bir diziden başka bir şey değildir - örneğin, hem ad hem de soyad.
  • Sınırlayıcı , her bir dizi değeri, bu durumda boşluk karakteri arasındaki ayırıcıdan başka bir şey değildir.

Aşağıdaki kod aynı örneği gösterecektir.

Kod:

Sub Concatenate_Example2 () Dim MyValues ​​As Variant Dim Full_Name As String MyValues ​​= Array ("Sachin", "Tendulkar") Full_Name = Join (MyValues, "") MsgBox Full_Name End Sub 

Ilginç makaleler...