使用Excel工作表,我正在尝试搜索与其单元格值中的某些条件匹配的行。
我需要类似SQL SELECT查询的东西来继续搜索Excel工作表,在VBA中有这样的方法吗?返回与搜索条件匹配的行范围的方法。
我尝试使用Range AutoFilter方法,但我不能将返回的对象用作Range来访问返回行中的单元格。
我是Excel VBA的新用户,如果我的问题看起来很奇怪或很愚蠢,那就很抱歉
答案 0 :(得分:1)
您可以使用Union()函数创建范围。这是一个简化的例子(假设您想要选择A列中的值为偶数并将其突出显示为黄色的整行):
Sub UnionTest()
Dim myRange As Range
Dim cell As Range
For Each cell In Range("A1:A100")
If cell Mod 2 = 0 Then
If myRange Is Nothing Then
Set myRange = cell
Else
Set myRange = Union(myRange, cell)
End If
End If
Next
myRange.EntireRow.Interior.Color = vbYellow
End Sub
请注意,在使用union之前需要检查范围是否为空(并对其进行着色,但为了使代码更易于阅读,我在此处省略了它),因此使用If-Then语句。根据您对每一行的要求,在for-each循环期间执行该行的过程可能更有效。
答案 1 :(得分:-1)
Hava看看这些功能
How to find data in an Excel table
How to Use VLOOKUP or HLOOKUP to find an exact match
希望这些帮助