从Excel VBA代码中的单元格引用数值

问题描述 投票:0回答:1

对于下面的代码,我希望“ 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 
excel vba reference cell
1个回答
1
投票

您想要循环的范围的可能性是无止境的。您可以创建变量并执行函数以查找要查找的任何数字。您可以计数,求和等。请注意,变量具有限制(整数与长整数)。在下面的示例中,假设范围包含年份,我创建了一个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
© www.soinside.com 2019 - 2024. All rights reserved.