ferias
Цитата:
Я не совсем уверен, но думаю, что это ограничение ASC-кодировки, которую использует VBA по умолчанию. Чтобы получить символ "в квадрате" вам надо копать в сторону использования UNICODE.
Добавлено:
Код: Dim str1 as String
' Вот как читать в переменную в формате UNICODE:
' В ячейке символ с кодом 0178 (держим ALT и набираем на NumPad 0178)
str1 =Cells(1, 1).value
' Запись обратно в ячейку
Cells(2, 2).Value = str1
' перевод в ASC, все не-ASC символы будут заменены на вопросы
str1 = StrConv(str1, vbFromUnicode)
' перевод обратно в UNICODE (поскольку мы потеряли
' все не-ASC символы, то получим строчку с вопросиками).
' Данный пример полезен, когда нам надо куда-нибудь передать
' текстовую строку в формате UNICODE.
str1 = StrConv(str1, vbUnicode)
Цитата:
Содержимое ячейки рано 45,15 (где 45,15 это число) а 45,15 m2 это формат ячейки, тоесть то что мы видим. Так вот, мне удается это сделать вручную, а при записи форматируем ячейку вот в такой формфат # ##0,00\ [$ m2. -1] то, после записи имеем # ##0,00\ [$ m?. -1] . При записи символ "2" меняется на "?" .
Я не совсем уверен, но думаю, что это ограничение ASC-кодировки, которую использует VBA по умолчанию. Чтобы получить символ "в квадрате" вам надо копать в сторону использования UNICODE.
Добавлено:
Код: Dim str1 as String
' Вот как читать в переменную в формате UNICODE:
' В ячейке символ с кодом 0178 (держим ALT и набираем на NumPad 0178)
str1 =Cells(1, 1).value
' Запись обратно в ячейку
Cells(2, 2).Value = str1
' перевод в ASC, все не-ASC символы будут заменены на вопросы
str1 = StrConv(str1, vbFromUnicode)
' перевод обратно в UNICODE (поскольку мы потеряли
' все не-ASC символы, то получим строчку с вопросиками).
' Данный пример полезен, когда нам надо куда-нибудь передать
' текстовую строку в формате UNICODE.
str1 = StrConv(str1, vbUnicode)