Получить форматированный текст объекта диапазона / ячейки

Я пытаюсь объединить форматированное содержимое некоторых ячеек с формулой.
Поскольку я не могу найти способ решить это с помощью чистой формулы, я добавляю некоторый базовый код.

Но я не могу понять, как получить доступ к форматированному текстовому значению из отдельных ячеек.
Кажется, что oCell - это не объект ячейки, а только содержимое ячейки.

Как я могу изменить это, чтобы я мог использовать что-то вроде oCell.Text или oCell.String ...

Function StringSumme(oCellRange )
    dim result as String
    dim nRow as Integer

    result = ""
   For nRow = LBound( oCellRange, 1) To UBound( oCellRange, 1 )
        For nCol = LBound( oCellRange, 2) To UBound( oCellRange, 2 )
            oCell=oCellRange(nRow,1)
            result = result + oCell
        Next 
    Next 
    StringSumme = result 
End Function

В Excel это работает

Function StringSumme(bezug As Range) As String
    Dim txt As String
    Dim ce As Range

    txt = ""
    For Each ce In bezug.Cells
        txt = txt & ce.Text
    Next
    StringSumme = txt
End Function

1 ответ

Решение

Джеб

Я думаю, что понимаю ваш вопрос сейчас.

Когда вы печатаете это

Function StringSumme(oCellRange)

oCellRange не является диапазоном. Это массив, который передается. И, следовательно, oCell - не объект ячейки, а только содержимое ячейки, как вы уже догадались.

Вы можете изменить это на что-то вроде

oCell = Sheet.getCellByPosition(X, Y)

и затем используйте oCell.Value

Интересное чтение

http://wiki.services.openoffice.org/wiki/Documentation/BASIC_Guide/Cells_and_Ranges

Другие вопросы по тегам