Назначение переменных для столбцов с 20 строками и вычитание их в Excel VBA - PullRequest
0 голосов
/ 27 февраля 2019

Я новичок в Excel VBA.Я пишу код, в котором нужно сохранить значения 20 строк в столбце в переменной и аналогичным образом другой набор значений из 20 строк в другой переменной.Затем я хочу вычесть одно из другого и сохранить в другой переменной (например, A).Эту процедуру я повторю еще 3 раза с разными наборами данных и в итоге получу 4 переменные (например, A, B, C, D).Наконец, я хочу найти максимум всех 4 переменных и присвоить значения в столбце.

enter image description here

(максимальные значения, которые я хочу поместитьв колонке delE)

Я пробовал это, как показано ниже.Но это не сработало.Стирает значения всех столбцов.Я прилагаю код здесь.Не могли бы вы мне помочь?

Sub span()
    Dim I0 As Variant
    Dim T1 As Variant
    Dim I1 As Variant
    Dim T2 As Variant
    Dim I2 As Variant
    Dim A  As Variant
    Dim B  As Variant
    Dim C  As Variant
    Dim D  As Variant
    Dim G  As Variant

    G = Range("G5").Value - Range("C5").Value

     Range("C5:C25").Value = I0
     Range("D5:D25").Value = T1
     Range("E5:E25").Value = I1
     Range("F5:F25").Value = T2
     Range("G5:G25").Value = I2
     A = I2 - I0
     B = T2 - I0
     C = T2 - I1
     D = T1 - I1 + G

    Range("H5:H25").Value = Application.WorksheetFunction.Max(A, B, C, D)
End Sub

1 Ответ

0 голосов
/ 27 февраля 2019

У вас уже есть это, вы можете использовать rows row и columns column из диапазона.

Диапазон может идти прямо в массив, который имеет индексированные значения, и Использованиемассив немного быстрее.

Sub aTest()

Dim r As Excel.Range
Dim a() As Variant

Set r = Range("a1:d20")
a = r.Value

For x = 1 To UBound(a)

    For t = 1 To r.Columns.Count

        Debug.Print "Row " & x & " Value " & t & " " & a(x, t)

    Next t

Next x

End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...