TOP

Îmbinați celulele fără a pierde text

Descriere

Să presupunem că avem multe celule pe care trebuie să le îmbinăm împreună cu text. În setul standard Excel există o funcție similară: „Imbinați și centrați” , dar la efectuarea uniunii, lasă doar textul celulei celei mai exterioare. Deci trebuie să folosim propria noastră macrocomandă în astfel de scopuri.


Codul VBA pentru macrocomandă

Pentru a face acest lucru, deschideți editorul Visual Basic (Alt+F11), introduceți modulul VBA (Insert - Module) și copiați acolo textul acestei proceduri:

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

Salvați și reveniți la Excel.

Acum selectați celulele necesare și rulați macrocomandă (Alt+F8) (nume macro: "MergeCell").