Новости:

Интересные и полезные статьи по работе с Excel и VBA
можно найти в разделе ХИТРОСТИ

Главное меню

не хочет ставить точку в конце числа

Автор miraj, 20.03.2013, 22:17:55

« назад - далее »

miraj

Не понимаю почему excel не возвращает в заданную ячейку число с точкой на конце, как я его прошу в этой простом тексте:

Sub xxx()
Dim i As Integer
Dim s As String
i = 9
s = CSng(i) & "."
ActiveSheet.Cells(1, 1) = s
End Sub

Строка S при прогоне читается верно, а вот в ячейку записывается просто "9" - без точки. Если взамен точки прописать любой другой символ, либо прикрепить перед числом еще какую-нибудь строку - все в порядке, но мне-то нужно на выходе иметь просто "9." Скорее всего дело в настройках Excel, вот только не пойму в каких. Как быть?

vikttur

И Вы решили, что это ошибка Excel?
Для VBA точка является разделителем целой и дробной части.
Никогда не пробовали вписать в ячейку "1,". Проверьте и посмотрите, что получится.

Выход - писать вместо точки многоточие :)
Или задать текстовый формат:
Cells(1, 1) = "'1."

Дмитрий Щербаков(The_Prist)

ActiveSheet.Cells(1, 1).NumberFormat = "@"
ActiveSheet.Cells(1, 1).Value = s
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...

Renat

Чтобы Excel воспринимал значения как текстовые, можно ставить апостроф перед тем как вбивать данные. При этом в ячейке апостроф не видно, но математические операции с такими текстовыми данными произодить можно. Для этого необходимо немного подредактировать ваш код:
Sub xxx()
Dim i As Integer
Dim s As String
i = 9
s = "'" & CSng(i) & "."
ActiveSheet.Cells(1, 1) = s
End Sub

Яндекс.Метрика Рейтинг@Mail.ru