Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - VBA

Страница: 1 |

 

  Вопрос: Как узнать количество записей в колонке Добавлено: 19.10.03 02:00  

Автор вопроса:  Spin

Добрый день ! Сразу скажу что я только начинаю изучать VBA и сам понимаю что вопрос детский , но ответа так и не смог найти.

 

Мне нужно узнать количество записей в колонке (насколько я понимаю это Rows в Columns)

Заранее благодарен!

Ответить

  Ответы Всего ответов: 9  

Номер ответа: 1
Автор ответа:
 Padre



ICQ: 346632205 

Вопросов: 25
Ответов: 215
 Web-сайт: localhost
 Профиль | | #1
Добавлено: 19.10.03 04:20

В колонке чего? Какой контрол?

Ответить

Номер ответа: 2
Автор ответа:
 Spin



Вопросов: 4
Ответов: 11
 Профиль | | #2 Добавлено: 19.10.03 13:24

эээ ... насколько я понимаю это WorkSheet в Экселе

Ответить

Номер ответа: 3
Автор ответа:
 Spin



Вопросов: 4
Ответов: 11
 Профиль | | #3 Добавлено: 19.10.03 13:28

Вопрос еще такой

Ни у кого нет кода как из Ворда вызывать Ексель

то есть я знаю что надо делать

Dim xlApp As Excel.Application
Dim xlBook As Excel.Workbook
Dim xlSheet As Excel.Worksheet

Но потом начинается путанница ...Не совсем ясно как связать xlBook с WorkBook и xlSheet с WorkSheet ....обычно в примерах все заново создают.

Ответить

Номер ответа: 4
Автор ответа:
 Padre



ICQ: 346632205 

Вопросов: 25
Ответов: 215
 Web-сайт: localhost
 Профиль | | #4
Добавлено: 19.10.03 15:15

по поводу количества записей в колонке что-то типа этого. проверяется 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

Ответить

Номер ответа: 5
Автор ответа:
 Padre



ICQ: 346632205 

Вопросов: 25
Ответов: 215
 Web-сайт: localhost
 Профиль | | #5
Добавлено: 19.10.03 15:23

Private sub ExcelByWord

dim x1 as excel.application

set x1=createobject("excel.application")

x1.workbooks.open("C:\test1.xls")

...

set x1=nothing

End Sub

Ответить

Номер ответа: 6
Автор ответа:
 Spin



Вопросов: 4
Ответов: 11
 Профиль | | #6 Добавлено: 19.10.03 18:23

2 Padre

Спасибо большое!

Начинает проясняться понемногу.

Насчет ячеек:

Вот мне бы узнать количество использованных ячеек , ведь пользователи если захотят могут и пустую строку поставить.

Может есть красивый способ ? Property или метод специальный.

Спасибо

Ответить

Номер ответа: 7
Автор ответа:
 Padre



ICQ: 346632205 

Вопросов: 25
Ответов: 215
 Web-сайт: localhost
 Профиль | | #7
Добавлено: 19.10.03 18:53

Да всё точно также. Берёшь диапазон проверяемых ячеек, ставишь счётчик непустых ячеек и вперёд.

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

Ответить

Номер ответа: 8
Автор ответа:
 valentinvb



Вопросов: 0
Ответов: 5
 Профиль | | #8 Добавлено: 26.10.03 12:53

Sub LastCell_1() 'Определение последних строк, столбцов

'Sheets("лист1") - имя листа [можно порядковый номерSheets(n)]
'с которым работаем (если с активным, то можно не указывать)

'Cells(2, 4)- любая ячейка в заголовке таблицы,
'где первая цифра - номер строки, а вторая - номер столбца

'CurrentRegion - текущая область, т.е. интервал ячеек
'ограниченный пустыми столбцами и пустыми строками

'проверим, с чем работаем (выделим итервал), потом удалите
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

'ValueCells и Rng лучше просмотреть в окне локальных переменных
'View\Locals Window пошаговом режиме (клавиша F8)
End Sub

короче

Sub LastRow_1() 'последняя заполненная строка

    With Sheets("лист1").Cells(2, 4).CurrentRegion
        LastRow = .Row + .Rows.Count - 1
    End With

End Sub

Ответить

Номер ответа: 9
Автор ответа:
 Antonina



ICQ: 438654946 

Вопросов: 6
Ответов: 29
 Профиль | | #9 Добавлено: 19.11.03 18:40

Может я не совсем правильно поняла, вот только сегодня сталкивалась с подобной проблемой.

xlSheet.UsedRange.Rows.Count - вернет количество используемых строк.

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам