Форум по Эксель

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Форум по Эксель » Форум по Excel » listview


listview

Сообщений 1 страница 18 из 18

1

В самом listbox-e (в списке) можно ли делать изменение ?
Я так понял что: нет.
В LISTVIEW помоему можно.  А как здесь показать данные из листа Excel?

0

2

Для listbox можно прямо в окне свойств установить свойство RowSource, например, Лист1!А1:А50. Можно сделать это же и в коде.

0

3

Это для LISTBOX.   А для LISTVIEW это тoже можно делать?

0

4

В VB .NET элемент ListView заполняется с помощью свойства Items коллекции ListViewItem (можно еще использовать SubItems, если задано отображение списка в виде таблицы). Для VBA это "не родной" элемент управления (не у всех он подключен, и с этим могут возникнуть проблемы). С другой стороны ListBox - очень гибкий инструмент с большими возможностями, советую все-таки использовать его.

0

5

Но, не могу в листбох менять записи прямо в списке. Если это получится листбох меня в польне устраевает.

0

6

Скорее всего, можно что-то придумать, если дадите примерчик.

0

7

Вот в этом примере мне нужно во 2-м листбоксе прямо в списке что-то можно было менять. (Или это делать через листвуи)

0

8

nilem написал(а):

если дадите примерчик

Не получается прикрипить файл.

0

9

Загрузите на файлообменник. Например, на этот http://ifolder.ru/

0

10

Файл: davam.xls

Код:
http://ifolder.ru/control/?file_id=18087160&code=bfaeb5a673c52e43d426269d95ceaa23

0

11

Этот листбокс первоначально заполняется данными из листа? Откуда именно?
В этот листбокс новые записи добавляются из листа или произвольные?
Из этого листбокса измененные записи вставляются на лист или в другой листбокс? Куда именно?

0

12

Этот листбокс (LBDAVAM2) первоначально пусто. Но, потом  заполняется данными из листа "Davamiyyat". A этот лист заполняется с помощи кнопку "Appe" .

Из этого листбокса измененные записи вставляются на именно на этот лист ("Davamiyyat")

0

13

Ну, вот, например. Форма запускается по синей кнопке (просто для отладки).
На форму добавил 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

Кстати, так примерно и было в первоначальной версии (пример-то давнишний).

0

14

Файлик забыл  http://ifolder.ru/18088915

0

15

Nilem, большое спасибо. Но, я хотел именно без этого текстбоксов, прямо в листбокс делать изменение.

0

16

Прямо в листбокс не получится.

0

17

nilem написал(а):

Прямо в листбокс не получится.

Я где-то читал что в Listview можно. Но, у меня ни-как не получается.

0

18

Ну, чтобы уж добить тему. Из справки:"Элемент управления ListView позволяет выводить на экран список элементов с текстом элементов, а в некоторых случаях и со значком, служащим для определения типа элемента. Например, список файлов в проводнике внешне напоминает элемент управления ListView." Т.е. отображает тот список, который ему задан. Нужно что-то изменить - меняем список-источник, а не его отображение. Как изменить источник - показано выше.

0


Вы здесь » Форум по Эксель » Форум по Excel » listview