Гость
Map
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Дробное число в автофильтре / 9 сообщений из 9, страница 1 из 1
28.03.2021, 19:48
    #40057594
Valll
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дробное число в автофильтре
Здравствуйте.
Имеется автофильтр. Одна из его колонок - числа, в том числе и дробные.
В качестве критерия, для фильтрации по этой колонке, определяю в макросе ячейку на листе. Заношу в неё дробное число.
Автофильтр не находит значения... Хотя они есть.

Помогите с решением.
...
Рейтинг: 0 / 0
28.03.2021, 23:03
    #40057623
Valll
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дробное число в автофильтре
Я нашёл решение такое:

Kriterii = ActiveSheet.Range("B4")

Kriterii = Replace(Kriterii, ".", ",", , , 1) ' Вот решение! замена точки на запятую

ActiveSheet.Range("$A$6:$B$20").AutoFilter Field:=2, Criteria1:=Kriterii

Интересно, что точка заменяется на запятую .... хотя реально число с запятой.
...
Рейтинг: 0 / 0
28.03.2021, 23:23
    #40057626
Valll
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дробное число в автофильтре
Хм... в другом месте работает плохо... число 0,8 не воспринимает (ноль целых)...

Если есть у кого варианты, поделитесь пожалуйста.
...
Рейтинг: 0 / 0
29.03.2021, 00:41
    #40057636
booby
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дробное число в автофильтре
Valll,

попробуйте формировать критерий так:

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
    
    If Application.UseSystemSeparators Then
      Kriterii = "=" & LTrim$(CStr(ActiveSheet.Range("B4")))
    Else
      Kriterii = "=" & LTrim$(Str(ActiveSheet.Range("B4")))
      Kriterii = Replace(Kriterii, ".", Application.DecimalSeparator)
    End If
 
...
Рейтинг: 0 / 0
29.03.2021, 08:14
    #40057666
Valll
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дробное число в автофильтре
Проверил вариант booby - работает точно так же как мой вариант. Я вроде разобрался в чём проблема.

Значит так: и критерий, и искомое число в списке должны иметь формат "Общий". Если оба или хотя бы один из этих аргументов находится в ячейке с форматом "Число" - искать не будет! Это правило и для моего варианта, и для варианта booby.

Резюме. Автофильтр EXCEL с дробными числами не работает.

booby, спасибо за помощь!
...
Рейтинг: 0 / 0
29.03.2021, 08:24
    #40057669
The_Prist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дробное число в автофильтре
Valll
Автофильтр EXCEL с дробными числами не работает
вот Вы загнули-то :) Работает он. Просто в данном случае надо учитывать формат ячеек. Конкретно для Вашего примера:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
Sub Макрос1()
'
' Макрос1 Макрос
'
    Kriterii = ActiveSheet.Range("B4").Text ' дробное число
    ActiveSheet.Range("$A$6:$B$20").AutoFilter Field:=2, Criteria1:=Kriterii
End Sub
...
Рейтинг: 0 / 0
29.03.2021, 08:35
    #40057671
Valll
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дробное число в автофильтре
The_Prist , у меня слов нет выразить свою радость! Спасибо вам большое!
...
Рейтинг: 0 / 0
29.03.2021, 08:49
    #40057673
Valll
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дробное число в автофильтре
The_Prist , проверил ваш вариант. Он работает, если и критерий и искомое значение имеют одинаковый формат ячеек. Наверное это правильно. Спасибо ещё раз.
...
Рейтинг: 0 / 0
29.03.2021, 09:21
    #40057679
The_Prist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дробное число в автофильтре
Valll
и критерий и искомое значение имеют одинаковый формат ячеек
Да, я так и написал. К сожалению, это боль автофильтра. По идее, можно и так извернуться:
Код: vbnet
1.
2.
3.
4.
5.
6.
Sub Макрос1()
'
' Макрос1 Макрос
    Kriterii = Format(ActiveSheet.Range("B4").Value, IIf(Range("B7").NumberFormat = "General", "", Range("B7").NumberFormat)) ' дробное число
    ActiveSheet.Range("$A$6:$B$20").AutoFilter Field:=2, Criteria1:=Kriterii
End Sub


сработает, если во всех ячейках фильтруемого столбца установлен одинаковый формат.
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Дробное число в автофильтре / 9 сообщений из 9, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали тему (0):
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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