powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Сложный формат ячейки
27 сообщений из 27, показаны все 2 страниц
Сложный формат ячейки
    #36573080
segail
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте.
Сложный формат ячейки
Необходимо в ячейки D13 заменить “.” на “,” , предугадать где будет точка нельзя, также ее может и не быть. Также в данной ячейки необходимо удалить знак “`”, он всегда присутствует в конце.
Применил данный код Тест1
Код: plaintext
Range("D13").Replace ".", ",": Range("D13").Replace "`", ""
Данная ячейка отформатирована под числовое значение (число десятичных значений 1, отрицательные числа красные)
Изначально я использовал данный код Тест2
Код: plaintext
Range("D15").Formula = "=VALUE(REPLACE(IF(ISERROR(SEARCH(""."",RC[2])),RC[2],REPLACE(RC[2],SEARCH(""."",RC[2]),1,"",""))," & Chr( 10 ) & "SEARCH(""`"",IF(ISERROR(SEARCH(""."",RC[2])),RC[2],REPLACE(RC[2],SEARCH(""."",RC[2]),1,"",""))),1,""""))"
данный код работает нормально но на 97-2003 идет сбой.
...
Рейтинг: 0 / 0
Сложный формат ячейки
    #36573095
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
segail,

Когда же вы научитесь выражать свои мысли?
Я долго думал, что 97-2003 - это значения или номера ячеек.

Судя по всему, версии до 2003 включительно не понимают двоеточия в формуле. А чем вас не устраивает второй вариант?
...
Рейтинг: 0 / 0
Сложный формат ячейки
    #36573096
segail
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro,
Как раз второй вариант и устраивает но в Excel 97-2003 выдает #ЗНАЧ!
Пытался сделать первый вариант но он постоянно выдает #ЗНАЧ! не зависимо от версии Excel
...
Рейтинг: 0 / 0
Сложный формат ячейки
    #36573098
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня в 2000-м #ЗНАЧ выдает как раз только первый вариант, а второй работает нормально

Вот формула, правда на-русском, гораздо проще:
Код: plaintext
=ЗНАЧЕН(ПОДСТАВИТЬ(ПОДСТАВИТЬ(F13;".";",");"`";""))
...
Рейтинг: 0 / 0
Сложный формат ячейки
    #36573122
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
segailКак раз второй вариант и устраивает но в Excel 97-2003 выдает #ЗНАЧ!
Пытался сделать первый вариант но он постоянно выдает #ЗНАЧ! не зависимо от версии Excel

Потому что второй вариант у вас сверху , а первый вариант - снизу . И не я внес эту путаницу. Пока у вас в голове будет такая каша, в программе - тоже будет. Тренируйтесь выражать мысли четко и последовательно, вы же программист, а не поэт, с каждым вашим постом - проблема его расшифровать.
...
Рейтинг: 0 / 0
Сложный формат ячейки
    #36573136
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
segailПрименил данный код Тест1
...
Изначально я использовал данный код Тест2
...
данный код работает нормально но на 97-2003 идет сбой .

Какой такой данный работает нормально, а какой дает сбой я совершенно не понял, и почему сбой - это нормально я тоже не понял.
Сообщаю применительно к выложенному вами файлу для экселя 2000:

верхний вариант дает #Знач (видимо потому, что не понимает двоеточия)
нижний вариант (длиннющая формула) работает нормально

формулу можно существенно укоротить - вариант я привел выше
...
Рейтинг: 0 / 0
Сложный формат ячейки
    #36573163
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
У меня на 2000 вот это
Код: plaintext
Range("D13").Replace ".", ",": Range("D13").Replace "`", ""
в макросе сработало, но неправильно - сперва заменилась точка на запятую, а затем запятая уничтожилась.
...
Рейтинг: 0 / 0
Сложный формат ячейки
    #36573165
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hugo121,

Да он тут какую-то ерунду написал
Код: plaintext
1.
2.
Range("D13").FormulaR1C1 = "=VALUE(RC[2])"
Range("D13").Replace ".", ","
Range("D13").Replace "`", ""
Я тоже не сразу врубился. Они пишет формулу в ячейку - это понятно. Формула работать не будет, это тоже понятно - она не сможет преобразовать этот текст в число. Дальше он в этой ячейке, где нет ни запятой ни апострофа пытается заменить на что-то запятую и апостроф, то есть эти две оставшиеся команды ничего делать не должны, то есть бессмысленны. По крайней мере это так работает в 2000-м.
...
Рейтинг: 0 / 0
Сложный формат ячейки
    #36573166
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сорри, не запятую, а точку, но неважно...
...
Рейтинг: 0 / 0
Сложный формат ячейки
    #36581385
segail
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro,
Здравствуйте.
Число может быть и с точкой и без точки, число десятичных значений может тоже быть разным (в том числе и без десятичных значений), апостроф всегда присутствует в конце числа. Как преобразовать данный формат в числовое значение, с одним десятичным знаком, если отрицательное то цвет красный (необходимо чтобы данный код срабатывал как в Excel 97-2003 так и в 2007).
Пример примерных чисел, которые не обходимо преобразовать:
1`
234`
321.1`
123.456`
1234567.677888995456723`
21345667.7768859647735667865`


p/s
Более подробно не знаю как объяснить, тем более с примером (см. выш.)…
...
Рейтинг: 0 / 0
Сложный формат ячейки
    #36581414
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть два аспекта - преобразование и отображение

Красный цвет относится исключительно к отображению и задается с помощью формата ячейки.

Что касается одного знака после запятой:
- можно округлить число (функция Round) до одного десятичного знака. Но в этом случае число 234 останется 234, ничего с ним не произойдет.
- можно задать формат ячейки с одним десятичным знаком. Тогда все числа (включая 234) будут отображаться с одним десятичным знаком, но при этом фактического округления не произойдет (то есть при вычислениях число будет иметь первоначальную точность)
- можно сделать и то и другое

Определитесь, что требуется.
...
Рейтинг: 0 / 0
Сложный формат ячейки
    #36581426
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
segailКак преобразовать данный формат в числовое значение

Преобразовать формулой или VBA?
...
Рейтинг: 0 / 0
Сложный формат ячейки
    #36581427
segail
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro,
Постараюсь.
Значит если
1` то 1,0
если
234` то 234,0
если
321.1` то 321,1
если
123.456` то 123,5
если
1234567.677888995456723` то 1234567,7
если
21345667.7768859647735667865` то 21345667,8
ну а если
-21345667.7768859647735667865` то -21345667,8
...
Рейтинг: 0 / 0
Сложный формат ячейки
    #36581433
segail
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProsegailКак преобразовать данный формат в числовое значение

Преобразовать формулой или VBA?
Пример показан вышек второй тест работает у меня в Excel 2007 почему то значения с большими десятичными значениями не срабатывают в Excel 97-2003
...
Рейтинг: 0 / 0
Сложный формат ячейки
    #36581443
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
segailПостараюсь.

В то, что я написал, даже не пытались вникнуть.
На два вопроса, которые я задал, ответа я не получил: спросил, что нужно, преобразование или отображение - ответа нет, спросил, преобразовывать формулой или VBA - ответа нет, есть куча слов не по делу.

В общем так - формулу я уже давал , цвет отрицательных чисел и количество десятичных знаков задается через меню Формат => Ячейки

Если не будете делать хоть что-то самостоятельно и, самое главное, пытаться понять, что вам отвечают, никто вам помогать не будет. Если вам непонятен ответ, значит пока вы не проясните суть ответа дальше двигаться нельзя. Я уже в третий раз отсылаю к ранее данным ответам, это просто хамство с вашей стороны.
...
Рейтинг: 0 / 0
Сложный формат ячейки
    #36581453
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
segailПример показан вышек второй тест работает у меня в Excel 2007 почему то значения с большими десятичными значениями не срабатывают в Excel 97-2003

мало знать слова, надо еще складывать их в предложения
...
Рейтинг: 0 / 0
Сложный формат ячейки
    #36581456
segail
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro,
...
Рейтинг: 0 / 0
Сложный формат ячейки
    #36581461
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
segailПочему данный код VBA выдает значение #ЗНАЧ! в Excel 97-2003 если есть числа десятичных значений?

Я не знаю, что такое "числа десятичных значений", поэтому у меня #ЗНАЧ на Excel2000 не выдает.
...
Рейтинг: 0 / 0
Сложный формат ячейки
    #36581468
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
#ЗНАЧ будет выдаваться, если в региональных настройках используется точка в качестве десятичного разделителя.
...
Рейтинг: 0 / 0
Сложный формат ячейки
    #36581477
segail
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro,

Тогда я тоже не знаю…
Данные поступаю из txt файла в ячейку F15 а в ячейки D15 преобразуются в числовое значение, может тут причина?

p/s
Число десятичных знаков.
...
Рейтинг: 0 / 0
Сложный формат ячейки
    #36581500
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
segailможет тут причина?

возможную причину я назвал, пока не проверите - не продолжаем
...
Рейтинг: 0 / 0
Сложный формат ячейки
    #36581513
segail
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro,

понял
...
Рейтинг: 0 / 0
Сложный формат ячейки
    #36583249
segail
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro#ЗНАЧ будет выдаваться, если в региональных настройках используется точка в качестве десятичного разделителя.
Здравствуйте.
Проверил.
В Excel 97-2003 в региональных настройках (разделитель целой и дробной части) поставлена точка…
...
Рейтинг: 0 / 0
Сложный формат ячейки
    #36583253
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
segailВ Excel 97-2003 в региональных настройках (разделитель целой и дробной части) поставлена точка…

Ну вот и причина. VALUE хочет число в региональном формате, а не в том, которое вы пытаетесь ему подсунуть.
...
Рейтинг: 0 / 0
Сложный формат ячейки
    #36583254
segail
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro,
Правда не точно сказал.
В параметре Excel 97-2003 “Использовать системные разделители” в “Разделитель целой и дробной части” поставлена точка…
...
Рейтинг: 0 / 0
Сложный формат ячейки
    #36583261
segail
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
segail,
А в региональных настройках, к сожалению не посмотрел…
...
Рейтинг: 0 / 0
Сложный формат ячейки
    #36583810
segail
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
segail,
Проверил в региональных настройках стоит точка.
Кто и зачем поставил и почему (до этого были программисты, устанавливали программу)?
...
Рейтинг: 0 / 0
27 сообщений из 27, показаны все 2 страниц
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Сложный формат ячейки
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]