Страницы: 1
RSS
TextBox с накоплением? Listview, Переделать код ListbBox для ListView и добавить столбец в ListView.
 
Всем Здравствуйте. Есть форма с ComboBox1,ListBox1, ListView1, TextBox1 и Таблица "BezeichnungsPreise". Есть код поиска по столбцам для ListBox в Combobox. Хотелось бы переделать код для ListView и добавить столбец в ListView со значениями из столбца с права(с Ценами) от найденного в таблице BezeichnungsPreise. Или тоже самое для ListBox. При выборе в ListBox или ListView складывать результат цен в TextBox.  
 
Выдает ошибку. Надо устанавливать библиотеку(регистрировать эл.управления)  listView 8-0 , ссылку не подкинете?  
 
Logistic, может это можно на Listbox сделать?
 
Maklarenn, касаемо листбокса в два столбца:
- изменение 0:
Код
Dim DC As Object'в модуль формы вне процедур обработки событий
- изменение 1:
Код
Private Sub ComboBox1_Change()
On Error Resume Next
ListBox1.List = DC.Item(ComboBox1.Value)
- изменение 2:
Код
Private Sub UserForm_Initialize()
Dim a&, arr(), bb As Range, cc()
Set DC = CreateObject("Scripting.Dictionary")
arr = Array("Loreal", "Wella", "Maria Nila", "Schwarzkopf", "Estel", "Keune", "RedOne", "Gutschein", "Baehr", "Peclavus", "Kauf", "Nein")
For a = LBound(arr) To UBound(arr)
  If Not DC.exists(arr(a)) Then
    With Sheets("K.Preise")
      Set bb = .Rows(1).Find(arr(a), , xlValues, xlWhole, xlByRows, xlPrevious)
      If Not bb Is Nothing Then
        cc = .Range(.Cells(2, bb.EntireColumn.Column), .Cells(49, bb.EntireColumn.Column + 1)).Value
        DC.Add arr(a), cc
      End If
    End With
  End If
Next
ListBox1.ColumnCount = 2
ListBox1.ColumnWidths = "80,40"
ComboBox1.List = arr
End Sub
ListView у меня нет, поэтому остальное поможет кто-то другой.
 
Anchoret,Спасибо. Работает. А можно ещё знак € добавить ко второму столбцу. А на счет TextBox с накоплением ?
Заранее спасибо.  
 
Так тоже работает...
Всё сложное - не нужно. Всё нужное - просто /М. Т. Калашников/
 
Михаил Лебедев, Спасибо. TextBox складывает весь столбик из ListBox. А мне надо при выборе одного продукта из ListBox происходило сложение в TextBox.
 
Цитата
Maklarenn написал:
А можно ещё знак € добавить
добавил...
Цитата
Maklarenn написал:
надо при выборе одного продукта из ListBox происходило сложение в TextBox.
а что складывать то? При выборе одного продукта?
Всё сложное - не нужно. Всё нужное - просто /М. Т. Калашников/
 
Maklarenn,
 
Немного переделал код от  Михаил Лебедев,
Изменено: Nordheim - 13.01.2019 14:06:27
"Все гениальное просто, а все простое гениально!!!"
 
Всем спасибо.
 
Anchoret,Добрый вечер. А можно подправить что бы цифры после запятой складывались. И в Listbox1 не округлялось до целых .А в TextBox2 названия через запятую из ListBox1. Заранее спасибо  
 
Maklarenn, "перламутровые пуговицы" попозже.
Изменено: Anchoret - 15.01.2019 00:26:22
 
С проверкой на дубли во втором листбоксе.
 
Anchoret,Огромное человеческое спасибо!
 
Anchoret, Добрый день. Добавил вторую таблицу(BezeichnungsPreise) и попробовал дублировать VBA в combobox 2,TextBox2 (ListBox1 оставил) не получилось. Не могли бы посмотреть.
Заранее спасибо.  
 
Скорее всего вот эту строку забыли ставить.
Код
If DC.exists(ComboBox2.Value) Then ListBox1.List = DC.Item(ComboBox2.Value) Else ListBox1.Clear
"Все гениальное просто, а все простое гениально!!!"
 
Nordheim,Здравствуйте.Надо что бы суммировались  в TextBox2 из таблицы Из Таблицы BezeichnungsPreise.
 
Непонятно как вы хотите настроить переключение  суммирования в TextBox2 с TextBox1, тут нужен какой-либо флаг что бы суммирование происходило по условию если ИСТИНА то TextBox2 иначе TextBox1
Изменено: Nordheim - 16.01.2019 15:47:57
"Все гениальное просто, а все простое гениально!!!"
 
Maklarenn, это называется "каша из топора".

Тестируйте. Мой домашний Excel растерял все библиотеки, поэтому протестировать нет возможности.

Код формы:
Скрытый текст
Изменено: Anchoret - 19.01.2019 18:10:34 (для красоты)
 
Anchoret,Доброе утро. Форма не запускается.
 
Перетащил вашу таблицу в новый файл и библиотеки нашлись.
 
Anchoret,Спасибо большое. Все работает!!!
 
Anchoret, Добры день. Не могу понять какая строчка отвечает за сложение после запятой. Можете на примере показать: Сложить TextBox1 и TextBox2 в TextBox3.
Заранее спасибо.  
Страницы: 1
Наверх