Страница: 1 |
|
Вопрос: Число используемых колонок на текущем листе??
|
Добавлено: 14.07.04 10:13
|
|
Автор вопроса: tea84
|
как известно, чтобы узнать используемый диапазон в Excel надо нажать Ctrl+End. После этого Excel переместит указатель на последнюю ячейку используемого диапазона. В VBA аналогом этой операции является свойство Sheet.UsedRange.
Sheet.UsedRange.Rows.Count возвращает правильное число используемых строк, а вот Sheet.UsedRange.Columns.Count возвращает 1. Может кто-нибудь знает, как с этим бороться???
Ответить
|
Номер ответа: 1 Автор ответа: Dimakart
Вопросов: 2 Ответов: 12
|
Профиль | | #1
|
Добавлено: 04.08.04 20:54
|
И опять Sheet. надо заменить на Sheets(1)
Ответить
|
Номер ответа: 2 Автор ответа: tea84
Вопросов: 4 Ответов: 8
|
Профиль | | #2
|
Добавлено: 05.08.04 11:51
|
sheet - это переменная типа Worksheet.
в общем, все выглядит примерно так:
dim sheet as worksheet
set sheet=WorkBooks(1).Worksheets(1)
...
я выяснила, что, usedrange содержит диапазон, начиная с первой используемой и заканчивая последней используемой ячейкой, но адрес первой используемой - не указывает. когда нужен последний столбец с данными, или последняя строка, содержащая какие-нибудь значения, то usedrange.columns.count выдает некорректное значения, т.к. первые n столбцо могут быть незаполненными... как с этим бороться - сложно сказать, но обходные пути пока что нашла.
Ответить
|
Номер ответа: 3 Автор ответа: Dimakart
Вопросов: 2 Ответов: 12
|
Профиль | | #3
|
Добавлено: 10.08.04 20:57
|
А если так ???
Sub Для_tea84
Dim a As Range
Dim Пе As Integer
Dim По As Integer
Set a = ActiveSheet.UsedRange
Пе = a.Cells(1, 1).Column
По = Пе - 1 + a.Columns.Count
MsgBox "первый столбец используемого диапазона - " & Пе & Chr(13) _
& "последний столбец используемого диапазона - " & По, , ""
End Sub
Ответить
|
Страница: 1 |
Поиск по форуму