Vba kodunu kullanarak excel'deki hücreleri birleştirme
VBA’da, bir hücre aralığını, hatta birden fazla aralığı tek bir hücrede birleştirmek için kullanabileceğiniz bir “BİRLEŞTİRME” yöntemi vardır. Bu yöntemin isteğe bağlı bir “Across” argümanı vardır. TRUE belirtirseniz aralıktaki her satırı ayrı ayrı birleştirir, FALSE belirtirseniz tüm aralığı tek bir satırda birleştirir.
Hücreleri birleştirmek için VBA’yı kullanma adımları:
- Öncelikle birleştirmek istediğiniz hücre aralığını tanımlamanız gerekir.
- Bundan sonra, özellik ve yöntemlerin listesini almak için bir nokta (.) yazın ve bu listeden “Birleştir” seçeneğini seçin veya doğrudan yazabilirsiniz.
- Bundan sonra “Across” argümanını DOĞRU veya YANLIŞ olarak ayarlamanız gerekir.
- Sonunda aralığı birleştirmek için bu kodu çalıştırın.
İşte kod.
Range("A1:A2").Merge False
Ve aralığın tamamındaki satırları birleştirmek istiyorsanız çapraz bağımsız değişkeni için TRUE’yu kullanabilirsiniz.
Selection.Merge Across:=True
Yukarıdaki kodda aralık olarak, birleştirme yöntemi olarak ve genelinde doğru olarak seçim yaptınız. Ve seçilen aralıktaki tüm satırları birleştirdi.
Şimdi diyelim ki başka bir çalışma sayfasındaki hücre aralığını birleştirmek istiyorsunuz, önce bunu etkinleştirmenize gerek yok. Önce e-tabloya başvurabilir ve ardından birleştirmek istediğiniz değişiklikle birleştirme yöntemlerini kullanabilirsiniz.
Worksheets("Sheet1").Range("A1:A2").Merge
Benzer şekilde, çalışma kitabının adını belirterek bir çalışma kitabına da başvurabilirsiniz.
Workbooks("Book1.xlsx").Worksheets("Sheet1").Range("A1:A2").Merge
Bir aralığı birleştirme ve hücre içeriğini hizalama
Artık iki veya daha fazla hücreyi birleştirdiğinizde hücredeki içeriği hizalamanız gerekir. A1 ve A2 hücrelerini birleştirdiğiniz ve hücrelerdeki değerin alta hizalandığı aşağıdaki anlık görüntüye bakın. Bu sorunu çözmek için hizalama özelliğini kullanabilir ve hücre içeriğini ortaya ve ortaya hizalayarak okumanızı kolaylaştırabilirsiniz.
With Range("A1:A2") .Merge .HorizontalAlignment = xlCenter .VerticalAlignment = xlCenter End With
Metni birleştir ve birleştir
Gerçek hayattan bir senaryodan bahsedelim. Bir dizi hücrede metniniz var ve bu hücreleri birleştirmeniz gerekiyor, ancak sahip olduğunuz içeriği kaybetmek istemezsiniz. Her birini kullanarak tüm aralığın üzerine bir kod döngüsü yazabilir ve metni birleştirip ardından onu sondaki birleştirilmiş aralığa ekleyebilirsiniz.
- İlk bölümde aralık değerlerini saklamak ve kendilerini ayarlamak için kullanabileceğiniz değişkenler bulunuyor.
- İkinci bölümde, her hücrenin değerlerini birleştirerek yeni bir dize oluşturabileceğiniz bir LOOP’unuz var.
- Üçüncü bölümde aralığı birleştirin, birleştirilmiş dizeyi ekleyin, sözcük kaydırma uygulayın ve hücre içeriğini hizalayın.
İşte kodun tamamı.
Sub vba_merge_with_values() Dim val As String Dim rng As Range Set rng = Range("A1:A10") For Each Cell In rng val = val & " " & Cell.Value Next Cell With rng .Merge .Value = Trim(val) .WrapText = True .HorizontalAlignment = xlCenter .VerticalAlignment = xlCenter End With End Sub