|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
31.01.2013, 00:43 | #1 |
Форумчанин
Регистрация: 19.10.2012
Сообщений: 217
|
Автоматический перевод текстового формата в числовой
Добрый вечер!
При вводе чисел через форму, в таблице они преобразуются как текст. От этого у меня не работают формулы. Написал макрос Sub Conv() With ActiveSheet.UsedRange arr = .Value .NumberFormat = "General" .Value = arr End With End Sub При выполнении макроса все преобразуется в числа.( то что нужно) Подскажите, как сделать чтобы он работал постоянно? Тоесть чтобы ненужно было каждый раз вызывать макрос, а чтобы числа вводимые через форму- в таблице сами преобразовывались из текстового формата в числовой. |
31.01.2013, 01:59 | #2 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,166
|
В форме числа вводите в текстбоксы - поэтому при занесении на лист нужно из текста преобразовывать в числа.
Если не ставить проверку на разделитель (т.е. юзер обещал не косячить ) - достаточно -- Т.е. cells(1,1)=--Textbox1.value
webmoney: E265281470651 Z422237915069 R418926282008
|
31.01.2013, 08:28 | #3 |
Форумчанин
Регистрация: 24.12.2012
Сообщений: 776
|
and150382, в текст преобразуются дробные числа?
Это связано с тем, что в различных странах дробные числа пишутся по-разному. Например, в России дробные числа пишутся с запятой, а в США - с точкой. Если вы вводите в текстовое поле дробное число с запятой, то Excel воспринимает дробное число не как число, а как текст. Поэтому у вас два варианта при работе с Excel через VBA-форму:
Примечание Вводить данные на Excel-лист с помощью самой программы Excel и с помощью VBA - это разные вещи. Если вы работаете в программе Excel и вводите дробные числа с запятой, то прежде, чем число окажется в ячейке, Excel запускает какой-то механизм, который анализирует вводимые данные. Если же число вводится из VBA, то Excel такой механизм не запускает и принимает данные в таком виде, в каком они есть. Последний раз редактировалось Скрипт; 31.01.2013 в 08:45. |
31.01.2013, 21:06 | #4 |
Форумчанин
Регистрация: 19.10.2012
Сообщений: 217
|
Вот тут я ввожу в текстбоксы числа , а они в таблице преобразуются в текстовой формат
|
31.01.2013, 21:26 | #5 |
Форумчанин
Регистрация: 24.12.2012
Сообщений: 776
|
and150382, не знаю с чем связано, но используйте вот такой код для помещения данных из элементов управления в Excel:
Код:
Примечание Если вот так сделать: Код:
Последний раз редактировалось Скрипт; 31.01.2013 в 21:30. |
31.01.2013, 21:46 | #6 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,166
|
Можно и так:
Код:
Или такой вариант: Код:
webmoney: E265281470651 Z422237915069 R418926282008
Последний раз редактировалось Hugo121; 31.01.2013 в 21:49. |
31.01.2013, 22:01 | #7 |
Форумчанин
Регистрация: 24.12.2012
Сообщений: 776
|
Hugo121, вообще в VBA есть инструменты для перевода текста в числа:
CDbl и Val. А вот про два минуса где почитать? Я уже встречался с двумя минусами. |
31.01.2013, 22:18 | #8 |
Старожил
Регистрация: 31.12.2010
Сообщений: 2,133
|
А вот про два минуса где почитать?
F1 - "- Operator", syntax 2, а также "Operator Precedence"
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
Последний раз редактировалось Казанский; 01.02.2013 в 10:01. Причина: добавил кавычки для устранения неоднозначности |
31.01.2013, 22:59 | #9 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,166
|
Два минуса в 3 раза короче, чем CDbl(), и в более чем 2 раз короче, чем Val()
Ну и набрать проще.
webmoney: E265281470651 Z422237915069 R418926282008
|
01.02.2013, 06:28 | #10 | ||
Форумчанин
Регистрация: 24.12.2012
Сообщений: 776
|
Цитата:
Вот такое есть: - Operator Казанский, не могу найти в справке про два минуса. Скопируйте, пожалуйста, из справки цитату, связанную с двумя минусами, и вставьте сюда. Цитата:
И в чём выражается, что два минуса в 3 раза короче? В количестве символов? Последний раз редактировалось Скрипт; 01.02.2013 в 06:41. |
||
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Перевод информации из одного пользовательского формата в другой | УрбанСникерс | Microsoft Office Excel | 5 | 12.10.2012 11:45 |
перевод из символьного в числовой | ya.kudr | Общие вопросы C/C++ | 11 | 15.01.2010 00:16 |
Автоматический перевод времени с гринвича. | Demien | Общие вопросы Delphi | 0 | 27.08.2009 12:02 |
автоматический перевод с английского | Alar | Общие вопросы Delphi | 5 | 04.04.2008 18:23 |
Перевод кодов символов формата Unicode в строку | sshaitan | Общие вопросы Delphi | 0 | 12.09.2007 19:09 |