Ссылка на числовое значение из ячейки в коде Excel VBA - PullRequest
0 голосов
/ 07 октября 2019

Для приведенного ниже кода я хочу, чтобы значение «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 

1 Ответ

1 голос
/ 07 октября 2019

Количество возможностей бесконечно в отношении диапазонов, которые вы хотите зациклить. Вы можете создавать переменные и выполнять функции, чтобы найти любые числа, которые вы хотите найти. Вы можете считать, суммировать и т. Д. Имейте в виду, что переменные имеют пределы (целое число против длинного). В приведенном ниже примере я создал MinYear и MaxYear, предполагая, что диапазон содержит годы. Если бы это были даты, вам нужно было бы найти формулу для извлечения лет. Вы можете использовать результаты, чтобы определить цикл или выполнить математические расчеты, чтобы найти разницу, как было предложено.

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
...