在Excel VBA列中search大于1的值

任何人都知道如何在列中查找大于1的值?

Set fileSheet = wb.ActiveSheet fileSheet.Name = "Test" Set rng = fileSheet.Range("D:D") Set rngFound = rng.Find(">1") If rngFound Is Nothing Then MsgBox "No value" End If 

我试图这样做,但我知道,如果你把一个双重qoute,它将被视为一个string,所以有什么办法,我可以find一个大于1的值之前筛选它? 请注意,我将使用一个有数千个数据的列。

这应该加快速度,假设单元格包含数字而不是公式。 一个数组会更快,但取决于你想要达到的目标。

 Sub x() Dim r As Range, filesheet As Worksheet, Rng As Range Set filesheet = wb.ActiveSheet filesheet.Name = "Test" Set Rng = filesheet.Range("D1", filesheet.Range("D" & Rows.Count).End(xlUp)).SpecialCells(xlCellTypeConstants, xlNumbers) For Each r In Rng If r.Value > 1 Then 'do whatever End If Next r End Sub 

显示D1到D100范围内> 1的单元格

 Dim i As Integer With ThisWorkbook.Sheets(1) For i = 1 To 100 If .Cells(i,4).Value > 1 Then MsgBox "Value Found! Cell D " & i End If Next i End With 

最后一列和这一行的索引使用两个循环。 或者,使用活动工作表范围的foreach循环。 更多信息: 如何遍历Excel VBA或VSTO 2005中的所有单元格