Страницы: 1
RSS
Макрос "не видит" вещественные числа
 
когда макросом в фильтре указываю числа с запятой - фильтр отрабатывает некорректно. На целые числа срабатывает правильно
Код
     Selection.AutoFilter Field:=7, Criteria1:=">=" & [I2], _
        Operator:=xlAnd, Criteria2:="<=" & [J2]
       
 
Код
 Selection.AutoFilter Field:=7, Criteria1:=">=" & Replace(Range("I2").Value, ",", "."), _
        Operator:=xlAnd, Criteria2:="<=" & Replace(Range("J2").Value, ",", ".")
Согласие есть продукт при полном непротивлении сторон
 
Код
     Selection.AutoFilter Field:=7, Criteria1:=">=" & Replace([I2], ",", ".") _
        , Operator:=xlAnd, Criteria2:="<=" & Replace([J2], ",", ".")
 
вот спасибо. все работает!
а то я очень много времени потерял с этой задачкой..
 
Код
Selection.AutoFilter Field:=7, Criteria1:=">=" & Val([I2]), _
        Operator:=xlAnd, Criteria2:="<=" & Val([J2])
 
а если я хочу чтобы строка менялась на каждую переменную из цикла for:

Код
For perebor = 1 To 8
       Selection.AutoFilter Field:=7, Criteria1:=">=" & Val(["I" & perebor]), _

          Operator:=xlAnd, Criteria2:="<=" & Val(["I" & perebor])

выдает ошибку - type mismatch

Изменено: alexandrkudryavcev - 09.09.2018 16:41:48
 
Цитата
alexandrkudryavcev написал: а если я хочу
В таком случае используйте вариант записи адреса ячейки из моего сообщения (#2)
Изменено: Sanja - 09.09.2018 17:01:16
Согласие есть продукт при полном непротивлении сторон
 
"I" & perebor - адрес ячейки
Range("I" & perebor) - ячейка
["I" & perebor] - погода в Африке.
 
Погодой в Африке можно управлять :)
Код
Sub bb()
Dim perebor
  For perebor = 1 To 8
    ActiveWorkbook.Names.Add "perebor", "=" & perebor
    Debug.Print ["I" & perebor]
  Next
  ActiveWorkbook.Names("perebor").Delete
End Sub
В квадратных скобках должна быть строка, которую может обработать вычислитель выражений Excel. О переменной VBA perebor он ничего не знает, а имя, определенное в книге - знает.
Страницы: 1
Наверх