hücre birleştirme

Katılım
25 Kasım 2012
Mesajlar
107
Excel Vers. ve Dili
Office 2013
Altın Üyelik Bitiş Tarihi
28-12-2023
merhabalar;
ben hücreleri birleştirmek istiyorum ama şöyle ki ;
a1 ve a60 arasındaki hücreleri birleştirmek ve aralarına , (virgül işareti ) koymak istiyorum.
teşekkürler.
kolay gelsin
 

Ali

Uzman
Katılım
21 Temmuz 2005
Mesajlar
7,900
Excel Vers. ve Dili
İş:Excel 2016-Türkçe
Kod:
=A1&","&A60
işinizi görüyor mu.
 

Ali

Uzman
Katılım
21 Temmuz 2005
Mesajlar
7,900
Excel Vers. ve Dili
İş:Excel 2016-Türkçe
ALT+F11 ile VBA düzenleyici açın.

Insert-Module ile bir modül ekleyin ve aşağıdaki kodları yapıştırın.

Kod:
Function Birleştirme(Ayırac As Variant, ParamArray HucreAralığı() As Variant) As String
    Dim Cell As Range, Area As Variant
    If IsMissing(Ayırac) Then Ayırac = ""
    For Each Area In HucreAralığı
        If TypeName(Area) = "Range" Then
            For Each Cell In Area
                If Len(Cell.Value) Then Birleştirme = Birleştirme & Ayırac & Cell.Value
            Next
        Else
            Birleştirme = Birleştirme & Ayırac & Area
        End If
    Next
    Birleştirme = Mid(Birleştirme, Len(Ayırac) + 1)
End Function

Sonuç göreceğiniz hücreye

Kod:
=Birleştirme(",";A1:A60)
yazın.
 
Katılım
24 Mart 2017
Mesajlar
16
Excel Vers. ve Dili
Office 2013, Türkçe
Altın Üyelik Bitiş Tarihi
21/03/2023
ALT+F11 ile VBA düzenleyici açın.

Insert-Module ile bir modül ekleyin ve aşağıdaki kodları yapıştırın.

Kod:
Function Birleştirme(Ayırac As Variant, ParamArray HucreAralığı() As Variant) As String
    Dim Cell As Range, Area As Variant
    If IsMissing(Ayırac) Then Ayırac = ""
    For Each Area In HucreAralığı
        If TypeName(Area) = "Range" Then
            For Each Cell In Area
                If Len(Cell.Value) Then Birleştirme = Birleştirme & Ayırac & Cell.Value
            Next
        Else
            Birleştirme = Birleştirme & Ayırac & Area
        End If
    Next
    Birleştirme = Mid(Birleştirme, Len(Ayırac) + 1)
End Function

Sonuç göreceğiniz hücreye

Kod:
=Birleştirme(",";A1:A60)
yazın.
= işareti ile Birleştirme(...) arasında boşluk olmadan çalışmadı
Belirtmek istedim, kolay gelsin.
 
Katılım
6 Mart 2005
Mesajlar
6,233
Excel Vers. ve Dili
Excel Vers. ve Dili:
Office 2016 TR 64 Bit
Altın Üyelik Bitiş Tarihi
22/12/2022
Alternatif.A1:A60 hücresini.B1 hücresinde birleştirir.
Kod:
Sub Birleştır()
Dim rng As Range, isatır As Integer
 Set rng = ActiveSheet.Range("A1:A60")
 Range("B1").ClearContents
Dim alır As Variant
 For isatır = 1 To rng.Rows.Count
    If Not rng(isatır, 1).Value = vbNullString Then
    alır = alır & "," & rng(isatır, 1).Value
End If
Range("B1") = Mid(alır, 2)
    Next isatır
 End Sub
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
WinRar ile açabilirsiniz....

.
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,374
Excel Vers. ve Dili
Ofis 365 Türkçe
Merhaba,

Bir Kullanıcı Tanımlı Fonksiyon da benden olsun.
Kodları bir modüle ekleyiniz.

Parametreleri Alan ve Ayraç. Ayracı belirtmezseniz "," kabul eder.

Kullanımı

Kod:
=ÇOKLUBİRLEŞTİR(A1:A5)
Fonksiyon :

Kod:
Function ÇOKLUBİRLEŞTİR(Rng As Range, Optional Tür As String = ",")

    Dim r As Range
    Dim t
    
    For Each r In Rng
    
        If Len(r) > 0 Then
        
            If Len(t) = 0 Then
                t = r
            Else
                t = t & Tür & r
            End If
        End If
        
    Next r
    
    ÇOKLUBİRLEŞTİR = t
    
End Function
 

metehan8001

Yasaklı
Katılım
8 Nisan 2010
Mesajlar
125
Excel Vers. ve Dili
Office 2007 -2016 TR
Alternatif olsun;
İşlemleri sırasıyla yapınız.

1-)Aşağıdaki formülü yazın.
Kod:
=BİRLEŞTİR(DEVRİK_DÖNÜŞÜM(A1:A60))
2-) Formül içinde klavyeden F9 tuşuna basın. Basınca değerlerin değiştiğini göreceksiniz.
3-) Tekrar formül içine gelin, formülün başındaki, sonundaki kıvrımlı parantezleri ( { ), ( } ) ve (=) parantez içindekileri silin.
4-) Tekrar formül üzerine gelin klavyeden CTRL + F tuşlarına basın. Çıkan ekranda Değiştir sekmesine basın Aranan: kısmına ( ";" ) parantez içindekini yazın. Yeni değer: kısmına ( , ) parantez içindekini yazın. Daha sonra aşağıda "Değiştir" butonuna basın.
5-)Ve mutlu son...



Böyle uzun uzun yazdım ama yapınca göreceksiniz çok basit olduğunu.
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,374
Excel Vers. ve Dili
Ofis 365 Türkçe
Alternatif olsun;
İşlemleri sırasıyla yapınız.

1-)Aşağıdaki formülü yazın.
Kod:
=BİRLEŞTİR(DEVRİK_DÖNÜŞÜM(A1:A60))
2-) Formül içinde klavyeden F9 tuşuna basın. Basınca değerlerin değiştiğini göreceksiniz.
3-) Tekrar formül içine gelin, formülün başındaki, sonundaki kıvrımlı parantezleri ( { ), ( } ) ve (=) parantez içindekileri silin.
4-) Tekrar formül üzerine gelin klavyeden CTRL + F tuşlarına basın. Çıkan ekranda Değiştir sekmesine basın Aranan: kısmına ( ";" ) parantez içindekini yazın. Yeni değer: kısmına ( , ) parantez içindekini yazın. Daha sonra aşağıda "Değiştir" butonuna basın.
5-)Ve mutlu son...



Böyle uzun uzun yazdım ama yapınca göreceksiniz çok basit olduğunu.
İlginç bir kullanım, teşekkürler sayın Metehan8001
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Necdet Bey;

Metehan beyin önerisini, hücreye

=A1:A60 & ","

formülünü dizi formül olarak girdikten sonra yine F9 tuşunu kullanarak da yapabilirsiniz.

Ama bence, 7 No'lu mesajda Ali beyin önerisi en güzeliydi ....

.
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,374
Excel Vers. ve Dili
Ofis 365 Türkçe
Necdet Bey;

Metehan beyin önerisini, hücreye

=A1:A60 & ","

formülünü dizi formül olarak girdikten sonra yine F9 tuşunu kullanarak da yapabilirsiniz.

Ama bence, 7 No'lu mesajda Ali beyin önerisi en güzeliydi ....

.
Sizden de yeni bir şey öğrendim Haluk bey, sağolun.

Ali bey fonksiyon yazmış onu görmüştüm.
 

assenucler

Altın Üye
Katılım
19 Ağustos 2004
Mesajlar
3,552
Excel Vers. ve Dili
Ofis 365 TR 64 Windows 11 Home Single Language x64 TR
Altın Üyelik Bitiş Tarihi
29-05-2025
Günaydın Üstatlar;

Çözümlerinizi, heyecan ve zevkle izledim. Sağ olun, var olun...

Sevgi ve saygılarımla,
 

Onur040709

Altın Üye
Katılım
9 Kasım 2019
Mesajlar
2
Excel Vers. ve Dili
microsoft office professional plus 2010 / Türkçe
Altın Üyelik Bitiş Tarihi
12-11-2024
Eki inceler misiniz.
Ali bey sizin göndermiş olduğunuz virgül ile birleştirilmiş zip dosyasını bilgisayarıma indirdiğimde formül tam olarak çalışıyor. Yalnız kendim xls. dosyası açtığımda makroyu girdiğim halde "concat" formülü çalışmıyor. #AD? hatası veriyor.
Microsoft Office Professional Plus 2010 (32 bit) kullanıyorum. Formülün neden aktif hale gelmediği hakkında görüşünüzü yazabilir misiniz?

7 No'lu mesajda Ali beyin önerisine istinaden yazılmıştır.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,298
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Kullanılan fonksiyon yerleşik fonksiyon değildir. Makro ile hazırlanmıştır. Modüldeki kodları kendi dosyanıza alıp kullanabilirsiniz.

Bu tarz fonksiyonlara kullanıcı tanımlı fonksiyon denmektedir.
 
Üst