• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

iki sütundaki bilgileri birleştirme

  • Konbuyu başlatan Konbuyu başlatan kykbt
  • Başlangıç tarihi Başlangıç tarihi
Katılım
12 Nisan 2006
Mesajlar
303
Excel Vers. ve Dili
Office 2003
Office 2007
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
 
=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.
 
=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
 
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
 
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
 
Hocalarım çok Teşekkür ediyorum.
Çok güzel oldu, Sağolasınız.
 
=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.
 
Geri
Üst