У меня есть функция, которая получает Range как переменную и работает со значениями ячеек диапазона.Мне нужно передать диапазоны функции taht, построенной следующим образом:
Dim hltTbl As ListObject
Set hltTbl = ThisWorkbook.Sheets("classy").ListObjects(1)
Dim i As Integer
Dim lastrow As Integer
Dim highlightsRange As Range
'range is in highlights from 1 to the first empty
For i = 1 To hltTbl.ListRows.Count
If hltTbl.ListColumns("highlights").DataBodyRange.iTem(i).Value = "" Then
lastrow = i - 1
Exit For
End If
Next
Set highlightsRange = hltTbl.ListColumns("highlights").DataBodyRange.iTem(1).resize(lastrow,0)
Это не работает.Я притворяюсь, что строю диапазон, состоящий из всех непустых ячеек столбца списка объектов.(примечание: ячейки образуют континуум, т.е. между непустыми ячейками нет пустых ячеек).То, что я сделал, нашел первую непустую ячейку, которая будет последней ячейкой диапазона, и я попытался изменить диапазон первой ячейки столбца с помощью reshape (lastrow, 0).Это не работает.
Вопросы: а) как я могу это сделать б) почему это не работает в) (я пытаюсь не использовать фильтры, они очень болезненные)
Большое спасибо.
EDIT1: .SpecialCells (... кажется, не включает небланки, но только пробелы edit2: это работает:
DataBodyRange.SpecialCells(xlCellTypeConstants, xlTextValues)
, но значения являются целыми числами...