Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.09.2010, 16:34   #1
pooli
Пользователь
 
Регистрация: 04.09.2010
Сообщений: 45
По умолчанию сумма в столбце listview vba

на форме vba сделал listview
в столбцы заполняются значения
подскажите как подсчитать сумму значений в 10-том столбце listview !???

Private Sub ComboBox2_Change()

For i = 1 To 1000
Новый_расчет.ListView1.ListItems.Ad d , , ""

If Новый_расчет.ListView1.ListItems.It em(i) <> "" Then

Else

Новый_расчет.ListView1.ListItems.It em(i) = ComboBox1.Value
Новый_расчет.ListView1.ListItems.It em(i).SubItems(1) = ComboBox2.Value
Новый_расчет.ListView1.ListItems.It em(i).SubItems(2) = ListBox1.list(ListIndex, 3)
Новый_расчет.ListView1.ListItems.It em(i).SubItems(3) = ListBox1.list(ListIndex, 4)
Новый_расчет.ListView1.ListItems.It em(i).SubItems(4) = ListBox1.list(ListIndex, 5)
Новый_расчет.ListView1.ListItems.It em(i).SubItems(6) = ListBox1.list(ListIndex, 2)
Новый_расчет.ListView1.ListItems.It em(i).SubItems(7) = CDbl(ListBox1.list(ComboBox2.ListIn dex, 1))
Новый_расчет.ListView1.ListItems.It em(i).SubItems(9) = ListBox1.list(ListIndex, 6)

koli = InputBox("ВВЕДИТЕ КОЛИЧЕСТВО!", "НОВЫЙ РАСЧЕТ")
On Error Resume Next
Новый_расчет.ListView1.ListItems.It em(i).SubItems(5) = koli
Новый_расчет.ListView1.ListItems.It em(i).SubItems(8) = koli * Новый_расчет.ListView1.ListItems.It em(i).SubItems(7)


p = Новый_расчет.ListView1.ListItems.It em(i).SubItems(9) / 100 + 1
Новый_расчет.ListView1.ListItems.It em(i).SubItems(10) = p * Новый_расчет.ListView1.ListItems.It em(i).SubItems(8)
Новый_расчет.ListView1.ListItems.It em(i).SubItems(11) = Новый_расчет.ListView1.ListItems.It em(i).SubItems(10) - Новый_расчет.ListView1.ListItems.It em(i).SubItems(8)


Exit Sub
End If
Next i
End Sub
pooli вне форума Ответить с цитированием
Старый 04.09.2010, 19:48   #2
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

Цитата:
на форме vba сделал listview
Приложите файлик, что-то нет никакого желания форму изобретать.
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499
VictorM вне форума Ответить с цитированием
Старый 04.09.2010, 20:04   #3
pooli
Пользователь
 
Регистрация: 04.09.2010
Сообщений: 45
По умолчанию

не подучиться, так как формирование в комбо значений идет по сети.

если ставлю перед exit sub

Dim s, a As Integer
a = Новый_расчет.ListView1.ListItems.It em(i - 1).SubItems(10)
s = Новый_расчет.ListView1.ListItems.It em(i).SubItems(10)
Новый_расчет.TextBox1.Value = s+a

то значение в строке считается с предыдущем.

а надо так:
в комбо выбрал значение
ввел кол-во
появилась строка со значениями(это все работает!)
в тексбокс вывелось значение 10 стлобца.
выбрал следующие значение из комбо-значение +к значению в текстбоксе
и тд.
pooli вне форума Ответить с цитированием
Старый 04.09.2010, 21:12   #4
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Поддерживаю VictorM на все 100

Цитата:
не подучиться, так как формирование в комбо значений идет по сети.
А что мешает создать табличку с данными ,кнопку на форму и имитировать поступление данных нажатием кнопки.
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 05.09.2010, 16:12   #5
pooli
Пользователь
 
Регистрация: 04.09.2010
Сообщений: 45
По умолчанию

собственно вопрос решил.
в UserForm_Initialize добавил
TextBox1.Text = "0"

а в этой процедуре до exit sub

Dim a As Integer
a = Новый_расчет.ListView1.ListItems.It em(i).SubItems(10)
s = Новый_расчет.TextBox1.Value
s = s + a
Новый_расчет.TextBox1.Value = s

все считается!
pooli вне форума Ответить с цитированием
Старый 05.09.2010, 18:59   #6
pooli
Пользователь
 
Регистрация: 04.09.2010
Сообщений: 45
По умолчанию

по listview уж заодно
как подсветить выделенную(ту в которую мышкой кликнул) строку listview?
pooli вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Макрос на сравнение и подсчет в первом столбце строк, и сумирование значений этих строк в другом столбце Shpr0T Microsoft Office Excel 8 30.08.2010 17:52
[C# + WPF] ListView. Узнать выделена ли строка в нём. ListView.View == GridView. Casper-SC WPF, UWP, WinRT, XAML 2 12.08.2010 19:04
VBA (сумма элементов последовательности) SOMBRE Помощь студентам 2 18.04.2010 15:26
Нахождение в столбце с числами строк, сумма чисел которых равна определенному значению KNatalia Microsoft Office Excel 2 16.09.2009 08:42
VBA программно сумма диапозона AAE Microsoft Office Excel 1 24.07.2009 07:03