У меня есть лист Excel, в который загружен динамический набор данных. Мне нужно добавить выпадающий YES / NO в конце каждой строки, как только все данные загружены. Я должен сделать это динамически, так как я не знаю размер результирующего набора заранее.
Следующий код выдает «Ошибка, определенная в приложении или объекте»:
Dim firstRow As Integer
Dim lastRow As Integer
Dim I As Integer
Dim VOptions As String
VOptions = "1. Yes, 2. No"
firstRow = GetResultRowStart.row + 1
lastRow = GetResultRowStart.End(xlDown).row
For I = firstRow To lastRow
Range("AO" & firstRow & ":AO" & lastRow).Select
With Selection.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:=VOptions
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = "Options"
.ErrorTitle = ""
.InputMessage = "Click yes or no"
.errorMessage = ""
.ShowInput = True
.ShowError = True
End With
Next I
Метод GetResultRowStart дает мне начало строки, данные результата которой заполняются на листе. Я использовал этот метод в другом месте в другой части кода, и он отлично работает.
При отладке с использованием окон сообщений предлагалось выдать ошибку в операторе Range (..). Select.
Любые идеи о причине этой ошибки.