Если вы просто хотите выбрать используемый диапазон, используйте
ActiveSheet.UsedRange.Select
Если вы хотите выбрать от A1 до конца используемого диапазона, вы можете использовать метод SpecialCells, подобный этому
With ActiveSheet
.Range(.Cells(1, 1), .Cells.SpecialCells(xlCellTypeLastCell)).Select
End With
Иногда Excel путается в том, какая ячейка является последней. Он никогда не бывает меньше, чем фактически используемый диапазон, но он может быть больше, если некоторые ячейки были удалены. Чтобы избежать этого, вы можете использовать Find и подстановочный знак звездочки, чтобы найти настоящую последнюю ячейку.
Dim rLastCell As Range
With Sheet1
Set rLastCell = .Cells.Find("*", .Cells(1, 1), xlValues, xlPart, , xlPrevious)
.Range(.Cells(1, 1), rLastCell).Select
End With
Наконец, убедитесь, что вы выбираете только в том случае, если вам это действительно нужно. Большую часть того, что вам нужно сделать в Excel VBA, вы можете сделать непосредственно с диапазоном, а не выбирать его сначала. Вместо
.Range(.Cells(1, 1), rLastCell).Select
Selection.Font.Bold = True
Ты сможешь
.Range(.Cells(1,1), rLastCells).Font.Bold = True
person
Dick Kusleika
schedule
30.08.2012