有人知道如何在列中查找大于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,它将被视为一个字符串,所以有什么办法我可以在过滤之前寻找一个大于1的值它?请注意,我将使用包含数千个数据的列。
答案 0 :(得分:2)
假设单元格包含数字而不是公式,这应该可以加快速度。数组会更快,但取决于你想要实现的目标。
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
答案 1 :(得分:0)
使用两个循环作为最后一列和行的索引,如下所示。 或者,使用活动工作表的范围的foreach循环。 更多信息: How to iterate through all the cells in Excel VBA or VSTO 2005
答案 2 :(得分:0)
显示>的单元格。 1表示D1至D100的范围
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