[英]Unable to create a loop using usedrange property
我正在使用的工作表填充了兩個單元格,一個單元格包含Total
,另一個單元格包含value
。 他們彼此相鄰。 我的目標是趕上Total
並顯示它的value
。 因為我不想知道他們的特定單元地址,所以我創建了一個循環並完成了工作。 我使用.SpecialCells(xlCellTypeLastCell)
做到了。 現在,我想使用.UsedRange
進行相同的操作。
我的問題是:如何使用.UsedRange
進行相同的操作(創建循環)。
這是我嘗試過的(工作一個):
Sub FindTotalValue()
Dim rng As Range, cel As Range
'Set rng = ActiveSheet.UsedRange
'For Each cel In rng.Row
For Each cel In Range("A1", Range("A1").SpecialCells(xlCellTypeLastCell))
If InStr(cel.Value, "Total") > 0 Then MsgBox cel.Offset(0, 1).Value
Next cel
End Sub
由於對使用.usedrange
方法創建循環.usedrange
,因此我只是在腳本中將它們注釋掉了。
試試看:
Sub FindTotalValue()
Dim rng As Range, cel As Range
For Each cel In ActiveSheet.UsedRange.Cells.SpecialCells(2)
If InStr(cel.Value, "Total") > 0 Then MsgBox cel.Offset(0, 1).Value
Next cel
End Sub
假定包含“總計”的單元格是一個常數,而不是公式:
您還應該使用Find()而不是循環進行調查。
編輯#1:
根據香蕉的建議:
Sub FindTotalValue()
Dim rng As Range, cel As Range
For Each cel In ActiveSheet.UsedRange.Cells.SpecialCells(2)
If InStr(cel.Value, "Total") > 0 Then
MsgBox cel.Offset(0, 1).Value
Exit For
End If
Next cel
End Sub
編輯#2:
要使用Find() :
Sub FindTotalValueQuickly()
MsgBox Cells.Find(what:="Total", lookat:=xlPart).Offset(0, 1).Value
End Sub
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.