Excel üzerinde seçilen alanı tek bir metin olarak birleştirmeye yarıyor. Hücrelerdeki veriler standart olarak boşluk karakteriyle ayrılırken istenirse başka bir karakterle veya metinle de ayrılabiliyor.
Option Explicit
Public Function AlanBirlestir(alan As Range, Optional ayirici As String = " ") As String
Dim birlestirilmisMetin As String
Dim hucre As Range
On Error GoTo Hata
For Each hucre In alan
If hucre <> Empty Then
birlestirilmisMetin = _
birlestirilmisMetin & _
hucre.Value & ayirici
End If
Next
birlestirilmisMetin = _
Left(birlestirilmisMetin, _
Len(birlestirilmisMetin) - Len(ayirici))
AlanBirlestir = birlestirilmisMetin
On Error GoTo 0
Exit Function
Hata:
AlanBirlestir = CVErr(xlErrValue)
End Function
Option Explicit
Public Function AlanBirlestir(alan As Range, Optional ayirici As String = " ") As String
'--------------------------------------------------
'Seçtiğimiz alandaki metinleri tek metin
'haline getirip değişkene aktaracağız.
'Aktaracağımız değişkeni belirledik.
'--------------------------------------------------
Dim birlestirilmisMetin As String
'--------------------------------------------------
'Alandaki her hücreyi kontrol edeceğiz.
'Bunu da yine değişken aracılığıyla yapacağız.
'--------------------------------------------------
Dim hucre As Range
'--------------------------------------------------
'Bir hata olması durumunda "Hata"
'isimli referans noktasına git.
'--------------------------------------------------
On Error GoTo Hata
'--------------------------------------------------
'Seçilen alandaki her hücreyi kontrol et.
'--------------------------------------------------
For Each hucre In alan
'--------------------------------------------------
'Eğer hücre boş değilse işlem yap.
'--------------------------------------------------
If hucre <> Empty Then
'--------------------------------------------------
'Eğer hücre boş değilse metne dahil et.
'--------------------------------------------------
birlestirilmisMetin = _
birlestirilmisMetin & _
hucre.Value & ayirici
End If
Next
'--------------------------------------------------
'Döngü bittiğinde sonunda yine ayırıcı
'olacak. Bu döngünün yapısından kaynaklanıyor.
'İşte o son ayırıcı karakteri ya da metni
'sonuç metninden temizliyoruz.
'--------------------------------------------------
birlestirilmisMetin = _
Left(birlestirilmisMetin, _
Len(birlestirilmisMetin) - Len(ayirici))
'--------------------------------------------------
'Sonucu yazdır.
'--------------------------------------------------
AlanBirlestir = birlestirilmisMetin
'--------------------------------------------------
'Hata olursa mesaj ver.
'--------------------------------------------------
On Error GoTo 0
'--------------------------------------------------
'Fonksiyondan çık.
'Şimdi fonksiyon eğer hatasız çalışmışsa işi
'bitmiş oluyor. Devam edersa hata olduğunda
'çalışan kısmı da çalıştıracak. Bunu eğer bir
'hata yoksa istemiyoruz. Bu yüzden bu noktada
'fonksiyondan çıkıyoruz.
'--------------------------------------------------
Exit Function
Hata:
'--------------------------------------------------
'Hata olmuşsa bunu excel hatalarından
'faydalanarak yazdır.
'--------------------------------------------------
AlanBirlestir = CVErr(xlErrValue)
End Function