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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.04.2014, 13:34   #11
Казанский
Старожил
 
Аватар для Казанский
 
Регистрация: 31.12.2010
Сообщений: 2,133
По умолчанию

Игорь, "+ --bi(j)" можно заменить на "- -bi(j)"
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
Казанский вне форума Ответить с цитированием
Старый 17.04.2014, 13:39   #12
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

А ну да... Привычка
Там может лучше (и понятнее) "+ Val(bi(j))"
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 17.04.2014, 13:59   #13
Knyazev_I
Новичок
Джуниор
 
Регистрация: 17.04.2014
Сообщений: 8
По умолчанию

Цитата:
Сообщение от Казанский Посмотреть сообщение
1. Можно! А что Вы потом с ним делать будете - PrintScreen?
2. Свернутые строки включать в отчет или нет?
Все строки.
Строка 1
10/155/5 20/40+16/20+16/20RCP
Строка 2
10/155/5 20/40+16/20+16/20RCP

Отчет
20/40 = 20
16/20 = 310
16/20RCP = 10

Последний раз редактировалось Knyazev_I; 17.04.2014 в 14:01.
Knyazev_I вне форума Ответить с цитированием
Старый 17.04.2014, 14:12   #14
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Так что, всё ещё не испытали код?
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 17.04.2014, 15:00   #15
Knyazev_I
Новичок
Джуниор
 
Регистрация: 17.04.2014
Сообщений: 8
По умолчанию

Можно убрать из подсчета скрытые строки.
Knyazev_I вне форума Ответить с цитированием
Старый 17.04.2014, 16:42   #16
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Можно и убрать...
Код:
Option Explicit

Sub qq()
    Dim i As Long, j As Integer, a(), ai, bi, k    'b()
    a = Range("N1:O" & Cells(Rows.Count, 15).End(xlUp).Row).Value
    'ReDim b(1 To UBound(a, 1), 1 To 1)
    With CreateObject("Scripting.Dictionary"): .comparemode = 1

        For i = 2 To UBound(a, 1)
            If Len(a(i, 1)) Then
                If Rows(i).Hidden = False Then
                    ai = Split(a(i, 2), "+"): bi = Split(a(i, 1), "/")
                    If UBound(ai) = UBound(bi) Then
                        For j = LBound(ai) To UBound(ai)
                            .Item(ai(j)) = .Item(ai(j)) + Val(bi(j))
                            'b(i, 1) = b(i, 1) & ai(j) & " = сумма " & bi(j) & ", "
                        Next
                        'b(i, 1) = Left$(b(i, 1), Len(b(i, 1)) - 2)
                    End If
                End If
            End If
        Next

        For Each k In .keys
            MsgBox k & " = сумма " & .Item(k)
        Next

    End With

End Sub
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 17.04.2014, 17:51   #17
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

к этому макросу еще дожен прилагаться набор фломастеров, что бы потом аккуратно данные с MsgBox переписывать в журнал подсчета стоимостей.
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 17.04.2014, 19:16   #18
RAN.
Форумчанин
 
Аватар для RAN.
 
Регистрация: 05.07.2011
Сообщений: 208
По умолчанию

Цитата:
Сообщение от IgorGO Посмотреть сообщение
к этому макросу еще дожен прилагаться набор фломастеров, что бы потом аккуратно данные с MsgBox переписывать в журнал подсчета стоимостей.
А приложить жаба душит?
RAN. вне форума Ответить с цитированием
Старый 17.04.2014, 19:36   #19
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

Цитата:
Можно отчет в функции MessageBox?
это пожелание автора, оно крайне удивительно, но автор высказал пожелание, Hugo121 его реализовал вполном обьеме
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 17.04.2014, 21:56   #20
Knyazev_I
Новичок
Джуниор
 
Регистрация: 17.04.2014
Сообщений: 8
По умолчанию

Hugo121, спасибо на WM будет обязательно. Я понемногу начинаю понимать VBA. Хотя Pascal как то ближе ) Концовку доработал
Worksheets("Отчет").Cells(1, 1) = "Израсходовано всего"
Worksheets("Отчет").Cells(cn, 1) = k
Worksheets("Отчет").Cells(cn, 2) = .Item(k)
Worksheets("Отчет").Cells(cn, 3) = " тонн"
cn = cn + 1
Next
MsgBox "Готово"

Упс. Дополню
If Rows(i).Hidden = False Then 'пропускаем скрытые строки. А как быть если строки скрыты фильтром?

Последний раз редактировалось Knyazev_I; 17.04.2014 в 22:22.
Knyazev_I вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
работа со строкой Le0n4iko_o Общие вопросы Delphi 15 08.04.2014 12:08
Работа с строкой ATL PHP 2 17.11.2011 22:33
Работа со строкой TI_ProJecT Помощь студентам 18 08.11.2011 16:04
Работа со строкой FrostoS Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 1 04.01.2011 17:20
VBA - можно ли выполнить выражение, заданное строкой alexshm Microsoft Office Excel 3 22.09.2010 21:58