Номер формата Word VBA в ячейке таблицы - текст ячейки не распознан - PullRequest
0 голосов
/ 30 апреля 2019

Я создаю документ Word из VBA (Excel) с данными таблицы Excel. Данные были помещены в таблицу ОК. В последнем столбце есть числа (например, 456789), которые я хочу отформатировать (например, 456 789 долл. США).

Word добавляет chr (13) и chr (7) в конце каждого значения ячейки таблицы (чтобы длина видимого значения 456789 была не 6, а 8).

Без приведенного ниже оператора Replace для устранения этих двух символов я не смог бы обработать значение как строку и продолжить манипулирование.

Это лучший способ, который vba предлагает для доступа к значениям ячеек таблицы в качестве стандартного типа, такого как String? Почему мне нужно исключить завершающие символы в процессе? что мне не хватает?

        For Each cell In .Columns(3).Cells
            strCellValue = CStr(cell.Range.Text)
            strCellValue = Replace(strCellValue, Chr(13) & Chr(7), "")
            If IsNumeric(strCellValue) Then
                cell.Range.Text = Format(strCellValue, "$#,##0")
            End If
        Next

Спасибо!

1 Ответ

0 голосов
/ 01 мая 2019

Есть множество способов сделать это.Возможно, самое простое:

For Each Cell In .Columns(3).Cells
    strCellValue = Split(Cell.Range.Text, vbCr)(0)
    If IsNumeric(strCellValue) Then Cell.Range.Text = Format(strCellValue, "$#,##0")
Next
...