Код ниже создает массив уникальных значений из значений в столбце A. Каждый выбранный элемент массива используется для выбора диапазона на листе. Диапазон отображается в списке Userform Listbox.Перемещение по элементам последовательного массива
Я хотел бы помочь с кодом, который позволит пользователю прокручивать через каждый элемент массива «MyarUniqVal» через две кнопки формы Right «>>» и «Left < <». Каждый раз, когда нажимается кнопка, будет выбран элемент последовательного массива, а новый диапазон заполнит список.
Любая помощь была бы принята с благодарностью.
Спасибо,
Пожалуйста, смотрите код ниже:
Sub testRange3()
Dim lastrow, i, j As Long
Dim c As Range, rng As Range
Dim MyArUniqVal() As Variant
ReDim MyArUniqVal(0)
'With ActiveSheet
With ThisWorkbook.Worksheets("Temp")
lastrow = .Cells(.Rows.Count, "A").End(xlUp).Row
For i = 1 To lastrow
If .Cells(i, 1).Value <> .Cells(i + 1, 1).Value Then
MyArUniqVal(UBound(MyArUniqVal)) = .Cells(i, 1).Value
ReDim Preserve MyArUniqVal(UBound(MyArUniqVal) + 1)
End If
Next
ReDim Preserve MyArUniqVal(UBound(MyArUniqVal) - 1)
End With
For j = LBound(MyArUniqVal) To UBound(MyArUniqVal)
'Prints out each array to Immediate Window
Debug.Print j
'Prints out unique values from Column A stored in array to Immediate Window
Debug.Print MyArUniqVal(j)
Next
With ThisWorkbook.Worksheets("Temp")
'changed to ActiveSheet
'With ActiveSheet
For Each c In .Range("A1:A" & lastrow)
For j = LBound(MyArUniqVal) To UBound(MyArUniqVal)
If UCase(c.Text) = j Then
'If UCase(c.Text) = "B" Then
If rng Is Nothing Then
Set rng = .Range("B" & c.Row).Resize(, 2)
Debug.Print rng
Else
Set rng = Union(rng, .Range("B" & c.Row).Resize(, 2))
Exit For
Debug.Print rng
End If
End If
Next
Next c
End With
If Not rng Is Nothing Then rng.Select
End Sub
бы помочь, если вы укажете, что не работает/ошибки. – findwindow
Я не знаю, как программировать кнопки для прокрутки каждого элемента описанного массива. В коде, который я опубликовал, нет ничего плохого. Мне нужен дополнительный код. Спасибо – user3781528
Вы можете установить свой массив и счетчик в качестве общедоступных переменных. Затем, когда кнопка нажата, счетчик перемещается и вызывает sub, который находит это значение в массиве public и публикует результат, как у вас. –