Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Форумы "Планета Excel" » Вопросы по Microsoft Excel
Страницы: 1
RSS
Подсчет количества строк в ListBox, VBA
 
Доброе утро. Подскажите пожалуйста как посчитать количество заполненных строк в listbox1 ?

Код
Dim i as string
i = ListBox1. а дальше куку (((
Label14.Text = i
 
А данные беруться откуда или файл свой скиньте пожалуйста
 
Fireman13,  здравствуйте

данные в листбоксе берутся по следующему алгоритму (отрытие кнниги с базой копирование значений загрузка в листбокс закрытие книги с базой)

код загрузки листбокса :

Код
Application.ScreenUpdating = False
Application.DisplayAlerts = False
'ЗАГРУЗКА БД ОТПРАВЛЕНИЙ
Dim oWbk As Workbook
Set oWbk = Workbooks.Open("\\Srv-2\data\ДОГОВОРА\rs.xlsx")
Windows.Application.ActiveWorkbook.Sheets("today").Select
Me.ListBox1.List = Worksheets("today").Range(Cells(2, 1), Cells(Cells(Rows.Count, 1).End(xlUp).Row, 12)).Value
oWbk.Close SaveChanges:=True
Изменено: kare - 11 Июл 2013 11:06:58
 
А не легче забить список в этот же лист
 
Dim i as long
i = ListBox1.ListCount
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
ListBox1.ListCount - не это искали?
 
kare, кстати еще можно при выгрузке подсчитать их
 
Fireman13,
:)
Изменено: kare - 11 Июл 2013 11:31:38
 
Fireman13, если уж без цитирования никак, то цитируйте хотя бы ТОЛЬКО нужное.
 
Fireman13,
подскажите как?
 
Цитата
...цитируйте хотя бы ТОЛЬКО нужное.
Good
 
kare, не могли вы мне скинуть пример файла
 
kare, так ListCount не подходит? И, как правильно заметил Дмитрий, тип переменной у Вас неверный. Или Вы хотите получить что-то другое?
 
The_Prist, Юрий М,

Спасибо . То что надо  :)  
Изменено: kare - 11 Июл 2013 11:28:55
 
Fireman13,

спасибо вопрос решен ! ;)
 
Юрий М,

Раз мы заговорили об listbox. не подскажите от куда у меня постоянно остается 2 пустые срочки ?т.е. их можно выделять. но они не удаляются (((
 
Скорее всего они у Вас имеются в исходных данных - как можно сказать без файла...
 
Юрий М, The_Prist,
а можно поставить условие на проверку ? т.е ессли хотя бы в одном столбце есть значение то строчка считается а если все столбцы пустые то пропускаем.?! к вопросу о двух пустых строчках которые не удалить(
Изменено: kare - 11 Июл 2013 11:35:55
 
Юрий М,
все верно,загрузка данных начинается со второй строчки первая строчка для служебных нужд (
Изменено: kare - 11 Июл 2013 11:36:48
 
Перебираем тогда циклом ячейки - если не пустая - в ЛистБокс.
 
Юрий М,
не подскажите что изменить ?

Код
' ОБНОВЛЕНИЕ ЛИСТБОКС
Me.ListBox1.List = Worksheets("today" ;) .Range(Cells(2, 1), Cells(Cells(Rows.Count, 1).End(xlUp).Row, 12)).Value
Изменено: kare - 11 Июл 2013 11:40:36
 
Юрий М,
спасибо за помощь.

Код
Dim i as long 
i = ListBox1.ListCount
Label14 = i


поставил на кнопку добавить , удалить ( но удалить добавил i-1) проблема решена.
Изменено: kare - 11 Июл 2013 11:45:30
 
Не так.
Код
Private Sub UserForm_Initialize()
Dim i As Long
    For i = 2 To 10 'Здесь Ваша последняя строка
        If Cells(i, 1) <> "" Then Me.ListBox1.AddItem Cells(i, 1).Value
    Next
End Sub
 
Не обратил внимания, что у Вас несколько столбцов. Вот вариант для двух столбцов:
Код
Private Sub UserForm_Initialize()
Dim i As Long
    For i = 2 To 10 'Здесь Ваша последняя строка
        If Cells(i, 1) <> "" Then
            With Me.ListBox1
                .AddItem
                .Column(0, .ListCount - 1) = Cells(i, 1).Value
                .Column(1, .ListCount - 1) = Cells(i, 2).Value
            End With
        End If
    Next
End Sub

Вижу, что Hugo подглядывает  :) : или сначала собрать в массив по условию, а затем Me.ListBox1.List=Массив
Страницы: 1
Читают тему (гостей: 1)