簡體   English   中英

無法使用usedrange屬性創建循環

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM