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

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

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

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 19.11.2008, 00:14   #101
valerij
Старожил
 
Аватар для valerij
 
Регистрация: 12.05.2007
Сообщений: 2,339
По умолчанию

Цитата:
Сообщение от SAS888 Посмотреть сообщение
В VBA можно использовать функцию рабочего листа Excel WorksheetFunction объекта Application
SAS!
Теперь Понял, а то я циклами, суммы, собираю. Еще пара вопросов:
1. А тут можно, упростить?
Код:
With Application
            [D27].Offset(iC * 28) = .Sum([D3:E26].Offset(iC * 28))
            [E27].Offset(iC * 28) = .Sum([E3:E26].Offset(iC * 28))
            [H8].Offset(iC * 28) = .Sum([H3:H7].Offset(iC * 28))
            [H15].Offset(iC * 28) = .Sum([H10:H14].Offset(iC * 28))
            [K16].Offset(iC * 28) = .Sum([K5:M15].Offset(iC * 28)) - [L12].Offset(iC * 28) - [L13].Offset(iC * 28)
            [F21].Offset(iC * 28) = [D27].Offset(iC * 28) + [H8].Offset(iC * 28) + [H15].Offset(iC * 28)
            [H21].Offset(iC * 28) = [F21].Offset(iC * 28) + [B1].Offset(iC * 28) + [A3].Offset(iC * 28)
           [F24].Offset(iC * 28) = [H21].Offset(iC * 28) - [K3].Offset(iC * 28) - [N3].Offset(iC * 28) - [K4].Offset(iC * 28) - [N4].Offset(iC * 28) _
           - [K16].Offset(iC * 28)
End With
2. Почему так не получается?
Код:
[H21].Offset(iC * 28) = .Sum([F21], [B1], [A3].Offset(iC * 28))
вроде проще, чем в 1.
valerij вне форума
Старый 19.11.2008, 05:41   #102
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Цитата:
Почему так не получается?
Что значит "не получается"?
Все Ваши вычисления, если, конечно, не требуется иметь промежуточные результаты в указанных ячейках, можно записать в одну строку:
Код:
With Application
        [F24].Offset(iC * 28) = .Sum([D3:E26].Offset(iC * 28), [H3:H7].Offset(iC * 28), _
            [H10:H14].Offset(iC * 28), [B1].Offset(iC * 28), [A3].Offset(iC * 28)) _
            - [K3].Offset(iC * 28) - [N3].Offset(iC * 28) - [K4].Offset(iC * 28) _
            - [N4].Offset(iC * 28) - .Sum([K5:M15].Offset(iC * 28)) + [L12].Offset(iC * 28) + [L13].Offset(iC * 28)
    End With
Чем шире угол зрения, тем он тупее.

Последний раз редактировалось SAS888; 19.11.2008 в 05:43.
SAS888 вне форума
Старый 19.11.2008, 10:45   #103
valerij
Старожил
 
Аватар для valerij
 
Регистрация: 12.05.2007
Сообщений: 2,339
По умолчанию

Цитата:
Сообщение от SAS888 Посмотреть сообщение
Что значит "не получается"?
[H21].Offset(iC * 28) = .Sum([F21], [B1], [A3].Offset(iC * 28))
В таком виде, результат суммы, отображается до самого конца цикла(iC) и при iC = 1 и > не верный результат
Цитата:
можно записать в одну строку
Понял. Не подходит.

САС, а почему так нельзя?
With Application.Offset(iC * 28)

Последний раз редактировалось valerij; 20.11.2008 в 00:46.
valerij вне форума
Закрытая тема


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
MsSQL - первый раз установил майкрософт SQL vados SQL, базы данных 16 19.07.2008 20:01
Первый баг (фото) mutabor Свободное общение 1 06.05.2008 11:51
Вроде на первый взгляд всЁ просто...... Solny6ko YasnoE Помощь студентам 4 17.09.2007 08:23
а первый взгляд просто.. Аlex Win Api 7 05.04.2007 18:34
конкурс программистов ! (первый конкурс) Alar Свободное общение 129 18.03.2007 00:50