我正在做一个算法,想在Excel VBA中进行试用。满足某些条件后,我想在某个范围内找到一个单元格值(并且绝对在该范围内),但是VBA似乎找不到它。
我一直在寻找类似的情况,还尝试将变量变暗并将其添加到我的代码中,但这似乎没有用。当我尝试对Range(“ AA2:AA16”)使用debug.print时,它会遇到错误。 它适用于其他范围。
Sheets(9).Range("AA2:AA16").Find (Sheets(9).Range("AK2").Value)
Debug.Print Sheets(9).Range("AA2:AA16").Find(Sheets(9).Range("AK2").Value).Adress
Sheets(9).Range("AA1:AD1").Find (Sheets(9).Range("AM3").Value)
Debug.Print Sheets(9).Range("AA1:AD1").Find(Sheets(9).Range("AM3").Value).Address
我希望它在“ AA2:AA16”范围内找到AK2值并返回地址。之后,我希望代码选择该行,选择“ AA1:AD1”范围内的AM3值列,然后将两者相交并将之和1到该交点。
答案 0 :(得分:0)
希望我能解决您的问题。尝试理解此代码,它应该可以指导您。
Sub test()
Dim r1 As Range, r2 As Range, r3 As Range
Set r1 = Sheets(1).Range("A2:A8").Find(Sheets(1).Range("A13"))
If Not r1 Is Nothing Then
Debug.Print r1.Address
Else
Debug.Print "not found"
End If
Set r2 = Sheets(1).Range("B1:D1").Find(Sheets(1).Range("A14"))
If Not r2 Is Nothing Then
Debug.Print r2.Address
Else
Debug.Print "not found"
End If
If Not (r1 Is Nothing Or r2 Is Nothing) Then
Set r3 = Cells(r1.Row, r2.Column)
Debug.Print r3.Address
Debug.Print r3.Value
Else
Debug.Print "not found"
End If
End Sub