Soru Hücrelerdeki verileri tek hücreye toplama

Katılım
19 Haziran 2017
Mesajlar
219
Excel Vers. ve Dili
365
Altın Üyelik Bitiş Tarihi
05-04-2024
Arkadaşlar Merhaba,

Örnek dosyada belirttiğim gibi, Hücrelerdeki verileri 1 hücreye aralarında virgül konularak yazdırmak istiyorum. Formülle yaptığım zaman ortaya çıkan sonuçta boş hücreleri de algılayıp 111,222,,,, şeklinde bir sonuç alıyorum maalesef. 1200 satırlık bir dosya ben ufak bir örnek hazırladım.

Yan yana en fazla 8 hücre bulunuyor 8 hücreyi bir hücrede toplamamız gerekli.
Satır olarak 1200

Yardımcı olan herkese çok teşekkür ederim,
Saygılarımla.
 

Ekli dosyalar

Katılım
8 Eylül 2008
Mesajlar
950
Excel Vers. ve Dili
2016 İngilizce
Örneğin A sütununda alt allta verilerin mevcut.

B1 Hücresine hepsini yanyana aralarında virgül olacak şekilde yazdırabileceğin makro kod aşağıdadır

Kod:
Sub HucreDegerBirlestir()
    Dim xRng As Range, cll As Range
    Dim xStr As String
    Set xRng = Range("A:A").SpecialCells(xlCellTypeConstants, 23)
    If xRng.Count = 0 Then
        MsgBox "Dolu Hücre yok"
    End If
    For Each cll In xRng
        xStr = xStr & IIf(Len(xStr) = 0, "", ",") & cll.Value
        Next
    Range("B1").Value = xStr
    
End Sub
 
Katılım
19 Haziran 2017
Mesajlar
219
Excel Vers. ve Dili
365
Altın Üyelik Bitiş Tarihi
05-04-2024
T
Örneğin A sütununda alt allta verilerin mevcut.

B1 Hücresine hepsini yanyana aralarında virgül olacak şekilde yazdırabileceğin makro kod aşağıdadır

Kod:
Sub HucreDegerBirlestir()
    Dim xRng As Range, cll As Range
    Dim xStr As String
    Set xRng = Range("A:A").SpecialCells(xlCellTypeConstants, 23)
    If xRng.Count = 0 Then
        MsgBox "Dolu Hücre yok"
    End If
    For Each cll In xRng
        xStr = xStr & IIf(Len(xStr) = 0, "", ",") & cll.Value
        Next
    Range("B1").Value = xStr
  
End Sub
Teşekkür ederim ancak sutunsal bir birleştirme değil satırsal olarak birleştirmeler istiyorum.

C6-K6 Arasını B6
M6-U6 Arasını L6 Hücresine aralarında virgül olarak şekilde yazılmasını
Eklik anlatımım olduysa kusura bakmayın
 

EmrExcel16

Destek Ekibi
Destek Ekibi
Katılım
1 Kasım 2012
Mesajlar
1,524
Excel Vers. ve Dili
Office 365 Türkçe
Deneyiniz
Kod:
=METİNBİRLEŞTİR(";";1;C6:K6)
 

kulomer46

Altın Üye
Katılım
23 Mart 2007
Mesajlar
1,514
Excel Vers. ve Dili
Microsoft Office LTSC Professional Plus 2021 - Türkçe
Altın Üyelik Bitiş Tarihi
08-06-2027
Merhaba

Bende Alternatif olarak aşağıdaki dosyayı ekliyorum.

Selamlar...
 

Ekli dosyalar

EmrExcel16

Destek Ekibi
Destek Ekibi
Katılım
1 Kasım 2012
Mesajlar
1,524
Excel Vers. ve Dili
Office 365 Türkçe
Rica ederim.

Ayrıca Konuyu makrolar kısmında sorduğunuz için alternatif olarak kod olarak da hazırladım kullanmak isterseniz diye.

Kod:
Sub Birlestir()
Dim i As Integer
    For i = 6 To Cells(Rows.Count, 1).End(xlUp).Row
        Cells(i, 2) = WorksheetFunction.TextJoin(";", 1, Range("C" & i & ":K" & i))
        Cells(i, 12) = WorksheetFunction.TextJoin(";", 1, Range("M" & i & ":U" & i))
    Next
End Sub
 

kulomer46

Altın Üye
Katılım
23 Mart 2007
Mesajlar
1,514
Excel Vers. ve Dili
Microsoft Office LTSC Professional Plus 2021 - Türkçe
Altın Üyelik Bitiş Tarihi
08-06-2027
Katılım
19 Haziran 2017
Mesajlar
219
Excel Vers. ve Dili
365
Altın Üyelik Bitiş Tarihi
05-04-2024
Rica ederim.

Ayrıca Konuyu makrolar kısmında sorduğunuz için alternatif olarak kod olarak da hazırladım kullanmak isterseniz diye.

Kod:
Sub Birlestir()
Dim i As Integer
    For i = 6 To Cells(Rows.Count, 1).End(xlUp).Row
        Cells(i, 2) = WorksheetFunction.TextJoin(";", 1, Range("C" & i & ":K" & i))
        Cells(i, 12) = WorksheetFunction.TextJoin(";", 1, Range("M" & i & ":U" & i))
    Next
End Sub
" For i = 6"bu kısım neyi ifade etmektedir ? bilgi verebilir misiniz ?
 
Katılım
19 Haziran 2017
Mesajlar
219
Excel Vers. ve Dili
365
Altın Üyelik Bitiş Tarihi
05-04-2024
Rica ederim.

Ayrıca Konuyu makrolar kısmında sorduğunuz için alternatif olarak kod olarak da hazırladım kullanmak isterseniz diye.

Kod:
Sub Birlestir()
Dim i As Integer
    For i = 6 To Cells(Rows.Count, 1).End(xlUp).Row
        Cells(i, 2) = WorksheetFunction.TextJoin(";", 1, Range("C" & i & ":K" & i))
        Cells(i, 12) = WorksheetFunction.TextJoin(";", 1, Range("M" & i & ":U" & i))
    Next
End Sub
Kendime göre revize ettim uyguladım ama, bunu 2. bir sisteme aktarırken numaraların arasında "," yazmasını istiyoruz. ";" degiştirdiğimde ve virgül yaptığımda 6 haneli 2 sayılı sayıyı tek küsüratlı sayı olarak görüyor maalesef. Buna yönelik bir düşünceniz var mı?
 

EmrExcel16

Destek Ekibi
Destek Ekibi
Katılım
1 Kasım 2012
Mesajlar
1,524
Excel Vers. ve Dili
Office 365 Türkçe
Anladığım kadarıyla başka bir proğrama yapıştırıyorsunuz , birde aşağıdaki gibi deneyiniz.

Kod:
Sub Birlestir()
Dim i As Integer
    For i = 6 To Cells(Rows.Count, 1).End(xlUp).Row
        Cells(i, 2) = "'" & WorksheetFunction.TextJoin(",", 1, Range("C" & i & ":K" & i))
        Cells(i, 12) = "'" & WorksheetFunction.TextJoin(",", 1, Range("M" & i & ":U" & i))
    Next
End Sub
 
Katılım
19 Haziran 2017
Mesajlar
219
Excel Vers. ve Dili
365
Altın Üyelik Bitiş Tarihi
05-04-2024
Anladığım kadarıyla başka bir proğrama yapıştırıyorsunuz , birde aşağıdaki gibi deneyiniz.

Kod:
Sub Birlestir()
Dim i As Integer
    For i = 6 To Cells(Rows.Count, 1).End(xlUp).Row
        Cells(i, 2) = "'" & WorksheetFunction.TextJoin(",", 1, Range("C" & i & ":K" & i))
        Cells(i, 12) = "'" & WorksheetFunction.TextJoin(",", 1, Range("M" & i & ":U" & i))
    Next
End Sub
Çok Teşekkürler, Sonuçları evet başka bir organa aktarım yaparken sorun olabilecek birşeydi.
iyi akşamlar dilerim

mantığından yola çıkarak formüle dökebildim,başka arkadaşların işine yarar belki.
=""&METİNBİRLEŞTİR(",";1;K7:S7)
 

EmrExcel16

Destek Ekibi
Destek Ekibi
Katılım
1 Kasım 2012
Mesajlar
1,524
Excel Vers. ve Dili
Office 365 Türkçe
Çok Teşekkürler, Sonuçları evet başka bir organa aktarım yaparken sorun olabilecek birşeydi.
iyi akşamlar dilerim

mantığından yola çıkarak formüle dökebildim,başka arkadaşların işine yarar belki.
=""&METİNBİRLEŞTİR(",";1;K7:S7)
Peki sorun düzeldi mi ?
 
Üst