Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Сложный формат ячейки / 25 сообщений из 27, страница 1 из 2
11.04.2010, 22:52
    #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
11.04.2010, 23:03
    #36573095
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сложный формат ячейки
segail,

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

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

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

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

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

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

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

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


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

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

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

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

Преобразовать формулой или VBA?
...
Рейтинг: 0 / 0
15.04.2010, 20:46
    #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
15.04.2010, 20:49
    #36581433
segail
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сложный формат ячейки
Shocker.ProsegailКак преобразовать данный формат в числовое значение

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

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

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

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

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

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

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

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

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

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

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


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