Да, спасибо за подсказку, вроде все работает. Даже не слышал про такой метод Volatile.
Не срабатывает пересчет книги для пользовательской функции
Не срабатывает пересчет книги для пользовательской функции
Можно ли прописать процедуры события книги (например, Workbook_SheetSelectionChange) в качестве надстройки?
Можно ли прописать процедуры события книги (например, Workbook_SheetSelectionChange) в качестве надстройки?
Можно ли прописать процедуры события книги (например, Workbook_SheetSelectionChange) в качестве надстройки?
Отключение автоматической установки цвета фона ячейки
Отключение автоматической установки цвета фона ячейки
Как отформатировать число в TextBox?
Как отформатировать число в TextBox?
29.04.2013 02:41:31
Юрий М, ну, Вы только подтверждаете сказанное....Это 12345.6789 - Exel воспринимает как текст, а если 12345.6789 находится в TextBox, то Cells(1,1) =TextBox.value получится нормальное хорошее число 12345,6789
Я сам удивился, когда это обнаружил, поэтому и поменял , на . в обработке TextBox. Отчего еще больше запутался! Короче ни с запятой ни с точкой пока нет результата!
Изменено: |
|
|
Как отформатировать число в TextBox?
29.04.2013 02:34:51
Почему с целым числом обсуждаемый с вами утром вариант с процедурой Change и кодом TextBox1.Text = Format(st, "#,##0" ![]() работает превосходно! А ДЛЯ ДЕЙСТВИТЕЛЬНОГО ЧИСЛА (когда запятая есть) вариант с процедурой Change и кодом TextBox1 = Format(TextBox1, "#,##0.##" ![]() И ради это приходится выкручиваться разными способами (например, как вы указали)?!!!! |
|||
|
Как отформатировать число в TextBox?
29.04.2013 02:24:14
Совершенно верно, в TextBox всегда текст (это хорошо известно), но вот когда данные из TextBox я копирую в ячейку Листа, то Exel воспринимает текст с точкой как число, а текст с запятой как текст.
В первом случае с ячейкой можно работать как с числом (например, прибавить 1), а во втором случае при прибавлении 1 на автомате получите ошибку! Я прихожу к выводу, что тема форматирования в Exel самая муторная. Много раз возвращался к этой теме (за несколько лет) и всякий раз какая-то нелогичность возникает! Ни отчего другого в Exel не возникает подобного дискомфорта! |
|
|
Как отформатировать число в TextBox?
29.04.2013 00:17:08
Точку ввожу из-за того, что при помещении значения TextBox в ячейку листа, число вносится как число, а не как текст. (Раньше была запятая, от которой отказался, так как водился текст). Кстати поменял . на , также ничего не работает! С Exit конечно все работает, то хочется чтобы форматировалось во время набора, а не после выхода из TextBox..... Продолжаю осмысливать идеи....но пока нет результата!
Изменено: |
|||
|
Как отформатировать число в TextBox?
28.04.2013 17:38:32
И все таки продолжу:
Проблема с плавающей запятой. Если все то же самое проделать с плавающей запятой (в процедуре TextBox1_Change()) st=TextBox1.Value TextBox1 = Format(st, "#,##0.##") то в итоге вообще я не понимаю Excel Ввожу: 12345.6789 Полагаю, что получу: 12 345.67 А получаю: 1,23 (цифра 4 уже не вводится, а запятая ввелась сама). Запятая-это что делить разрядов, либо математический знак? Запись "#,##0.##" проверял с NumberFormat применительно к ячейкам, то все работает ок! В чем может быть проблема? |
|
|
Как отформатировать число в TextBox?
Как отформатировать число в TextBox?
28.04.2013 14:41:06
Если сделал процедуру Change, типа Private Sub TextBox1_Change() st = TextBox1.Value TextBox1.Text = Format(st, "#,##0") End Sub то все заработало верно.....Но какой-то осадок остался, кажется все можно достойно решить в рамках одной процедуры KeyPress, просто я увы не до конца понимаю "график" ее работы. спасибо за советы. |
|||
|
Как отформатировать число в TextBox?
28.04.2013 14:21:12
воспользовался советом от Юрия М, но вот такой код в процедуре TextBox1_KeyPress:
st = TextBox1.Value If KeyAscii >= 48 And KeyAscii <= 57 Then TextBox1.Text = Format(st, "#,###" ![]() Exit Sub Else KeyAscii = 0 Exit Sub End If дает в итоге неправильный формат, типа 1 234 5678 (т.е. делит не по 3 разряда, а в конце оставляет 4). А должно быть: 12 345 678 Не пойму то ли ошибка в использовании ф-ии Format, то ли не корректность ее использования в процедуре KeyPress (и надо поискать другую процедуру)?! |
|
|
Как отформатировать число в TextBox?
Как отформатировать число в TextBox?
Как отформатировать число в TextBox?
Выполнение клавиш клавиатуры в TextBox
Выполнение клавиш клавиатуры в TextBox
варианты заполнения Имени массива
варианты заполнения Имени массива
варианты заполнения Имени массива
07.04.2013 03:31:19
Не могу понять, где находиться тонкая настройка в заполнении массива.
Обнаружил, что нижеследующий код (где а -это массив) a = Range("Баланс").Value ActiveWorkbook.Names("Статьи").RefersToR1C1 = a дает разные результаты в сохранении Имени массива. 1). Если Range("Баланс") -это строка на листе, то сохраняется как ={"q1";"q2";"q3";"q4";"q5";"g7"} 2). Если Range("Баланс") -это столбец на листе, то сохраняется как={"q1":"q2":"q3":"q4":"q5":"g7"} Где находится настройка (параметр), чтобы столбец сохранялся по первому варианту, т.е. через точку с запятой, а не через двоеточие..... |
|
|
является ли имя именованной константой?
05.04.2013 13:00:04
Спасибо ZVI, Вы даже помнится как-то уже помогали мне еще на старом форуме....
Собственно говоря, Вы продемонстрировали новый для меня аппарат программирования через TypeName и Evaluate. Раньше я только разбирал по частям строку для решения подобных задач. Чувствовал, что можно как-то иначе (более красиво), но не знал! |
|
|
является ли имя именованной константой?
05.04.2013 04:21:33
[QUOTE]ZVI пишет:
Понятно, тогда можно, например, проще:
Спасибо ZVI.... проверил, работает.... Я правильно понимаю, что для массива можно аналогично только фиг скобку надо выделять.... По другому никак? |
|||
|
является ли имя именованной константой?
05.04.2013 03:53:35
Спасибо, сейчас изучаю ваше решение....
RefersTo: =1 - это константа RefersTo: ==Лист2!$H$15+Лист2!$J$13 - это формула RefersTo: ={"пн";"вт";"ср";"чт"} - это массив Вы правильно уловили мой вопрос...из кучи возможных имен, нужно выбрать конкретного типа (в частности константы, и в частности массивы) |
|
|
является ли имя именованной константой?
является ли имя именованной константой?
04.04.2013 16:30:56
Не понимаю ответа, но если действительно нет содержательного решения, тогда смело закрывайте тему.....
Мне казалось, что это очень простая задача, судя по аналогичным вопросам, но мне самому не удавалась ее решить.... Никого обижать и брать на слабо не собирался. Об этом вы сами сказали..... Спасибо! |
|
|
является ли имя именованной константой?