Назначение переменных столбцам с 20 строками и их вычитание в Excel VBA

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

Назначение переменных столбцам с 20 строками и их вычитание в Excel VBA

(Максимальные значения, которые я хочу поместить в столбец 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

C5:C25 — это строки 21.

user11121185 27.02.2019 11:09

Для этого вам не нужен VBA, вы можете использовать формулы.

z32a7ul 27.02.2019 12:13

Range("C5:C25").Value = I0 означает, что вы пишете из переменной IO (значение=0) в Range. Вы не можете складывать и вычитать векторы в VBA.

z32a7ul 27.02.2019 12:15
Преобразование HTML-таблицы в профессиональный документ Excel
Преобразование HTML-таблицы в профессиональный документ Excel
Это самый простой способ создания Excel из HTML-таблицы.
Импорт excel в laravel в базу данных
Импорт excel в laravel в базу данных
Здравствуйте, дорогой читатель, в этой статье я расскажу практическим и быстрым способом, как импортировать файл Excel в вашу базу данных с помощью...
0
3
55
1

Ответы 1

У вас уже есть это, вы можете использовать rowsrow и columnscolumn из диапазона.

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

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

Спасибо. Теперь, вот так, если я установлю другую переменную b(y, w), смогу ли я вычесть a из b? Я пытался, но не смог этого сделать.

zih 27.02.2019 13:59

Таким образом, строка 1 столбец 4-строка 1 столбец 3 будет result=a(1, 4)-a(1, 3) вы можете использовать переменные и т. д. для чисел

Nathan_Sav 27.02.2019 14:23

Другие вопросы по теме