Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Макрос для вставки формулы суммирования произвольного диапазона
 
Уважаемые форумчане, добрый вечер!

Потихоньку жажда знаний стала одолевать лень, и я занялся освоением макросов и языка VBA, пока что на сугубо дилетантском уровне - по уже готовым примерам в сети, и разбору кода записанного через макрорекодер. Скажу честно, понимаю я пока немного, но твёрдо намерен освоить это дело хоть на каком то уровне.

Собственно, застопорился, на элементарном примере, задача - через VBA-код реализовать ТО ЖЕ САМОЕ ЧТО ДЕЛАЕТ сочетание клавиш Alt+
т.е. сложение всех чисел в столбце находящихся выше выделенной ячейки  (в эту самую ячейку надо поместить сумму этих чисел).
По условию:
1. Числа могут идти в любом столбце (A, B, ...), из какого столбца суммируем определяем по выделенной в данный момент ячейке, выше которой, как предполагается находятся числа для суммирования, которые в столбце идут без пропусков,
2. Числа могут начинаться с произвольной строчки т.е. не обязательно сверху листа
3. Их может быть от 1 до N в пределах системных ограничений Эксель
4. Над первым числом может идти поле заголовка (таблицы) типа "Продажи", "Прибыль" и.т.д., либо его может не быть т.е. просто сверху вниз в столбце идут числа
5. Формула суммы чисел вписывается в первую пустую ячейку под ними, куда предварительно ставим курсов до запуска макроса.

Суть вопроса:
Макрорекордер при записи макроса сгенерил следующий код:
Код
Sub Macro23()
    ActiveCell.FormulaR1C1 = "=SUM(R[-22]C:R[-1]C)"
    ActiveCell.Offset(1, 0).Range("A1").Select
End Sub

Этот пример прекрасно сработал для одного конкретного диапазона, на котором я собственно записывал макрос, но если чисел в столбце, больше\меньше, чем в этом примере, то разумеется, корректно складывать не будет, это вижу даже я т.к. он вставляет формулу суммы через относительные ссылки в ячейку и при этом жёстко фиксирует диапазон, подлежащий сложению.
Проблема в том, что когда записываешь макрос, он не понимает что ты через Alt+ или функцией СУММ и Ctrl+стрелкой хочешь захватить весь диапазон чисел для суммирования (сколько бы их ни было в конкретном случае) и тупо подсчитывает сколько конкретно строчек просуммировалось для текущего случая и фиксирует это в макросе!
Умом понимаю, что надо как то найти и запомнить в переменной положение самой верхней и самой нижней цифры диапазона суммирования (т.е. их адреса ячеек) и уже дальше эти переменные вставлять в ту формулу суммы, которую через макрос вводим в нужную ячейку, но как это сделать, увы, не знаю! :(

Кто знает, подскажите, как это сделать, пожалуйста. Возможно код должен быть гораздо сложнее, чем это...

Знаю, что это ерунда, а не задача, но я пока пробую самое простое, по отрывочным сведениям в сети, совершенно не разобрался с выделением диапазонов\ячеек и доступом к их свойствам...

И, кстати, был бы очень благодарен, если бы Вы могли посоветовать полноценную, не совсем для "чайников", но при этом хотя бы в меру короткую и доходчивую книгу по макросам\VBA для изучения с обилием примеров.
Уокенбах, конечно, крутой, но пока в нём найдёшь нужный раздел, это пипец... ))
Лет 10 назад занимался программированием в универе (Паскаль, С\С++, Java), но с тех пор от этого полностью отошёл и много чего забыл очевидно, так что в коде в принципе смогу разобраться, но на сложном материале скорее всего буду тупить...
Ошибка сценария при импорте в Excel с Web страницы
 
Выбираю опцию "Получение внешних данных из интернета", по умолчанию в Excel при импорте сайты открывает IE.
Так вот всё время при заходе на сайт с нужной мне инфой (например cbr.ru или finmarket.ru) вылезают окна с различными "ошибками сценария"!
Например ""ошибка сценария yaCounter5774506" не определено" или сразу несколько ошибок сценария таких как "Объект не поддерживает свойство или метод some",
"Объект не поддерживает свойство или метод querySelector" и.т.д.
Такая же "петрушка" на всех сайтах, при этом просто в IE вне экселя эти сайта без ошибок открываются без всяких проблем.

В итоге импортировать получается только страницу целиком и приходится вручную чистить лишнюю информацию т.е. нельзя стандартным образом выбирать отдельные таблицы\области т.к. не появляются "жёлтые стрелочки" для выбора отдельных объектов страницы.

Все обновления Windows 7\Excel 2013 стоят. Не пойму в чём дело. Погуглил, толком ответов нигде нет.

Эксперты Помогите, пожалуйста!
Подскажите, кто знает, как задать точный размер по ширине и высоте для области построения диаграммы в Excel 2013?, Как настроить размер области построения диаграммы и её расположение в точности как в исходнике с такими же пропорциями как в исходнике?
 
Помогите, пожалуйста, Уважаемые эксперты!

Суть проблемы - практикуюсь создавать различные виды диаграмм на основе различных данных, возникла ситуация, когда
необходимо точь в точь скопировать уже существующую, созданную не мной, диаграмму
(включая всё - размеры самой диаграммы, размеры области построения, фон, цвета заполнения рядов, вид\формат\шрифты подписей, легенды, осей, границы и.т.д.).
Проблема в том, как настроить размер области построения диаграммы в точности как в исходнике с такими же пропорциями.

Знаю, что можно формат исходной диаграммы, сохранить как новый шаблон диаграммы и затем применить к моей диаграмме, знаю также что можно просто скопировать диаграмму :), но этот вариант не подходит т.к. мне нужно именно вручную воспроизвести исходник, чтобы научиться менять все свойства!

Сама диаграмма очень простая (Тип - Вторичная линейчатая на основе одного ряда данных).
Смог разобраться как полностью повторить стиль\компоновку диаграммы-эталона,
КРОМЕ ОДНОГО - КАКИМ ОБРАЗОМ УСТАНОВИТЬ ТОЧНЫЙ РАЗМЕР И РАСПОЛОЖЕНИЕ
ОБЛАСТИ ПОСТРОЕНИЯ ДИАГРАММЫ
(Т.Е. ТОЙ ОБЛАСТИ ВНУТРИ ОБЪЕКТА "ДИАГРАММА", ГДЕ СОБСТВЕННО РАСПОЛАГАЕТСЯ РИСУНОК)?!

Прикладываю пример с исходником и моей диаграммой - у меня получается довольно похоже на оригинал, но область построения по умолчанию "рисуется" более прямоугольной формы нежели в исходнике, а при изменении размера области построения вручную "перетаскиванием за угол" изменяются пропорции одновременно по вертикали и диагонали (нельзя отдельно растянуть\сжать область построение по одной из осей) т.е. если я делаю длинну области как в исходнике, то ширина оказывается меньше чем надо и наоборот. Расположение области построения относительно области всей диаграммы также приходится "на глаз" перетаскивать вручную.

Где настраиваются точные размеры и\или соотношения сторон для области построения в Excel 2013 не нашёл.
В параметрах области построения есть только заливка и граница, в формате ряда данных собственно для рисунка только расположение двух элементов рисунка друг относительно друга, но не относительно границ области построения.
По яндексу\гуглу также ответа за несколько часов не разыскал, здесь по форуму вроде бы тоже похожих топиков нет.

Так что, просьба, сильно не пинать за такой вроде бы элементарный вопрос! )
Страницы: 1
Наверх