Сумма в ListBox
Dмитрий
Дата: Суббота, 10.05.2014, 17:43 |
Сообщение № 1
Группа: Пользователи
Ранг: Участник
Сообщений: 91
Репутация:
9
±
Замечаний:
40% ±
Excel 2010
Всем Добрый день! Хочу подсчитать сумму в ListBox. Кое как написал. Не очень хорошо и наверное, можно сделать как то попроще и поумнее, но тем не менее работает. Но вот как вывести сумму отдельно по значению "+" и "-" не знаю. То есть при клике в ListBox1, должно выводится отдельно в TextBox1 вся сумма, в TextBox2 сумма ячеек у которых значение "+", в TextBox3 сумма ячеек у которых значение "-"
Всем Добрый день! Хочу подсчитать сумму в ListBox. Кое как написал. Не очень хорошо и наверное, можно сделать как то попроще и поумнее, но тем не менее работает. Но вот как вывести сумму отдельно по значению "+" и "-" не знаю. То есть при клике в ListBox1, должно выводится отдельно в TextBox1 вся сумма, в TextBox2 сумма ячеек у которых значение "+", в TextBox3 сумма ячеек у которых значение "-" Dмитрий
Ответить
Сообщение Всем Добрый день! Хочу подсчитать сумму в ListBox. Кое как написал. Не очень хорошо и наверное, можно сделать как то попроще и поумнее, но тем не менее работает. Но вот как вывести сумму отдельно по значению "+" и "-" не знаю. То есть при клике в ListBox1, должно выводится отдельно в TextBox1 вся сумма, в TextBox2 сумма ячеек у которых значение "+", в TextBox3 сумма ячеек у которых значение "-" Автор - Dмитрий Дата добавления - 10.05.2014 в 17:43
_Boroda_
Дата: Суббота, 10.05.2014, 17:51 |
Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 16957
Репутация:
6631
±
Замечаний:
±
2003; 2007; 2010; 2013 RUS
Код не смотрел, на основании Вашего: для положительных строку X1=X1+G1 перепишите [vba]Код
if --G1>0 then X1 = X1 + G1
[/vba]Дальше разберетесь? Не, погодите, там все не так, оказывается. Добавлено Последний кусок макроса измените так: [vba]Код
Dim X1 As Long, X2 As Long, X3 As Long, G1 As Long 'X = ListBox2.List(0, 2) 'X = Replace(X, " ", ""): X = Replace(X, "руб.", "") 'X1 = X For r = 0 To j - 1 Step 1 G = ListBox2.List(r, 2) G = Replace(G, " ", ""): G = Replace(G, "руб.", "") G1 = G X1 = X1 + Abs(G1) If --G1 > 0 Then X2 = X2 + G1 If --G1 < 0 Then X3 = X3 + G1 Next r TextBox1 = Format(X1, "### ### ### ##0") & " руб." TextBox2 = Format(X2, "### ### ### ##0") & " руб." TextBox3 = Format(X3, "### ### ### ##0") & " руб."
[/vba] И я там еще по правому краю суммы выровнял, а то некрасиво получалось
Код не смотрел, на основании Вашего: для положительных строку X1=X1+G1 перепишите [vba]Код
if --G1>0 then X1 = X1 + G1
[/vba]Дальше разберетесь? Не, погодите, там все не так, оказывается. Добавлено Последний кусок макроса измените так: [vba]Код
Dim X1 As Long, X2 As Long, X3 As Long, G1 As Long 'X = ListBox2.List(0, 2) 'X = Replace(X, " ", ""): X = Replace(X, "руб.", "") 'X1 = X For r = 0 To j - 1 Step 1 G = ListBox2.List(r, 2) G = Replace(G, " ", ""): G = Replace(G, "руб.", "") G1 = G X1 = X1 + Abs(G1) If --G1 > 0 Then X2 = X2 + G1 If --G1 < 0 Then X3 = X3 + G1 Next r TextBox1 = Format(X1, "### ### ### ##0") & " руб." TextBox2 = Format(X2, "### ### ### ##0") & " руб." TextBox3 = Format(X3, "### ### ### ##0") & " руб."
[/vba] И я там еще по правому краю суммы выровнял, а то некрасиво получалось _Boroda_
Скажи мне, кудесник, любимец ба’гов... Платная помощь: Boroda_Excel@mail.ru Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
Ответить
Сообщение Код не смотрел, на основании Вашего: для положительных строку X1=X1+G1 перепишите [vba]Код
if --G1>0 then X1 = X1 + G1
[/vba]Дальше разберетесь? Не, погодите, там все не так, оказывается. Добавлено Последний кусок макроса измените так: [vba]Код
Dim X1 As Long, X2 As Long, X3 As Long, G1 As Long 'X = ListBox2.List(0, 2) 'X = Replace(X, " ", ""): X = Replace(X, "руб.", "") 'X1 = X For r = 0 To j - 1 Step 1 G = ListBox2.List(r, 2) G = Replace(G, " ", ""): G = Replace(G, "руб.", "") G1 = G X1 = X1 + Abs(G1) If --G1 > 0 Then X2 = X2 + G1 If --G1 < 0 Then X3 = X3 + G1 Next r TextBox1 = Format(X1, "### ### ### ##0") & " руб." TextBox2 = Format(X2, "### ### ### ##0") & " руб." TextBox3 = Format(X3, "### ### ### ##0") & " руб."
[/vba] И я там еще по правому краю суммы выровнял, а то некрасиво получалось Автор - _Boroda_ Дата добавления - 10.05.2014 в 17:51
Dмитрий
Дата: Суббота, 10.05.2014, 18:16 |
Сообщение № 3
Группа: Пользователи
Ранг: Участник
Сообщений: 91
Репутация:
9
±
Замечаний:
40% ±
Excel 2010
Я может быть не совсем хорошо объяснил суть. Числа все положительные (стоимость). "+" и "-" это просто образно показано какие суммировать в TextBox2, а какие в TextBox3.
Я может быть не совсем хорошо объяснил суть. Числа все положительные (стоимость). "+" и "-" это просто образно показано какие суммировать в TextBox2, а какие в TextBox3. Dмитрий
Ответить
Сообщение Я может быть не совсем хорошо объяснил суть. Числа все положительные (стоимость). "+" и "-" это просто образно показано какие суммировать в TextBox2, а какие в TextBox3. Автор - Dмитрий Дата добавления - 10.05.2014 в 18:16
Dмитрий
Дата: Суббота, 10.05.2014, 18:49 |
Сообщение № 4
Группа: Пользователи
Ранг: Участник
Сообщений: 91
Репутация:
9
±
Замечаний:
40% ±
Excel 2010
Спасибо, Boroda. Все верно считает, но я не совсем понял суть, Вами написанного. Можно ли не выводить значения "+" и "-" вот здесь[vba]Код
ListBox2.List(j, 2) = Cells(i, 5)& Cells(i, 4) & " руб."
[/vba] или хотя бы выводить их отдельно[vba]Код
ListBox2.List(j, 2) = Cells(i, 4) & " руб." ListBox2.List(j, 3) = Cells(i, 5)
[/vba] В TextBox также присутствие "+" и "-" крайне не желательно. [p.s.]Можно конечно применить Replace для TextBox, а ListBox?
Спасибо, Boroda. Все верно считает, но я не совсем понял суть, Вами написанного. Можно ли не выводить значения "+" и "-" вот здесь[vba]Код
ListBox2.List(j, 2) = Cells(i, 5)& Cells(i, 4) & " руб."
[/vba] или хотя бы выводить их отдельно[vba]Код
ListBox2.List(j, 2) = Cells(i, 4) & " руб." ListBox2.List(j, 3) = Cells(i, 5)
[/vba] В TextBox также присутствие "+" и "-" крайне не желательно. [p.s.]Можно конечно применить Replace для TextBox, а ListBox? Dмитрий
Сообщение отредактировал Dмитрий - Суббота, 10.05.2014, 18:54
Ответить
Сообщение Спасибо, Boroda. Все верно считает, но я не совсем понял суть, Вами написанного. Можно ли не выводить значения "+" и "-" вот здесь[vba]Код
ListBox2.List(j, 2) = Cells(i, 5)& Cells(i, 4) & " руб."
[/vba] или хотя бы выводить их отдельно[vba]Код
ListBox2.List(j, 2) = Cells(i, 4) & " руб." ListBox2.List(j, 3) = Cells(i, 5)
[/vba] В TextBox также присутствие "+" и "-" крайне не желательно. [p.s.]Можно конечно применить Replace для TextBox, а ListBox? Автор - Dмитрий Дата добавления - 10.05.2014 в 18:49
_Boroda_
Дата: Суббота, 10.05.2014, 19:18 |
Сообщение № 5
Группа: Админы
Ранг: Местный житель
Сообщений: 16957
Репутация:
6631
±
Замечаний:
±
2003; 2007; 2010; 2013 RUS
Не вопрос [vba]Код
ListBox2.List(j, 2) = Cells(i, 4) & " руб." ListBox2.List(j, 3) = Cells(i, 5) ... G = ListBox2.List(r, 3) & ListBox2.List(r, 2) ... TextBox3 = Format(-X3, "### ### ### ##0") & " руб."
[/vba]
Не вопрос [vba]Код
ListBox2.List(j, 2) = Cells(i, 4) & " руб." ListBox2.List(j, 3) = Cells(i, 5) ... G = ListBox2.List(r, 3) & ListBox2.List(r, 2) ... TextBox3 = Format(-X3, "### ### ### ##0") & " руб."
[/vba] _Boroda_
Скажи мне, кудесник, любимец ба’гов... Платная помощь: Boroda_Excel@mail.ru Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
Ответить
Сообщение Не вопрос [vba]Код
ListBox2.List(j, 2) = Cells(i, 4) & " руб." ListBox2.List(j, 3) = Cells(i, 5) ... G = ListBox2.List(r, 3) & ListBox2.List(r, 2) ... TextBox3 = Format(-X3, "### ### ### ##0") & " руб."
[/vba] Автор - _Boroda_ Дата добавления - 10.05.2014 в 19:18
Dмитрий
Дата: Суббота, 10.05.2014, 21:17 |
Сообщение № 6
Группа: Пользователи
Ранг: Участник
Сообщений: 91
Репутация:
9
±
Замечаний:
40% ±
Excel 2010
Большое Спасибо!!!
Ответить
Сообщение Большое Спасибо!!! Автор - Dмитрий Дата добавления - 10.05.2014 в 21:17