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

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

Но я не могу понять, как получить доступ к форматированному текстовому значению из отдельных ячеек.
Похоже, что 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 Ответ

1 голос
/ 24 февраля 2012

Джеб

Мне кажется, я понимаю ваш вопрос сейчас.

Когда вы набираете это

Function StringSumme(oCellRange)

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

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

oCell = Sheet.getCellByPosition (X, Y)

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

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

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

...