В самом listbox-e (в списке) можно ли делать изменение ?
Я так понял что: нет.
В LISTVIEW помоему можно. А как здесь показать данные из листа Excel?
listview
Сообщений 1 страница 18 из 18
Поделиться12010-06-08 08:05:04
Поделиться22010-06-08 08:58:27
Для listbox можно прямо в окне свойств установить свойство RowSource, например, Лист1!А1:А50. Можно сделать это же и в коде.
Поделиться32010-06-08 09:24:05
Это для LISTBOX. А для LISTVIEW это тoже можно делать?
Поделиться42010-06-08 10:43:59
В VB .NET элемент ListView заполняется с помощью свойства Items коллекции ListViewItem (можно еще использовать SubItems, если задано отображение списка в виде таблицы). Для VBA это "не родной" элемент управления (не у всех он подключен, и с этим могут возникнуть проблемы). С другой стороны ListBox - очень гибкий инструмент с большими возможностями, советую все-таки использовать его.
Поделиться52010-06-08 11:16:48
Но, не могу в листбох менять записи прямо в списке. Если это получится листбох меня в польне устраевает.
Поделиться62010-06-08 12:14:06
Скорее всего, можно что-то придумать, если дадите примерчик.
Поделиться72010-06-09 07:42:04
Вот в этом примере мне нужно во 2-м листбоксе прямо в списке что-то можно было менять. (Или это делать через листвуи)
Поделиться82010-06-09 07:43:29
если дадите примерчик
Не получается прикрипить файл.
Поделиться92010-06-09 08:22:18
Загрузите на файлообменник. Например, на этот http://ifolder.ru/
Поделиться102010-06-09 08:41:26
Файл: davam.xls
http://ifolder.ru/control/?file_id=18087160&code=bfaeb5a673c52e43d426269d95ceaa23
Поделиться112010-06-09 09:41:03
Этот листбокс первоначально заполняется данными из листа? Откуда именно?
В этот листбокс новые записи добавляются из листа или произвольные?
Из этого листбокса измененные записи вставляются на лист или в другой листбокс? Куда именно?
Поделиться122010-06-09 09:49:18
Этот листбокс (LBDAVAM2) первоначально пусто. Но, потом заполняется данными из листа "Davamiyyat". A этот лист заполняется с помощи кнопку "Appe" .
Из этого листбокса измененные записи вставляются на именно на этот лист ("Davamiyyat")
Поделиться132010-06-09 11:51:41
Ну, вот, например. Форма запускается по синей кнопке (просто для отладки).
На форму добавил 5 текстбоксов (добавьте столько, сколько нужно), в которых отображаются значения из выбранной записи в LBDavam2. Делаем изменения в боксах, по кнопке Изменить записываем изменения на лист Davamiyyat и в LBDavam2.
Вот код, который добавил в модуль формы:
Private Sub LBDavam2_Click() 'заполняем TextBox'ы по выбранной записи в LBDavam2 Dim t As Integer For t = 0 To 4 Me.Controls("TextBox" & (t + 4)).Text = LBDavam2.List(LBDavam2.ListIndex, t) Next t End Sub Private Sub CommandButton2_Click() 'кнопка Изменить 'записываем изменения из TextBox'ов в выбранную запись в LBDavam2 Dim z As Integer, arr(0 To 4) As String, rng As Range For z = 0 To 4 'временный массив arr(z) = Me.Controls("TextBox" & (z + 4)).Text Next z 'LBDavam2 изначально заполняется из RowSource = "Davamiyyat!A2:AA2500" With Sheets("Davamiyyat") Set rng = Range(.Cells(LBDavam2.ListIndex + 2, 1), .Cells(LBDavam2.ListIndex + 2, 5)) End With rng.Value = arr End Sub
Кстати, так примерно и было в первоначальной версии (пример-то давнишний).
Поделиться152010-06-09 12:20:50
Nilem, большое спасибо. Но, я хотел именно без этого текстбоксов, прямо в листбокс делать изменение.
Поделиться162010-06-09 15:06:44
Прямо в листбокс не получится.
Поделиться172010-06-09 15:13:18
Прямо в листбокс не получится.
Я где-то читал что в Listview можно. Но, у меня ни-как не получается.
Поделиться182010-06-09 17:48:38
Ну, чтобы уж добить тему. Из справки:"Элемент управления ListView позволяет выводить на экран список элементов с текстом элементов, а в некоторых случаях и со значком, служащим для определения типа элемента. Например, список файлов в проводнике внешне напоминает элемент управления ListView." Т.е. отображает тот список, который ему задан. Нужно что-то изменить - меняем список-источник, а не его отображение. Как изменить источник - показано выше.