Использование определенного диапазона со специальными ячейками - PullRequest
0 голосов
/ 09 октября 2019

Я пытаюсь найти непустые ячейки в определенной переменной диапазона, используя .SpecialCells, если я использую:

    Set aRange = Range(Cells(2, 5), Cells(botRow, 5))
    Set tRange = aRange.SpecialCells(xlCellTypeConstants)

tRange - Пусто. Однако, если я использую:

    Set tRange = Range(Cells(2, 5), Cells(botRow, 5)).SpecialCells(xlCellTypeConstants)

tRange имеет то, что я хочу.

Почему .SpecialCells не работает с определенной переменной диапазона? Я что-то упустил?

Ответы [ 2 ]

1 голос
/ 09 октября 2019

Попробуйте квалифицировать ваши объекты (Ranges & Cells) с помощью рабочего листа:

Dim ws as Worksheet: Set ws = ThisWorkbook.Sheets("Sheet1") '<-- Update

Dim aRange as Range, tRange as Range

Set aRange = ws.Range(ws.Cells(2, 5), ws.Cells(botRow, 5))
Set tRange = aRange.SpecialCells(xlCellTypeConstants)
0 голосов
/ 09 октября 2019

Когда вы используете SpecialCells с xlCellTypeConstants, добавьте также второй параметр. Это комбинация флажков, которые вы найдете в диалоговом окне «Перейти к спец.». Если вы хотите все, сделайте так:

aRange.SpecialCells(xlCellTypeConstants, xlErrors + xlLogical + xlNumbers + xlTextValues)

Это будет работать с обеими вашими версиями.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...