MyTetra Share
Делитесь знаниями!
Получение текста из диапазона ячеек
16.03.2019
23:43
Текстовые метки: Работа с диапазонами ячеек и листами,Текстовые строки
Раздел: !Закладки - VBA - Array

Получение текста из диапазона ячеек

Function Range2TXT(ByRef ra As Range, Optional ByVal ColumnsSeparator$ = vbTab, _
                   Optional ByVal RowsSeparator$ = vbNewLine) As String
    If ra.Cells.Count = 1 Then Range2TXT = ra.Value & RowsSeparator$: Exit Function
    If ra.Areas.Count > 1 Then
        Dim ar As Range
        For Each ar In ra.Areas
            Range2TXT = Range2TXT & Range2TXT(ar, ColumnsSeparator$, RowsSeparator$)
        Next ar
        Exit Function
    End If
    arr = ra.Value
    For i = LBound(arr, 1) To UBound(arr, 1)
        txt = "": For j = LBound(arr, 2) To UBound(arr, 2): txt = txt & ColumnsSeparator$ & arr(i, j): Next j
        Range2TXT = Range2TXT & Mid(txt, Len(ColumnsSeparator$) + 1) & RowsSeparator$
    Next i
End Function
Sub ПримерИспользованияФункции_Range2TXT()
    MsgBox Range2TXT(ActiveSheet.UsedRange, "; ", vbLf), vbInformation
    MsgBox Range2TXT([a1:b2,c4:e4,d4]), vbInformation
End Sub

Пример в файле: http://excelvba.ru/XL_Files/Sample__31-07-2010__18-06-43.zip

Прикрепленные файлы:
Так же в этом разделе:
 
MyTetra Share v.0.52
Яндекс индекс цитирования