Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Количество десятичных знаков - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Количество десятичных знаков (Макросы/Sub)
Количество десятичных знаков
pechkin Дата: Четверг, 18.01.2018, 19:46 | Сообщение № 1
Группа: Проверенные
Ранг: Обитатель
Сообщений: 329
Репутация: 49 ±
Замечаний: 0% ±

2003
Здравствуйте! Подскажите, как определить и выделить ячейки на листе, содержащие заданное количество десятичных знаков. Спасибо!
К сообщению приложен файл: 8109373.xls (15.0 Kb)
 
Ответить
СообщениеЗдравствуйте! Подскажите, как определить и выделить ячейки на листе, содержащие заданное количество десятичных знаков. Спасибо!

Автор - pechkin
Дата добавления - 18.01.2018 в 19:46
Pelena Дата: Четверг, 18.01.2018, 20:25 | Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 19177
Репутация: 4417 ±
Замечаний: ±

Excel 365 & Mac Excel
Здравствуйте.
Число знаков в реальном числе или то, что на листе отображается? Формат ячеек всегда числовой?


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеЗдравствуйте.
Число знаков в реальном числе или то, что на листе отображается? Формат ячеек всегда числовой?

Автор - Pelena
Дата добавления - 18.01.2018 в 20:25
bmv98rus Дата: Четверг, 18.01.2018, 20:31 | Сообщение № 3
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4106
Репутация: 768 ±
Замечаний: 0% ±

Excel 2013/2016
Pelena, из примера видно, что про формат.

pechkin, Если и возможно, то максимальное или как? Это однозначно VBA , не сложный, но VBA. Вы уже и кнопку навесли :-)
Только для того чтоб определеить потребуется смотреть на формат, а там может быть очень большое разнообразие и анализ сложным может оказаться.


Замечательный Временно просто медведь , процентов на 20.
 
Ответить
СообщениеPelena, из примера видно, что про формат.

pechkin, Если и возможно, то максимальное или как? Это однозначно VBA , не сложный, но VBA. Вы уже и кнопку навесли :-)
Только для того чтоб определеить потребуется смотреть на формат, а там может быть очень большое разнообразие и анализ сложным может оказаться.

Автор - bmv98rus
Дата добавления - 18.01.2018 в 20:31
Pelena Дата: Четверг, 18.01.2018, 20:38 | Сообщение № 4
Группа: Админы
Ранг: Местный житель
Сообщений: 19177
Репутация: 4417 ±
Замечаний: ±

Excel 365 & Mac Excel
Из примера-то видно, а что там на самом деле...
На примере, скажем, такой макрос работает
[vba]
Код
Sub Кнопка1_Щелчок()
    Dim cl As Range
    ActiveSheet.UsedRange.Cells.Interior.Color = xlNone
    With ActiveSheet
        For Each cl In .UsedRange
            If cl <> "" And cl.NumberFormat = "0" & IIf(.Range("J1").Value, "." & Application.Rept("0",.Range("J1").Value), "") Then cl.Interior.Color = vbRed
        Next
    End With
End Sub
[/vba]


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеИз примера-то видно, а что там на самом деле...
На примере, скажем, такой макрос работает
[vba]
Код
Sub Кнопка1_Щелчок()
    Dim cl As Range
    ActiveSheet.UsedRange.Cells.Interior.Color = xlNone
    With ActiveSheet
        For Each cl In .UsedRange
            If cl <> "" And cl.NumberFormat = "0" & IIf(.Range("J1").Value, "." & Application.Rept("0",.Range("J1").Value), "") Then cl.Interior.Color = vbRed
        Next
    End With
End Sub
[/vba]

Автор - Pelena
Дата добавления - 18.01.2018 в 20:38
bmv98rus Дата: Четверг, 18.01.2018, 20:59 | Сообщение № 5
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4106
Репутация: 768 ±
Замечаний: 0% ±

Excel 2013/2016
ну да .
или
[vba]
Код
Sub GetMod()
    Dim dig As Integer
    Dim dig1 As Integer
    For Each cell In ActiveSheet.Range("a1:f24")
        dig1 = Len(cell.NumberFormat) - InStr(1, cell.NumberFormat, ".")
        If dig1 > dig Then dig = dig1
        Next cell
    [j1] = dig
End Sub
[/vba]

я еще вот это б добавил For Each cell In Union(.SpecialCells(xlCellTypeConstants), .SpecialCells(xlCellTypeFormulas)) для usedrange


Замечательный Временно просто медведь , процентов на 20.
 
Ответить
Сообщениену да .
или
[vba]
Код
Sub GetMod()
    Dim dig As Integer
    Dim dig1 As Integer
    For Each cell In ActiveSheet.Range("a1:f24")
        dig1 = Len(cell.NumberFormat) - InStr(1, cell.NumberFormat, ".")
        If dig1 > dig Then dig = dig1
        Next cell
    [j1] = dig
End Sub
[/vba]

я еще вот это б добавил For Each cell In Union(.SpecialCells(xlCellTypeConstants), .SpecialCells(xlCellTypeFormulas)) для usedrange

Автор - bmv98rus
Дата добавления - 18.01.2018 в 20:59
fan-vba Дата: Четверг, 18.01.2018, 21:03 | Сообщение № 6
Группа: Пользователи
Ранг: Новичок
Сообщений: 24
Репутация: 10 ±
Замечаний: 0% ±

Excel 2007
пока писал, уже ответили))
[vba]
Код
Sub red()
Application.ScreenUpdating = False
ActiveSheet.Cells.Interior.Color = xlNone
For i = 1 To 100
For j = 1 To 100
If Len(Cells(i, j)) - InStr(1, Cells(i, j), ",") = Range("j1") Then
Cells(i, j).Interior.Color = 255
End If
Next j
Next i
Application.ScreenUpdating = True
End Sub
[/vba]


Сообщение отредактировал fan-vba - Пятница, 19.01.2018, 01:16
 
Ответить
Сообщениепока писал, уже ответили))
[vba]
Код
Sub red()
Application.ScreenUpdating = False
ActiveSheet.Cells.Interior.Color = xlNone
For i = 1 To 100
For j = 1 To 100
If Len(Cells(i, j)) - InStr(1, Cells(i, j), ",") = Range("j1") Then
Cells(i, j).Interior.Color = 255
End If
Next j
Next i
Application.ScreenUpdating = True
End Sub
[/vba]

Автор - fan-vba
Дата добавления - 18.01.2018 в 21:03
fan-vba Дата: Четверг, 18.01.2018, 21:10 | Сообщение № 7
Группа: Пользователи
Ранг: Новичок
Сообщений: 24
Репутация: 10 ±
Замечаний: 0% ±

Excel 2007
я еще вот это б добавил For Each cell In Union(.SpecialCells(xlCellTypeConstants), .SpecialCells(xlCellTypeFormulas)) для usedrange

для универсальности желательно
 
Ответить
Сообщение
я еще вот это б добавил For Each cell In Union(.SpecialCells(xlCellTypeConstants), .SpecialCells(xlCellTypeFormulas)) для usedrange

для универсальности желательно

Автор - fan-vba
Дата добавления - 18.01.2018 в 21:10
Pelena Дата: Четверг, 18.01.2018, 21:28 | Сообщение № 8
Группа: Админы
Ранг: Местный житель
Сообщений: 19177
Репутация: 4417 ±
Замечаний: ±

Excel 365 & Mac Excel
fan-vba, Андрей, чтобы код отображался правильно, надо его выделить и нажать кнопку #


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
Сообщениеfan-vba, Андрей, чтобы код отображался правильно, надо его выделить и нажать кнопку #

Автор - Pelena
Дата добавления - 18.01.2018 в 21:28
bmv98rus Дата: Четверг, 18.01.2018, 21:57 | Сообщение № 9
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4106
Репутация: 768 ±
Замечаний: 0% ±

Excel 2013/2016
для универсальности желательно

для скорости, ибо область может быть огромной, а данных в ней в A1 Да в XFD1048576 , ой как не быстро получим резултат.


Замечательный Временно просто медведь , процентов на 20.
 
Ответить
Сообщение
для универсальности желательно

для скорости, ибо область может быть огромной, а данных в ней в A1 Да в XFD1048576 , ой как не быстро получим резултат.

Автор - bmv98rus
Дата добавления - 18.01.2018 в 21:57
fan-vba Дата: Пятница, 19.01.2018, 01:18 | Сообщение № 10
Группа: Пользователи
Ранг: Новичок
Сообщений: 24
Репутация: 10 ±
Замечаний: 0% ±

Excel 2007
fan-vba, Андрей, чтобы код отображался правильно, надо его выделить и нажать кнопку #

спасибо, поправил
 
Ответить
Сообщение
fan-vba, Андрей, чтобы код отображался правильно, надо его выделить и нажать кнопку #

спасибо, поправил

Автор - fan-vba
Дата добавления - 19.01.2018 в 01:18
pechkin Дата: Пятница, 19.01.2018, 08:01 | Сообщение № 11
Группа: Проверенные
Ранг: Обитатель
Сообщений: 329
Репутация: 49 ±
Замечаний: 0% ±

2003
Здравствуйте! Всем спасибо за участие. Прошу прощения, что не совсем полно уточнил задачу. В ячейках листа находятся числа с разным количеством десятичных знаков, отображаются они в ячейках по разному (в зависимости от форматирования) Необходимо найти и выделить ячейки с числами (ячейки с текстом должны игнорироваться) у которых заданное количество десятичных знаков.
Более всего подходит макрос от fan-vba, но если в ячейку вводится целое число и его разрядность совпадает с заданным количеством десятичных знаков, то макрос его тоже выделяет. Спасибо!
К сообщению приложен файл: 111111.xls (33.0 Kb)


Сообщение отредактировал pechkin - Пятница, 19.01.2018, 08:22
 
Ответить
СообщениеЗдравствуйте! Всем спасибо за участие. Прошу прощения, что не совсем полно уточнил задачу. В ячейках листа находятся числа с разным количеством десятичных знаков, отображаются они в ячейках по разному (в зависимости от форматирования) Необходимо найти и выделить ячейки с числами (ячейки с текстом должны игнорироваться) у которых заданное количество десятичных знаков.
Более всего подходит макрос от fan-vba, но если в ячейку вводится целое число и его разрядность совпадает с заданным количеством десятичных знаков, то макрос его тоже выделяет. Спасибо!

Автор - pechkin
Дата добавления - 19.01.2018 в 08:01
Karataev Дата: Пятница, 19.01.2018, 09:19 | Сообщение № 12
Группа: Проверенные
Ранг: Старожил
Сообщений: 1334
Репутация: 533 ±
Замечаний: 0% ±

Excel


Сообщение отредактировал Karataev - Пятница, 19.01.2018, 10:44
 
Ответить
Сообщение

Автор - Karataev
Дата добавления - 19.01.2018 в 09:19
pechkin Дата: Пятница, 19.01.2018, 10:39 | Сообщение № 13
Группа: Проверенные
Ранг: Обитатель
Сообщений: 329
Репутация: 49 ±
Замечаний: 0% ±

2003
Karataev, спасибо! Код работает как надо! hands Вот только, если в ячейке ошибка, виснет - ну это уж слишком много желания... Еще раз СПАСИБО ВСЕМ !
 
Ответить
СообщениеKarataev, спасибо! Код работает как надо! hands Вот только, если в ячейке ошибка, виснет - ну это уж слишком много желания... Еще раз СПАСИБО ВСЕМ !

Автор - pechkin
Дата добавления - 19.01.2018 в 10:39
Karataev Дата: Пятница, 19.01.2018, 10:45 | Сообщение № 14
Группа: Проверенные
Ранг: Старожил
Сообщений: 1334
Репутация: 533 ±
Замечаний: 0% ±

Excel
Изменил макрос в посте 13, чтобы работал с ошибками Excel'я.
 
Ответить
СообщениеИзменил макрос в посте 13, чтобы работал с ошибками Excel'я.

Автор - Karataev
Дата добавления - 19.01.2018 в 10:45
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Количество десятичных знаков (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!