В настоящее время я работаю с предварительно выбранным диапазоном данных, но мне нужно сделать его динамическим c. Необходимо выбрать диапазон из нескольких столбцов в таблице и назначить его переменной диапазона, при условии, что значения row2 превышают некоторый фиксированный порог. Столбцы могут быть прерывистыми. Я пытался сделать следующим образом, но получаю ошибки (не точный код)
range=nothing
for each column in table
if column row2.value>fixed then
range = range + column
end if
next column
range.select
Спасибо за любую помощь.
Спасибо, следуя комментариям, которые я попробовал -
Dim tbl As ListObject
Dim col As ListColumn
Dim checkcol As Range
Set tbl = Sheets("Sheet1").ListObjects(1)
For Each col In tbl.ListColumns
If WorksheetFunction.IsNumber(ActiveSheet.ListObjects(1).DataBodyRange(2, col.Index).Value) Then
Set checkcol = Union(checkcol,
ActiveSheet.ListObjects(1).ListColumns(col.Index).Range)
End If
Next col
checkcol.Select
Теперь я получаю единственную ошибку в 4-й последней строке,
Set checkcol = Union(checkcol, ActiveSheet.ListObjects(1).ListColumns(col.Index).Range)
Ошибка - ошибка времени выполнения 5, недопустимый вызов процедуры или аргумент, нельзя ли объединить ничего со столбцом? Ошибка возникает при первом запуске этой строки.