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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 29.06.2010, 00:37   #1
stbo
Пользователь
 
Регистрация: 09.10.2008
Сообщений: 42
По умолчанию суммировать одинаковые имена

всем привет. огромное спасибо, за макросы которые написал EducatedFool. Экономит столько времени ...
Сейчас задача следующая: после сортирования по именам артиклей, в соседней колонке необходимо сложить общее кол-во деталей, при этом сократить повторяющие артикли.
Вложения
Тип файла: rar summa.rar (7.1 Кб, 18 просмотров)
stbo вне форума Ответить с цитированием
Старый 29.06.2010, 04:46   #2
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Посмотрите один из возможных вариантов во вложении. Запустите макрос "Main".
Вложения
Тип файла: rar summa_2.rar (14.1 Кб, 27 просмотров)
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 29.06.2010, 10:52   #3
stbo
Пользователь
 
Регистрация: 09.10.2008
Сообщений: 42
По умолчанию

спасибо огромное. Если возможно вывести запуск этого макроса из подменю(выделение+ правый клик + суммировать)? Но в любом случае это классно, и здорово экономит время на операции.
stbo вне форума Ответить с цитированием
Старый 29.06.2010, 12:27   #4
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

В контекстное меню добавить пункт несложно:

Код:
Private Sub Workbook_Open()
    Application.CommandBars("cell").Reset
    With Application.CommandBars("cell").Controls.Add(, , , 1)
        .Caption = "Суммировать одинаковые"
        .FaceId = 226
        .OnAction = "Main"
    End With
End Sub
К тому же, удалось упростить макрос за счёт использования этой функции: http://excelvba.ru/code/JoinedArray
Код:
Sub main()
    On Error Resume Next
    If Selection.Rows.Count < 2 Or Selection.Columns.Count < 2 Then Exit Sub
    Selection.Value = JoinedArray(Selection.Value, 1, 2)
    Selection.SpecialCells(xlCellTypeConstants, xlErrors).ClearContents
End Sub
Проверяйте: http://excelvba.ru/XL_Files/Sample__...__14-27-17.zip
EducatedFool вне форума Ответить с цитированием
Старый 29.06.2010, 12:51   #5
stbo
Пользователь
 
Регистрация: 09.10.2008
Сообщений: 42
По умолчанию

спасибо. все просто супер!!!!!!!
stbo вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Суммировать диапазон по валюте Screame Microsoft Office Excel 5 06.11.2012 22:53
как суммировать в db grid deadneoo Компоненты Delphi 0 01.05.2010 15:41
Суммировать при Н/Д Iskin Microsoft Office Excel 2 14.10.2009 10:05
Си. Как суммировать элементы массива? dma Помощь студентам 2 06.12.2008 17:11
Суммировать значения по дате gavrylyuk Microsoft Office Excel 4 21.07.2008 12:52