iki sütundaki bilgileri birleştirme

kykbt

Altın Üye
Katılım
12 Nisan 2006
Mesajlar
278
Excel Vers. ve Dili
Office 2003
Office 2007
Altın Üyelik Bitiş Tarihi
29-05-2025
Arkadaşlar merhaba
Aşağıdaki tablodaki a ve b hücrelerindeki değerleri c hücresinde göründüğü şekilde kod ile birleştirme istiyorum.
Ancak beceremedim, yardımlarınıza ihtiyacım var..
Yani A hücre verisi kaç hane olursa olsun örneğin toplamda 20 adet varmış gibi alıp b hücresini eklemek istiyorum.
100 sonra 17 boşluk ve b hücresi içeriği gibi..
(----------- bu çizgileri tabloda düzgün görünsün diye koydum, yerine boşluk daha iyi olur.)

A

B

C

100

KASA

100-----------------KASA

100 01

MERKEZ KASA

100 01-------------MERKEZ KASA

100 01 01

MERKEZ TL

100 01 01----------MERKEZ TL

 

cems

Altın Üye
Katılım
2 Eylül 2005
Mesajlar
2,444
Excel Vers. ve Dili
office 2010 tr 32bit
Altın Üyelik Bitiş Tarihi
13-06-2029
=A1 & YENİDENDOLDUR(" ", 30 - UZUNLUK(A1)) & B1

C hücresinde 100 KASA (30 karakter genişliğinde boşluk ve ardından KASA yazısı) şeklinde birleştirilmiş veriyi göreceksiniz.

  • 30 karakter genişliği burada örnek olarak verilmiştir; ihtiyacınıza göre bu değeri ayarlayabilirsiniz.
  • Boşluk sayısını ve genişliği değiştirmek için formülde kullanılan 30 sayısını ihtiyacınıza göre güncelleyebilirsiniz.
Bu formül, Excel 2016'da istenilen formatta verileri birleştirmenize yardımcı olacaktır.
 

kykbt

Altın Üye
Katılım
12 Nisan 2006
Mesajlar
278
Excel Vers. ve Dili
Office 2003
Office 2007
Altın Üyelik Bitiş Tarihi
29-05-2025
=A1 & YENİDENDOLDUR(" ", 30 - UZUNLUK(A1)) & B1

C hücresinde 100 KASA (30 karakter genişliğinde boşluk ve ardından KASA yazısı) şeklinde birleştirilmiş veriyi göreceksiniz.

  • 30 karakter genişliği burada örnek olarak verilmiştir; ihtiyacınıza göre bu değeri ayarlayabilirsiniz.
  • Boşluk sayısını ve genişliği değiştirmek için formülde kullanılan 30 sayısını ihtiyacınıza göre güncelleyebilirsiniz.
Bu formül, Excel 2016'da istenilen formatta verileri birleştirmenize yardımcı olacaktır.
Hocam Merhaba
VBA koduna ekledim
Range("H" & i) =A1 & YENİDENDOLDUR(" ", 30 - UZUNLUK(A1)) & B1
ancak çalışmadı, türkçe karakter ile yazılmış olması mı yoksa başka bir sebep mi bulamadım.
Range("H" & i) =A1 & ReFill(" ", 30 - Len(A1)) & B1
 

cems

Altın Üye
Katılım
2 Eylül 2005
Mesajlar
2,444
Excel Vers. ve Dili
office 2010 tr 32bit
Altın Üyelik Bitiş Tarihi
13-06-2029
Bu vba değil direk hücre formülü ,soruda vba göremedim. Profilinixde de İngilizce office kullandığınız da belirsiz, tam doldurmalısınız o kısmı.
Aksi durumda sorunuza göre formül cevabı Türkçe kullandığınız varsayımı ile gelecektir. Dolaısı ile hem usül hem dil çakışması yaşanır.

Deneyin

Kod:
Sub CombineCells()

    Dim ws As Worksheet
    Dim cellA As Range
    Dim cellB As Range
    Dim resultCell As Range
    Dim paddingLength As Integer
    Dim combinedText As String

    Set ws = ActiveSheet
    Set cellA = ws.Range("A1")
    Set cellB = ws.Range("B1")
    Set resultCell = ws.Range("C1")


    paddingLength = 30 - Len(cellA.Value) ' Burdaki 30 karakter sayısı değiştirilebilir

   combinedText = cellA.Value & String(paddingLength, " ") & cellB.Value


    resultCell.Value = combinedText

End Sub
 
Katılım
6 Mart 2024
Mesajlar
65
Excel Vers. ve Dili
Excel 2013 TR & Excel 2016 TR
Merhaba,

@cems paddingLength için teşekkürler.

Alternatif kodlar
C++:
Sub Alternatif01()
    Dim sonsatir As Long
    sonsatir = Cells(Rows.Count, "A").End(xlUp).Row

    Dim i As Integer
    Dim paddingLength As Integer
   
    For i = 1 To sonsatir
        paddingLength = 20 - Len(Range("A" & i).Value)
        Range("C" & i).Value = Range("A" & i).Value & Space(paddingLength) & Range("B" & i).Value
        ' SABİT GENİŞLİKLİ yazı tipi kullanılırsa düzgün gözükecektir (Consolas, Courier New, Fixedsys)
        Range("C" & i).Font.Name = "Consolas"
    Next i
End Sub
 

kykbt

Altın Üye
Katılım
12 Nisan 2006
Mesajlar
278
Excel Vers. ve Dili
Office 2003
Office 2007
Altın Üyelik Bitiş Tarihi
29-05-2025
Hocalarım çok Teşekkür ediyorum.
Çok güzel oldu, Sağolasınız.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,149
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
=A1 & YENİDENDOLDUR(" ", 30 - UZUNLUK(A1))
Ek bilgi;

Excelde bu isimde bir fonksiyon bulunmuyor. Sanırım bu cevap yapay zeka destekli bir cevap. Önerdiği çözümleri kesinlikle irdelemek gerekiyor. Ek bilgi olarak paylaşmak istedim. Bu fonksiyon yerine YİNELE kullanılmalıdır.
 
Üst