TOP

Metni kaybetmeden hücreleri birleştirme

Tanım

Metinle birleştirmemiz gereken birçok hücremiz olduğunu varsayalım. Excel standart kümesinde benzer bir işlev vardır: "Birleştir ve Ortala" ancak birleştirme yapılırken yalnızca en dıştaki hücrenin metni bırakılır. Dolayısıyla bu tür amaçlar için kendi makromuzu kullanmamız gerekiyor.


Makro için VBA kodu

Bunu yapmak için Visual Basic düzenleyicisini açın (Alt+F11), VBA modülünü takın (Insert - Module) ve bu prosedürün metnini buraya kopyalayın:

Sub MergeToOneCell()
    'moonexcel.com.ua
    Const sDELIM    As String = " "
    Dim   rCell     As Range
    Dim   sMergeStr As String
    
    If TypeName(Selection) <> "Range" Then Exit Sub
    
    With Selection
        For Each rCell In .Cells
            sMergeStr = sMergeStr & sDELIM & rCell.Text
        Next rCell
        
        Application.DisplayAlerts = False
        .Merge Across:=False
        Application.DisplayAlerts = True
        
        .Item(1).Value = Mid(sMergeStr, 1 + Len(sDELIM))
    End With
End Sub

Kaydedin ve Excel'ye dönün.

Şimdi gerekli hücreleri seçin ve makromuzu çalıştırın (Alt+F8) (makro adı: "MergeCell").