Обмен данными столбца в массиве vba - PullRequest
0 голосов
/ 01 февраля 2020

Я пытаюсь составить линейный список вырезов. Нашел код для начала с здесь . Я пытаюсь поменять местами столбцы, по которым рассчитываются данные (мне нужно сохранить длину в столбце A на моем листе). Прямо сейчас это Col A = Qty и Col B = Length. Я пытался изменить некоторые числа вокруг, но не знал, как поменять значения массивов.

Dim CutArr() As Double
ReDim CutArr(lRowCount - 1, 1)

'Fill array with cuts
For i = 0 To UBound(CutArr, 1)
    For j = 0 To UBound(CutArr, 2)
        CutArr(i, j) = rInputCuts.Cells(i + 1, j + 1)
    Next j
Next i

'Sort array descending on cut length
For i = 0 To UBound(CutArr, 1) - 1
    For j = i + 1 To UBound(CutArr, 1)
        If CutArr(i, 1) < CutArr(j, 1) Then
            temp = CutArr(j, 0)
            temp2 = CutArr(j, 1)
            CutArr(j, 0) = CutArr(i, 0)
            CutArr(j, 1) = CutArr(i, 1)
            CutArr(i, 0) = temp
            CutArr(i, 1) = temp2
        End If
    Next j
Next i

Моя конечная цель - проверить, совпадают ли длина из столбца A и Qty из этих длин из столбца B с номером # в Затем нажмите на полку G, чтобы увидеть, какова длина барабана этого кабеля. Как только он это сделает, он запустит этот код для всех соответствующих типов кабелей и скажет мне, сколько барабанов мне нужно купить в полковнике.

Любая помощь очень ценится.

1 Ответ

2 голосов
/ 01 февраля 2020

У вас есть только два столбца, поэтому вы можете сделать что-то вроде этого:

'Fill array with cuts
For i = 0 To UBound(CutArr, 1)
    CutArr(i, 0) = rInputCuts.Cells(i + 1, 2) 'ColB
    CutArr(i, 1) = rInputCuts.Cells(i + 1, 1) 'ColA
Next i
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...