7 / 7 / 0
Регистрация: 14.03.2013
Сообщений: 231
|
||||||
1 | ||||||
Странно себя ведет функция Format30.04.2013, 09:32. Показов 4114. Ответов 7
Метки нет (Все метки)
Привет.
Не могу понять, это только у меня так? Если в ячейку (1,1) записать число, а в формате ячейки поставить "Общий" а потом выполнить код:
Если формат ячейки поменять на любой другой кроме "Общий", тогда отрабатывает корректно. Или в ячейку (1,1) записать не число и поставить "Общий", тоже отрабатывает корректно.
0
|
30.04.2013, 09:32 | |
Ответы с готовыми решениями:
7
Пользовательская функция в условном форматировании странно себя ведёт Странно ведёт себя функция fgets Функция для работы с сетью ведёт себя странно МП странно себя ведет |
15145 / 6418 / 1731
Регистрация: 24.09.2011
Сообщений: 9,999
|
|
30.04.2013, 10:05 | 2 |
У всех так. Маски формата для VBA функции Format и для ячейки - различные.
Используйте Cells(1, 1).Text .
0
|
6081 / 1325 / 195
Регистрация: 12.12.2012
Сообщений: 1,023
|
||||||||||||||||||||||||
30.04.2013, 10:29 | 3 | |||||||||||||||||||||||
Здравствуйте, oleggy,Попробуйте почитать справку. Установите курсор на слово Format и вызовите справку (F1). Мы видим следующее: nDisplay the minute as a number without leading zeros (0 - 59). Т.е. если в ячейку вами введено число, то Excel пытается сконвертировать его в дату/время, а затем изучает количество минут в получившейся дате. Если число не имеет дробной части, то количество минут = 0, и вместо n выводится 0. Если вы хотели получить информацию о формате ячейки, тогда функция Format вообще не нужна:
Обратите внимание, что формата General среди них нет. С уважением, Aksima
3
|
7 / 7 / 0
Регистрация: 14.03.2013
Сообщений: 231
|
|||||||||||||||||||||
30.04.2013, 11:14 [ТС] | 4 | ||||||||||||||||||||
Я и использовал такой код:
Грубо говоря как отображается ячейка в Excel так она и должна сохранится в строковой переменной. Добавлено через 5 минут Aksima, не понял, а чем отличается:
Добавлено через 7 минут Казанский, использовал..
0
|
6081 / 1325 / 195
Регистрация: 12.12.2012
Сообщений: 1,023
|
||||||
30.04.2013, 11:18 | 5 | |||||
Ничем не отличается, но запись
Нет, не ошибаетесь. Свойство NumberFormat является членом как класса Range, так и класса DisplayFormat. С уважением, Aksima
0
|
7 / 7 / 0
Регистрация: 14.03.2013
Сообщений: 231
|
|
30.04.2013, 11:33 [ТС] | 6 |
Aksima, выходит не существует короткого кода VBA что бы сохранить в String значения ячейки в том виде в котором она отображается в Excel ?
Добавлено через 2 минуты И еще просвятите: Cells(1, 1).Value Cells(1, 1).Text отличаются чем?
0
|
15145 / 6418 / 1731
Регистрация: 24.09.2011
Сообщений: 9,999
|
|||||||||||
30.04.2013, 18:24 | 7 | ||||||||||
Сообщение было отмечено как решение
Решение
Это как раз свойство .Text.
Например, в ячейке формула =1/7 , формат ч:мм:сс
Однако, если уменьшить ширину столбца так, что текст не будет умещаться и будет отображаться ####, то свойство .Text вернет #### - буквально то, что отображается на экране. На этот случай можно использовать функцию листа ТЕКСТ - аналог VBA функции Format. Получается почти то, с чего Вы начали:
3
|
7 / 7 / 0
Регистрация: 14.03.2013
Сообщений: 231
|
||||||
06.05.2013, 08:22 [ТС] | 8 | |||||
Казанский, выходит в данном случае праильно обрабатывать такую ситуацию так:
0
|
06.05.2013, 08:22 | |
06.05.2013, 08:22 | |
Помогаю со студенческими работами здесь
8
Странно ведет себя Компьютер странно себя ведет Яша ведет себя странно... Ноут странно себя ведет Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |