Запустите For Each L oop из выбранного значения (вместо того, чтобы начинать с первого) в списке проверки в VBA - PullRequest
0 голосов
/ 09 мая 2020

Я пытаюсь попросить макрос запустить L oop из «активного» значения списка проверки, как с текущим кодом, показанным ниже, каждый раз, когда я запускаю макрос, запускается с первого значения списка . Спасибо!

Dim dvCell As Range
 Dim inputRange As Range
 Dim c As Range
 Dim i As Long


 'Which cell has data validation
 Set dvCell = Worksheets("ValperSIS").Range("e20")
 'Determine where validation comes from
 Set inputRange = Evaluate(dvCell.Validation.Formula1)


 i = 1
 'Begin our loop
 Application.ScreenUpdating = False

For Each c In inputRange
 dvCell = c.Value

    If Range("CHECKSIS") = False Then
    Exit For
    End If

'Цикл [Копирование и вставка книг] Далее c

1 Ответ

0 голосов
/ 09 мая 2020

Вы можете использовать Match, чтобы получить начальную точку:

'Which cell has data validation
Set dvCell = Worksheets("ValperSIS").Range("e20")
'Determine where validation comes from
Set inputRange = Evaluate(dvCell.Validation.Formula1)

m = Application.Match(dvCell.Value, inputRange, 0) '<< start position
If not iserror(m) then
    for i = m to inputRange.cells.count
        dvCell.Value = inputRange.cells(i).Value
        'etc
        'etc
    next i
End If 
...