Страница: 1 |
Добрый день ! Сразу скажу что я только начинаю изучать VBA и сам понимаю что вопрос детский , но ответа так и не смог найти. Мне нужно узнать количество записей в колонке (насколько я понимаю это Rows в Columns) Заранее благодарен!
В колонке чего? Какой контрол? эээ ... насколько я понимаю это WorkSheet в Экселе Вопрос еще такой Ни у кого нет кода как из Ворда вызывать Ексель то есть я знаю что надо делать Dim xlApp As Excel.Application Но потом начинается путанница ...Не совсем ясно как связать xlBook с WorkBook и xlSheet с WorkSheet ....обычно в примерах все заново создают. по поводу количества записей в колонке что-то типа этого. проверяется i количество ячеек. может есть какой-нибудь более изящный способ, но мне он в голову не приходит. это всё работает только если записи идут без пустых ячеек в середине Public Sub checkColumn() Dim i As Integer Dim n As Integer n = 1 For i = 1 To 100 If ActiveSheet.Cells(n, 1) = vbNullString Then ActiveSheet.Cells(n, 2) = "Всего записей: " & (n - 1) Exit Sub End If n = n + 1 Next i End Sub Private sub ExcelByWord dim x1 as excel.application set x1=createobject("excel.application") x1.workbooks.open("C:\test1.xls") ... set x1=nothing End Sub 2 Padre Спасибо большое! Начинает проясняться понемногу. Насчет ячеек: Вот мне бы узнать количество использованных ячеек , ведь пользователи если захотят могут и пустую строку поставить. Может есть красивый способ ? Property или метод специальный. Спасибо Да всё точно также. Берёшь диапазон проверяемых ячеек, ставишь счётчик непустых ячеек и вперёд. Public Sub checkColumn() Dim i As Integer Dim n As Integer Dim count As Integer n = 1 count = 0 For i = 1 To 100 If ActiveSheet.Cells(n, 1) <> vbNullString Then count = count + 1 End If n = n + 1 Next i ActiveSheet.Cells(1, 2) = "Всего записей: " & count End Sub Sub LastCell_1() 'Определение последних строк, столбцов 'Sheets("лист1") - имя листа [можно порядковый номерSheets(n)] 'Cells(2, 4)- любая ячейка в заголовке таблицы, 'CurrentRegion - текущая область, т.е. интервал ячеек 'проверим, с чем работаем (выделим итервал), потом удалите 'адрес интервала ячеек 'начальная строка интервала ячеек 'количество строк в интервале ячеек 'начальный столбец интервала ячеек 'количество столбцов в интервала ячеек 'массив, в котором хранятся значения ячеек итевала 'значение элемента массива 'объектная переменная, в которой содержится абсолютно все 'ValueCells и Rng лучше просмотреть в окне локальных переменных короче Sub LastRow_1() 'последняя заполненная строка With Sheets("лист1").Cells(2, 4).CurrentRegion End Sub Может я не совсем правильно поняла, вот только сегодня сталкивалась с подобной проблемой. xlSheet.UsedRange.Rows.Count - вернет количество используемых строк. Страница: 1 |
Вопрос: Как узнать количество записей в колонке
Добавлено: 19.10.03 02:00
Автор вопроса: Spin
Ответы
Всего ответов: 9
Номер ответа: 1
Автор ответа:
Padre
ICQ: 346632205
Вопросов: 25
Ответов: 215
Web-сайт:
Профиль | | #1
Добавлено: 19.10.03 04:20
Номер ответа: 2
Автор ответа:
Spin
Вопросов: 4
Ответов: 11
Профиль | | #2
Добавлено: 19.10.03 13:24
Номер ответа: 3
Автор ответа:
Spin
Вопросов: 4
Ответов: 11
Профиль | | #3
Добавлено: 19.10.03 13:28
Dim xlBook As Excel.Workbook
Dim xlSheet As Excel.Worksheet
Номер ответа: 4
Автор ответа:
Padre
ICQ: 346632205
Вопросов: 25
Ответов: 215
Web-сайт:
Профиль | | #4
Добавлено: 19.10.03 15:15
Номер ответа: 5
Автор ответа:
Padre
ICQ: 346632205
Вопросов: 25
Ответов: 215
Web-сайт:
Профиль | | #5
Добавлено: 19.10.03 15:23
Номер ответа: 6
Автор ответа:
Spin
Вопросов: 4
Ответов: 11
Профиль | | #6
Добавлено: 19.10.03 18:23
Номер ответа: 7
Автор ответа:
Padre
ICQ: 346632205
Вопросов: 25
Ответов: 215
Web-сайт:
Профиль | | #7
Добавлено: 19.10.03 18:53
Номер ответа: 8
Автор ответа:
valentinvb
Вопросов: 0
Ответов: 5
Профиль | | #8
Добавлено: 26.10.03 12:53
'с которым работаем (если с активным, то можно не указывать)
'где первая цифра - номер строки, а вторая - номер столбца
'ограниченный пустыми столбцами и пустыми строками
Sheets("лист1").Cells(2, 4).CurrentRegion.Select
adr = Sheets("лист1").Cells(2, 4).CurrentRegion.Address
RowBegin = Sheets("лист1").Cells(2, 4).CurrentRegion.Row
RowsCount = Sheets("лист1").Cells(2, 4).CurrentRegion.Rows.Count
ColumnBegin = Sheets("лист1").Cells(2, 4).CurrentRegion.Column
ColumnsCount = Sheets("лист1").Cells(2, 4).CurrentRegion.Columns.Count
ArrayValueCells = Sheets("лист1").Cells(2, 4).CurrentRegion
ValueCells = ArrayValueCells(строка, столбец)
'строка- номер стоки в массиве (не обязательно совпадает с номером
'строки рабочего листа), столбец - аналогично
Set Rng = Sheets("лист1").Cells(2, 4).CurrentRegion
'View\Locals Window пошаговом режиме (клавиша F8)
End Sub
LastRow = .Row + .Rows.Count - 1
End With
Номер ответа: 9
Автор ответа:
Antonina
ICQ: 438654946
Вопросов: 6
Ответов: 29
Профиль | | #9
Добавлено: 19.11.03 18:40