динамически заполнять и печатать 2D массив в VBA - PullRequest
0 голосов
/ 25 июня 2018

Я перебираю 2D-массив, чтобы определить, присутствуют ли значения из столбца 1 на листе.Если это так, я бы хотел вставить значение из столбца 2 в тот же столбец, в котором оно было найдено.У меня есть код ниже ... Я не получаю никаких ошибок, но не выводятся никакие значения.

Диапазон, в который я вставляю, должен быть динамическим, и сейчас он основан на массиве под названием "myArrayNoBlanks "(динамический массив, который заполняет исходные значения, которые я извлекаю для своих данных).Возможно, изменение диапазона на что-то, что найдет последний столбец, сработает?

Любая помощь будет принята с благодарностью.

For h = 1 To 11

Set PartRange = Worksheets(12).UsedRange.Columns(col(h))
Set CostRange = Worksheets(12).UsedRange.Columns(Cost(h))

    For Each cell In PartRange.Cells
        If cell.Row > 1 Then
        ReDim Preserve myParts(var)
        myParts(var) = cell.Value
        var = var + 1
        End If
    Next cell

    For Each cell In CostRange.Cells
        If cell.Row > 1 Then
        ReDim Preserve myCost(varc)
        myCost(varc) = cell.Value
        varc = varc + 1
        End If
    Next cell

    myNewArray = Array(myParts, myCost)

    For w = LBound(myNewArray, 1) To UBound(myNewArray, 1)

        Dim cols As Integer
        Dim ans As Boolean
        Dim sch As Long
        sch = myNewArray(w)(2)
        Dim ch As Range
        Dim rngs As Range
        Set rngs = Range("B1")
        Set rngs = rngs.Resize(1, UBound(myArrayNoBlanks))
        For Each ch In rngs
            If ch = sch Then
                ans = True
                cols = ch.Column
                    If h = 1 Then
                    Dim Dest1 As Range
                    Set Dest1 = Worksheets(14).Cells(2, cols)
                    Dest1.Value = sch
                    End If
            End If
        Next ch
        If IsNull(ans) Then ans = False


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