簡體   English   中英

從 Excel VBA 代碼中的單元格引用數值

[英]Referencing a Numerical Value From a Cell in Excel VBA Code

對於下面的代碼,我希望“x”的值根據 Excel 中單元格的值而變化,例如 2000 年和 1995 年。鑒於這兩年,我希望“x”的值為 5(2000 - 1995 年)。 我嘗試了一些不同的東西,但無法讓它工作。

Dim i As Integer 
For i = 1 To 5 
    rng.Select 
    Selection.End(xlDown).Select 
    ActiveCell.Offset(1, 0).Range("A1").Select 
    ActiveCell.FormulaR1C1 = "=R[-1]C/R122C" 
Next i 

對於您想要循環的范圍,可能性的數量是無窮無盡的。 您可以創建變量並執行函數來查找您想要查找的任何數字。 您可以計數、求和等。請注意變量有限制(整數與長整數)。 在下面的示例中,假設范圍包含年份,我創建了MinYearMaxYear 如果是日期,則必須找到提取年份的公式。 您可以使用結果來定義循環或按照建議進行數學運算以找出差異。

Sub LoopOnCellValues()

    Dim i As Integer
    Dim MinYear As Integer
    Dim MaxYear As Integer
    Dim ws As Worksheet

    Set ws = ThisWorkbook.Worksheets("Sheet1")

    MinYear = WorksheetFunction.Min(ws.Range(ws.Cells(2, 2), ws.Cells(2, 100)))
    MaxYear = WorksheetFunction.Max(ws.Range(ws.Cells(2, 2), ws.Cells(2, 100)))

    For i = MinYear To MaxYear
        'do something
    Next i

    'or

    For i = 1 To (MaxYear - MinYear)
        'do something
    Next i

End Sub

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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