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

Потому что у числового формата указывается количество десятичных цифр после запятой. При переключении на общий - оно сбрасывается. При переключении на числовой - возвращается на умолчание.
...
Рейтинг: 0 / 0
Заменить формат ячейки на общий
    #36618265
motorway
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А насчет первой части вопроса?
...
Рейтинг: 0 / 0
Заменить формат ячейки на общий
    #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
Заменить формат ячейки на общий
    #36618291
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
motorwayА насчет первой части вопроса?
Ну я промолчал, ибо не считаю себя достаточно компетентным. А с другой стороны, не очень понимаю, что у вас вызывает проблемы, ибо я-то в курсе, что вы не первый день в экселе ковыряетесь...
вот записал пару макросов:
Код: plaintext
    Selection.NumberFormat = "0.00"
Код: plaintext
    Selection.NumberFormat = "General"
вроде все очевидно. Может подробнее опишете проблему?
...
Рейтинг: 0 / 0
Заменить формат ячейки на общий
    #36618292
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
motorwayПравильно ли я понимаю, что для числового формата возможны только такие значения:
0.00

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

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

ну проверяйте еще на наличие значка "%"
...
Рейтинг: 0 / 0
Заменить формат ячейки на общий
    #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
Заменить формат ячейки на общий
    #36618308
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
motorwayСтранно. Сделал такой код, но не хочет менять форматы:

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


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