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

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

Kriterii = ActiveSheet.Range("B4")

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

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

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

Если есть у кого варианты, поделитесь пожалуйста.
...
Рейтинг: 0 / 0
Дробное число в автофильтре
    #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
Дробное число в автофильтре
    #40057666
Valll
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проверил вариант booby - работает точно так же как мой вариант. Я вроде разобрался в чём проблема.

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

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

booby, спасибо за помощь!
...
Рейтинг: 0 / 0
Дробное число в автофильтре
    #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
Дробное число в автофильтре
    #40057671
Valll
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
The_Prist , у меня слов нет выразить свою радость! Спасибо вам большое!
...
Рейтинг: 0 / 0
Дробное число в автофильтре
    #40057673
Valll
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
The_Prist , проверил ваш вариант. Он работает, если и критерий и искомое значение имеют одинаковый формат ячеек. Наверное это правильно. Спасибо ещё раз.
...
Рейтинг: 0 / 0
Дробное число в автофильтре
    #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
9 сообщений из 9, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Дробное число в автофильтре
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали тему (0):
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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