excel vba select 负范围

excel vba select negative range

  1. 排序“B 列”<== 使用以下代码完成:
' sorts %change from cell B2 to the end of the line
Range("B2", Range("B2").End(xlDown)).Sort Key1:=Range("B2"), Order1:=xlAscending, Header:=xlNo

数据:

A B C
1 8 2
2 -2 4
3 3 -1
4 -5 8
5 0 10
6 -33 65

输出:

A B C
6 -33 65
4 -5 8
2 -2 4
5 0 10
3 3 -1
1 8 2
  1. Select 仅限负范围单元格

现在光标将位于值为 -33 的单元格(单元格 B2)中。 我需要 select 值为 -33、-5 和 -2 的范围。有没有一种快速的方法(内置公式)可以在不评估每个单元格值的情况下识别这些范围?

注意:获取的数据是动态的,行数不固定。

关注你的主要问题 select 只有负面细胞(即排序后 - 有很多答案 :-) 你可以尝试:

With Sheet1          ' << the sheet's Code(Name)
    Dim lastRow As Long
    lastRow = .Range("B" & .Rows.Count).End(xlUp).Row

    Dim srchRow As Long
    srchRow = .Evaluate("Match(False,B2:B" & lastRow & "<0,0)")
    'Debug.Print srchRow
    
    Dim rng As Range
    Set rng = .Range("B2", .Cells(srchRow, "B"))
    rng.Select
End With

Select 排序列中的负值

Option Explicit

Sub Test()
    With ActiveSheet.Range("A1").CurrentRegion
        .Sort Key1:=.Columns(2), Order1:=xlAscending, Header:=xlYes
        With .Columns(2).Resize(.Rows.Count - 1).Offset(1)
            On Error Resume Next
            .Resize(Application.CountIf(.Cells, "<0")).Select
            On Error GoTo 0
        End With
    End With
End Sub