Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Заменить формат ячейки на общий / 17 сообщений из 17, страница 1 из 1
07.05.2010, 23:08
    #36618237
motorway
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Заменить формат ячейки на общий
Подскажите, как заменить формат ячеек на общий для тех, у которых установлен "Числовой" (могут быть разные подвиды) из списка форматов, но стиль ячеек не равен некоторому style.
И почему, кстати, происходит такое: в ячейке было какое-то число при числовом формате, если поменять на общий, а потом опять на числовой, то появляются доп.цифры?
...
Рейтинг: 0 / 0
07.05.2010, 23:50
    #36618255
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Заменить формат ячейки на общий
motorwayИ почему, кстати, происходит такое: в ячейке было какое-то число при числовом формате, если поменять на общий, а потом опять на числовой, то появляются доп.цифры?

Потому что у числового формата указывается количество десятичных цифр после запятой. При переключении на общий - оно сбрасывается. При переключении на числовой - возвращается на умолчание.
...
Рейтинг: 0 / 0
08.05.2010, 00:05
    #36618265
motorway
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Заменить формат ячейки на общий
А насчет первой части вопроса?
...
Рейтинг: 0 / 0
08.05.2010, 00:29
    #36618285
motorway
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Заменить формат ячейки на общий
Правильно ли я понимаю, что для числового формата возможны только такие значения:
0.00
0.00;[Red]0.00
0.00_ ;-0.00
0.00_ ;[Red]-0.00
#,##0.00
#,##0.00;[Red]#,##0.00
#,##0.00_ ;-#,##0.00
#,##0.00_ ;[Red]-#,##0.00
?
Следовательно, на них и надо проверять
...
Рейтинг: 0 / 0
08.05.2010, 00:39
    #36618291
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Заменить формат ячейки на общий
motorwayА насчет первой части вопроса?
Ну я промолчал, ибо не считаю себя достаточно компетентным. А с другой стороны, не очень понимаю, что у вас вызывает проблемы, ибо я-то в курсе, что вы не первый день в экселе ковыряетесь...
вот записал пару макросов:
Код: plaintext
    Selection.NumberFormat = "0.00"
Код: plaintext
    Selection.NumberFormat = "General"
вроде все очевидно. Может подробнее опишете проблему?
...
Рейтинг: 0 / 0
08.05.2010, 00:40
    #36618292
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Заменить формат ячейки на общий
motorwayПравильно ли я понимаю, что для числового формата возможны только такие значения:
0.00

Нет, ну если зададите три знака после запятой, то будет "0.000". Кроме того, возможно задать вообще любой собственный числовой формат.
...
Рейтинг: 0 / 0
08.05.2010, 00:47
    #36618295
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Заменить формат ячейки на общий
Думаю так - проверяйте на наличие "0" или "#". Если нет ни того, ни другого - значит нечисловой формат.
...
Рейтинг: 0 / 0
08.05.2010, 00:49
    #36618296
motorway
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Заменить формат ячейки на общий
Надо просто быстро проверить, установлен ли именно Числовой формат в любом из его видов. Так как вариантов его много, каждый не хочется писать в проверке.
Насчет Selection.NumberFormat = "0.00" я знаю, но это как раз не единственный признак числового формата - вот я написал сверху другие варианты.
Мне просто надо изменить их все на общий, чтобы данные передавались и отображались со всеми цифрами введенными (точнее, истинное число, которое стоит в ячейке), иначе потом возникают проблемы с этим. Число одно, а отображается другое
...
Рейтинг: 0 / 0
08.05.2010, 00:52
    #36618297
motorway
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Заменить формат ячейки на общий
Shocker.ProДумаю так - проверяйте на наличие "0" или "#". Если нет ни того, ни другого - значит нечисловой формат.
У процентного тоже нули могут быть
...
Рейтинг: 0 / 0
08.05.2010, 00:52
    #36618298
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Заменить формат ячейки на общий
motorwayУ процентного тоже нули могут быть

А процентный - не числовой что ли?
...
Рейтинг: 0 / 0
08.05.2010, 00:54
    #36618299
motorway
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Заменить формат ячейки на общий
Он стоит отдельно в списке форматов, если нажать "формат ячеек". Мне нужно их различать. Процентный так и оставлять
...
Рейтинг: 0 / 0
08.05.2010, 00:56
    #36618301
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Заменить формат ячейки на общий
motorwayОн стоит отдельно в списке форматов, если нажать "формат ячеек". Мне нужно их различать. Процентный так и оставлять

ну проверяйте еще на наличие значка "%"
...
Рейтинг: 0 / 0
08.05.2010, 01:04
    #36618305
motorway
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Заменить формат ячейки на общий
Странно. Сделал такой код, но не хочет менять форматы:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
Private Sub Worksheet_SelectionChange(ByVal Target As Range)

Range("G6").NumberFormat = "General"

Dim a, b, c, d, e, f, g, h As String
a = "0.00"
b = "0.00;[Red]0.00"
c = "0.00_ ;-0.00"
d = "0.00_ ;[Red]-0.00"
e = "#,##0.00"
f = "#,##0.00;[Red]#,##0.00"
g = "#,##0.00_ ;-#,##0.00"
h = "#,##0.00_ ;[Red]-#,##0.00"



For u =  3  To  525 
For v =  3  To  34 
x = Cells(u, v).NumberFormat
If ((x = a) Or (x = b) Or (x = c) Or (x = d) Or (x = e) Or (x = f) Or (x = g) Or (x = h)) Then
Cells(u, v).NumberFormat = "General"
End If


Next
Next

End Sub
...
Рейтинг: 0 / 0
08.05.2010, 01:15
    #36618308
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Заменить формат ячейки на общий
motorwayСтранно. Сделал такой код, но не хочет менять форматы:

ну так поставьте точку останова на IF и посмотрите, чему равен x и выполняется ли условие на следующем шаге. вы меня начинаете удивлять....
...
Рейтинг: 0 / 0
08.05.2010, 01:27
    #36618317
motorway
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Заменить формат ячейки на общий
Короче, сделал просто проверку "Если НЕ процентный, то изменить на общий"
...
Рейтинг: 0 / 0
08.05.2010, 09:36
    #36618394
vlth
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Заменить формат ячейки на общий
Код: plaintext
1.
x = ActiveCell.NumberFormat
If x Like "*[#0]*[!%]" Then MsgBox "Меняем формат"
...
Рейтинг: 0 / 0
09.05.2010, 18:44
    #36619097
motorway
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Заменить формат ячейки на общий
Да уж, с этим просто эпопея какая-то. Почему, например, при передаче данных если сузить ширину столбца, так что не видны все цифры, то передаются не все цифры числа из Cells(i,j).Value?
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Заменить формат ячейки на общий / 17 сообщений из 17, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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