Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Постепенное заполнение ListBox'a расчетными данными - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
  • Страница 1 из 1
  • 1
Модератор форума: _Boroda_, Manyasha, SLAVICK, китин  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Постепенное заполнение ListBox'a расчетными данными (Макросы/Sub)
Постепенное заполнение ListBox'a расчетными данными
Shylo Дата: Вторник, 02.06.2020, 13:57 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 140
Репутация: 7 ±
Замечаний: 0% ±

Excel-2003; 2010
Всем добрый день. Столкнулся с проблемой и решить ее самостоятельно не хватает знаний, уже и терпения. Перечитал много тем на форумах (Планета, Киберфорум, у нас ...), но так и не смог написать код. Суть вопроса, для оперативности работы нужно производить расчет среднетехнической скорости движения поезда (как бы интегрирование на маленькие участки). Если нужно 2-3 расчета результа сделал на листе формулами, а если 10-20 решил сделать на форме с выводом результата на ListBox. Но вывести следующий результат расчета, сохранив старый (с накоплением) не получается. Массив, цыклы вроде по отдельности все просто и понятно, а объеденить воедино не получилось. Прошу помогите и очень большая просьба, если не затруднит, с комментарями. Благодарю заранее.
К сообщению приложен файл: __VBA_V2.0_2.xls(68.5 Kb)
 
Ответить
СообщениеВсем добрый день. Столкнулся с проблемой и решить ее самостоятельно не хватает знаний, уже и терпения. Перечитал много тем на форумах (Планета, Киберфорум, у нас ...), но так и не смог написать код. Суть вопроса, для оперативности работы нужно производить расчет среднетехнической скорости движения поезда (как бы интегрирование на маленькие участки). Если нужно 2-3 расчета результа сделал на листе формулами, а если 10-20 решил сделать на форме с выводом результата на ListBox. Но вывести следующий результат расчета, сохранив старый (с накоплением) не получается. Массив, цыклы вроде по отдельности все просто и понятно, а объеденить воедино не получилось. Прошу помогите и очень большая просьба, если не затруднит, с комментарями. Благодарю заранее.

Автор - Shylo
Дата добавления - 02.06.2020 в 13:57
Pelena Дата: Вторник, 02.06.2020, 17:15 | Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 16052
Репутация: 3489 ±
Замечаний: ±

Excel 2010, 2016 & Mac Excel
Здравствуйте.
Не уверена, что правильно поняла
К сообщению приложен файл: _VBA_V2.0_2.xls(64.0 Kb)


"Черт возьми, Холмс! Но как??!!"
ЯД 41001765434816
 
Ответить
СообщениеЗдравствуйте.
Не уверена, что правильно поняла

Автор - Pelena
Дата добавления - 02.06.2020 в 17:15
Shylo Дата: Среда, 03.06.2020, 16:32 | Сообщение № 3
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 140
Репутация: 7 ±
Замечаний: 0% ±

Excel-2003; 2010
Елена, здравствуйте. Именно такая задумка и была. "А ларчик, просто открывался...", кладу в копилочку. Огромное спасибо за помощь.
 
Ответить
СообщениеЕлена, здравствуйте. Именно такая задумка и была. "А ларчик, просто открывался...", кладу в копилочку. Огромное спасибо за помощь.

Автор - Shylo
Дата добавления - 03.06.2020 в 16:32
Shylo Дата: Среда, 10.06.2020, 14:36 | Сообщение № 4
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 140
Репутация: 7 ±
Замечаний: 0% ±

Excel-2003; 2010
Елена, здравствуйте. Во время "эксплуатации" выяснилось некоторое неудобство, на которое я не обратил внимания. После расчета данные помещаються в ListBox1 "последний под предыдущим", а удобнее "последний над предыдущим". Попытался по совойству прописать в[vba]
Код
Me.ListBox1.AddItem , Index = 0
[/vba] но среверсировать запись не получилось. Подскажите пожалуйста.
 
Ответить
СообщениеЕлена, здравствуйте. Во время "эксплуатации" выяснилось некоторое неудобство, на которое я не обратил внимания. После расчета данные помещаються в ListBox1 "последний под предыдущим", а удобнее "последний над предыдущим". Попытался по совойству прописать в[vba]
Код
Me.ListBox1.AddItem , Index = 0
[/vba] но среверсировать запись не получилось. Подскажите пожалуйста.

Автор - Shylo
Дата добавления - 10.06.2020 в 14:36
nilem Дата: Среда, 10.06.2020, 15:15 | Сообщение № 5
Группа: Авторы
Ранг: Старожил
Сообщений: 1572
Репутация: 545 ±
Замечаний: 0% ±

Excel 2013, 2016
В Private Sub CB_1_Click() попробуйте вместо
[vba]
Код
Me.ListBox1.AddItem
Me.ListBox1.List(ListBox1.ListCount - 1, 0) = TB_5.Value
Me.ListBox1.List(ListBox1.ListCount - 1, 1) = TB_6.Value
Me.ListBox1.List(ListBox1.ListCount - 1, 2) = TB_7.Value
[/vba]
написать
[vba]
Код
With Me.ListBox1
    .AddItem TB_5.Value, 0
    .List(0, 1) = TB_6.Value
    .List(0, 2) = TB_7.Value
End With
[/vba]


Яндекс.Деньги 4100159601573
 
Ответить
СообщениеВ Private Sub CB_1_Click() попробуйте вместо
[vba]
Код
Me.ListBox1.AddItem
Me.ListBox1.List(ListBox1.ListCount - 1, 0) = TB_5.Value
Me.ListBox1.List(ListBox1.ListCount - 1, 1) = TB_6.Value
Me.ListBox1.List(ListBox1.ListCount - 1, 2) = TB_7.Value
[/vba]
написать
[vba]
Код
With Me.ListBox1
    .AddItem TB_5.Value, 0
    .List(0, 1) = TB_6.Value
    .List(0, 2) = TB_7.Value
End With
[/vba]

Автор - nilem
Дата добавления - 10.06.2020 в 15:15
Shylo Дата: Среда, 10.06.2020, 21:30 | Сообщение № 6
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 140
Репутация: 7 ±
Замечаний: 0% ±

Excel-2003; 2010
nilem, спасибо работает. Ребята, поясните код последнего приема. Я считал, что первая строка ListBox'а имеен нулевой номер (индекс), и код Елены просто расставляет значения в позиции ListBox'а, (как в ячейки листа). А тут нулевой индекс только у пятого ТекстБокса. Хочу понять, заранее спасибо.
 
Ответить
Сообщениеnilem, спасибо работает. Ребята, поясните код последнего приема. Я считал, что первая строка ListBox'а имеен нулевой номер (индекс), и код Елены просто расставляет значения в позиции ListBox'а, (как в ячейки листа). А тут нулевой индекс только у пятого ТекстБокса. Хочу понять, заранее спасибо.

Автор - Shylo
Дата добавления - 10.06.2020 в 21:30
Pelena Дата: Среда, 10.06.2020, 21:47 | Сообщение № 7
Группа: Админы
Ранг: Местный житель
Сообщений: 16052
Репутация: 3489 ±
Замечаний: ±

Excel 2010, 2016 & Mac Excel
нулевой индекс только у пятого ТекстБокса
немного не так.
свойство List имеет в скобках два параметра, индекс строки и столбца (по аналогии с ячейкой Cells). В моём варианте индекс строки для всех Текстбоксов равен ListBox1.ListCount - 1, то есть это последняя строка, а у Николая индекс строки для всех Текстбоксов равен 0, то есть это первая строка


"Черт возьми, Холмс! Но как??!!"
ЯД 41001765434816
 
Ответить
Сообщение
нулевой индекс только у пятого ТекстБокса
немного не так.
свойство List имеет в скобках два параметра, индекс строки и столбца (по аналогии с ячейкой Cells). В моём варианте индекс строки для всех Текстбоксов равен ListBox1.ListCount - 1, то есть это последняя строка, а у Николая индекс строки для всех Текстбоксов равен 0, то есть это первая строка

Автор - Pelena
Дата добавления - 10.06.2020 в 21:47
Shylo Дата: Четверг, 11.06.2020, 08:11 | Сообщение № 8
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 140
Репутация: 7 ±
Замечаний: 0% ±

Excel-2003; 2010
Я неправильно смотрел и интерпретировал запись:[vba]
Код
...(ListBox1.ListCount - 1, 0)...
[/vba], и соответственно вариант Николая тоже вывалился из понимания. Спасибо за науку.
 
Ответить
СообщениеЯ неправильно смотрел и интерпретировал запись:[vba]
Код
...(ListBox1.ListCount - 1, 0)...
[/vba], и соответственно вариант Николая тоже вывалился из понимания. Спасибо за науку.

Автор - Shylo
Дата добавления - 11.06.2020 в 08:11
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Постепенное заполнение ListBox'a расчетными данными (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс цитирования
© 2010-2020 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!