Изменение параметров диаграммы
Очередное полностью практическое занятие. В этот раз оно уже пообъемнее и несколько сложнее, чем "Заполнение бланка документа", но это логично - от простых вещей постепенно двигаемся к более сложным.
зарегистрироваться на сайте
обновите страницу по этой ссылке или кнопкой F5
Комментарии
Спасибо за Ваши уроки. это очень здорово!!!
дмитрий, скажите. а только диаграммы можно привязывать?
я работаю над привязкой земных координат(вернее хочу сделать такую программу) на какую либо сетку-самодельную.ну нарисованную например в корел.этот урок очень кстати.(весь софт програмный мне не интересен, т.к. хочу собственными руками.пусть даже топорно, но сам )
Добрый вечер, Владимир.
В принципе, управлять можно любым приложением, в котором есть поддержка VBA - в первую очередь это конечно программы пакета MS Office: Access, Word, PowerPoint, Outlook, но ими дело не ограничивается.
Конкретно насчет Corel сказать не могу - никогда с ним не работал. Теоретически, если в нем можно писать какие-то процедуры на VBA, то наверное можно и управлять этим приложением из Excel.
Но в любом случае, управление одним приложением из программы, написанной в другом приложении - это задача не для начинающих, которая требует уверенного владения навыками программирования.
да, и еще, до каких ступеней вы нас сможете довети, я имею ввиду, сможем ли мы дальше учиться на ваших уроках?
с гордостью скажу, что за 2 недели с момента обучения сделал таблицу для моих расчетов и раскидал формулы( правда уже готовые нашел в интернете) но все же...начал понимать некоторые моменты кода в других программах благодаря вот такому обучению.будет не хватать этого если вы закончите нас обучать
СУПЕР !!! СПАСИБО ЗА ВАШИ УРОКИ. Уроки очень помогают мне в моей работе.
Огромное СПАСИБО!
Класс!! Огромное спасибо!!
Отлично!!! Спасибо!!!
Отличная работа!!! Спасибо большое!
Урок понятен, объяснения доходчивы, готов к дальнейшим урокам
Большое СПАСИБО!
Весь видеоурок представлен в наглядной и доступной для понимания форме!!
Здравствуйте Дмитрий!
Скачал примеры автоматизации в Excel. Возникла проблема. В окне VBA при попытке открыть VBA projects, соответствующих скачаным примерам автоматизации, выдается окно с предложением ввести пароль проекта. Где его найти?
Заранее благодарен. Юрий
Это примеры с закрытым кодом... демо-версии так сказать.
Хотите получить возможность создавать подобные примеры ... - необходимо посетить вэбинар, который Дмитрий недавно проводил, надеюсь проведет еще не один раз... Сам хочю поучавствовать, но не получается пока.
Спасибо за разьяснение
Всё здорово. Спасибо,Дмитрий!
У меня есть один вопрос, если можно:
"Как создать архив данных на втором листе. данные переходят с первого листа, где они ежедневно обновляются,
а в архиве они должны добавляться." -но примерно так.
Я очень прошу, хотя бы что-нибудь по этой теме.
Спасибо за ранее.
И ещё. как можно удалить макрос,если он сахранён в книге макросов и где находится меню "File" в 2007-ом вариате.
Здорово. И спасибо. После Ваших уроков восполнились пробелы в написании своих макросов. Уже есть идеи как использовать полученные знания в работе.
Здравствуйте. Вопрос - почему при закрытии файла выскакивает ошибка "run-time erroe '91':
Object variable or With block variable not set.
При выборе debug ссылается на строку: With ActiveSheet.ChartObjects("Диаграмма 1".Chart ,выделяя её жёлтым. И как это устранить?
Доброе утро, Алексей.
Сообщение об ошибке означает "Объектная переменная или переменная для блока With...End With не установлена".
Скорее всего, либо на активном листе нет диаграмм вообще, либо же диаграмма носит другое имя.
Почему сообщение появляется именно при закрытии файла - надо смотреть сам файл.
Если диаграмма у Вас в файле есть, попробуйте в коде обратиться к ней не через ActiveSheet, а через конкретный лист:
Sheets("Лист1").ChartObjects("Диаграмма 1").Chart
Благодарю за развёрнутый ответ, Дмитрий. Это та же задача, которую Вы давали в примере, только я её немного усложнил для себя. Если обратиться не к activesheet, a sheets("Лист1", то при исполнении выскакивает другая ошибка: Run-time error '1004': Method 'Sheets' of object '_Global' failed. Сам код выглядит вот так:
Sub Диаграмма()
entrprze = Cells(18, "G".Value
qrow = Cells(17, "G".Value + entrprze
With Sheets("Лист1".ChartObjects("Chart 1".Chart
.SetSourceData Source:=Range("C3:N3,C" & qrow & ":N" & qrow)
.ChartTitle.Text = "Отчёт за " & Cells(qrow, "B".Value & " квартал " & Cells(2 + entrprze, "B".Value
.ChartStyle = entrprze + 16
.ChartTitle.Font.ColorIndex = Cells(entrprze + 2, "B".Font.ColorIndex
End With
End Sub
p.s. http://rghost.ru/42306341 - вот сам файл.
Заранее благодарю за разъяснение. Я пока не могу двигаться дальше и участвовать в Ваших вебинарах пока не разберусь с более простыми вещами. =(
Посмотрел Ваш файл - у меня все нормально, никаких сообщений об ошибке не появляется. При замене ActiveSheet на Sheets("Лист1" тоже все работает. При закрытии файла ничего не происходит.
Может, Вы какой-то макрос сохранили в "личной книге макросов"?
Благодарю. Возможно. Как это посмотреть? Что характерно - сам макрос работает, а ошибка возникает лишь при закрытии приложения MS Excel. Быть может, это из-за MS Office 2010?
"Как это посмотреть?"
В редакторе VBA в окне Project Explorer (слева вверху) у Вас сколько файлов отображается (при открытом единственном файле с диаграммой)? Если помимо файла "Диаграмма.xlsm" есть еще проект "Personal" - там надо искать причину ошибки.
В редакторе Project Explorer отображается только мой "Диаграмма" и VBAProject (FUNCRES.XLAM).
Значит, личной книги макросов нет.
Насчет Office 2010 ничего сказать не могу - у меня 2007. Но не должно быть из-за этого.
Сложно лечить аппендицит по телефону - надо видеть "больного".
Попробуйте, как поведет себя у Вас такой файл:
http://rusfolder.com/34149171
Если есть возможность, протестируйте еще на каком-нибудь другом компьютере.
Согласен. Дистанционно сложно мне помочь(
Файл, который Вы скинули, также работает, но выдаёт ошибку Run-time error '1004': Method 'Sheets' of object '_Global' failed
На другом компьютере всё то же - та же ошибка. Там офис 2007. =\
Полагаю, что данная процедура у Вас выполняется, когда файл уже закрыт - тогда и среди листов "Лист1" уже отсутствует, и на активном листе диаграммы нет (т.к. нет и активного листа как такового). Но вот, почему она вообще запускается при закрытии файла - это вопрос.
Я бы попробовал поставить точку останова перед этой строкой и, закрывая файл, протестировал (с помощью окна Immediate): сколько листов видит программа перед ошибкой, какие листы, какой является активным и т.д.
Понял. Благодарю за разъяснение и уделённое время. Буду разбираться.
Большое спасибо за доходчивые примеры в Ваших видеоуроках!
К сожалению по роду своей деятельности не получается участвовать в вебинарах. Хотелось бы больше таких видеоуроков! Подскажите, когда будет девятый.
Добрый день, Олег.
Насчет девятого - пока не могу сказать точно: сейчас идет подготовка к тренингу, который начнется в середине января.
По поводу вебинаров: если нет возможности принять участие в прямом эфире (но есть желание), можно изучать эти материалы в записи - так многие делают.
Здравствуйте, Дмитрий! С Рождеством! Здоровья и благополучия!
Я не только просмотрела все Ваши уроки, но и законспектировала их. По ходу обучения все было очень понятно. Но обстоятельства сложились так, что сама я стала писать программу с использованием переменных только теперь и столкнулась с тем, что:
- sub с названием (в процессе написания кода) выделяется желтым, а написано по всем правилам;
- при нажатии F5 ничего не происходит; для возврата к рабочему листу Excel приходится нажимать снова ALT+F11.
Пыталась и на ноутбуке, и на стационарном компе...
Еще не поняла, для чего нужно пользоваться окном Immediate - понятно, что немедленно, но зачем? Только для того, чтобы понять сколько, например, листов в книге? Так это видно в проводнике текущего проекта...
Если Вы, Дмитрий, сочтете мой уровень подготовки не совсем достаточным для дальнейшего обучения, мне будет очень-очень жаль!
Доброй ночи, Ольга! Спасибо за поздравления, Вас также поздравляю с прошедшими праздниками!
По порядку:
1. Ошибки в процессе написания кода выделяются красным цветом, не желтым. Желтым (только в режиме отладки программы - т.е. когда она запущена и еще не завершена) выделяется та команда, которая будет выполнена следующей (когда Вы нажмете F5 или F8). То есть это не ошибка.
Если желтым выделяется самая первая строка программы (та, где Sub) - значит, либо Вы до этого запускали программу в пошаговом режиме (выполняли ее по нажатию F8), либо у Вас на этой строке стоит "точка останова" - т.е. строка выделена коричневым цветом.
Если все равно непонятно, как решить проблему - попробуйте просто сохранить файл и открыть его заново - скорее всего, проблема будет решена.
2. Окно Immediate необходимо для выполнения каких-либо операций немедленно, без написания и запуска программы. Это удобно, во-первых, при обучении (как это показывал я в видеоуроке). Во-вторых, это бывает нужно при отладке программы: в этом окне можно узнать не только число листов в книге (что, как Вы правильно заметили, и так очевидно), но и значение свойства какого-либо объекта (например, индекс цвета фона в определенной ячейке), текущее значение какой-либо переменной (если Вы их используете в программе) либо результат вычисления какого-то выражения (например, математического). Кроме того, в нем помимо просмотра можно выполнить и другие действия - например, изменить значение переменной.
Главное - знать, как пользоваться этим инструментом, а область применения для него Вы сами позже увидите
Все поняла. Спасибо, Дмитрий!
Спасибо за продуманный набор примеров в Ваших видеоуроках! Нравится разумное соотношение теории и практики, а также доходчивое изложение
Спасибо, Александр.
"будут только тормозить всю группу"
Уважаемый Дмитрий!
Я (преподаватель со стажем) Вас очень понимаю и благодарен за корректность определения "тех, кто не смог", а мотивы тому могут быть самые разные, начиная с рассогласования темпа обучения с темпом реалий. Поэтому снимите с регистрации меня, как участника тренинга. Думаю не только для меня представляет интерес возможность выпасть из режима он-лайн в режим офф-лайн. Было бы хорошо иметь возможность отслеживать тренинг.
Во всяком случае, примите и от меня полный респект и почтение, не столько за "шару", сколько за ненавязчивый бесценный преподавательский талант.
Всех благ!
Ф.Зыков
Доброе утро, Феликс Никанорович.
Большое спасибо за высокую оценку моей работа - это особенно лестно слышать от уважаемого и опытного специалиста в области обучения.
По поводу прохождения тренинга в офф-лайн режиме - надо будет подумать, что можно сделать.
Большое спасибо за тренинги... считала что знаю Excel как свои пять пальцев... да не тут то было!!!! согласна с Феликсом Никаноровичем - у вас бесценный преподавательский талант!!!
Благодарю, Ирина.
Здравствуйте, Дмитрий!
Просмотрел ваши видеоуроки. Присоединяюсь ко всем положительным отзывам о них. Не нашел информации о стоимости предлагаемых в январе тренингов, их формате и времени проведения (кроме, "Будут недолгие, но регулярные вечерние он-лайн трансляции, домашние задания, ответы на вопросы...". Прошу пояснить.
С уважением!
Доброе утро, Аскар. Спасибо.
По поводу предстоящего тренинга: все подробности будут чуть позже - описание и программа тренинга готовятся. Следите за новостями.
Добрый день, Дмитрий.
Почему у меня в связанной ячейке данные показываются в виде цифр, а не текста? И нет строчки "свойства" в раскрывающемся списке. Изменяю диапазон, ставлю цифры, а они никак не отражаются в списке, и в связанной ячейке все равно стоит порядковый номер списка.Что-то я упустила?
Добрый день, Imava.
Пришлите файл на почту - посмотрю. Заочно сложно определить причину.
Посмотрел Ваш файл - у Вас так получается потому, что Вы в своем файле использовали не тот элемент "выпадающий список". В видеоролике показано, что в Excel 2007 имеется два набора элементов управления, в каждом из которых есть элемент "выпадающий списк". У каждого из них свой набор свойств, свои плюсы и минусы (собственно, поэтому и предоставляется возможность выбора из двух групп).
Я в своем примере использовал элемент из группы "Элементы ActiveX" (см. видеоролик, начиная с 4:34), а у Вас - из группы "Элементы управления формы". Этим и объясняются все отличия в Вашем примере.
Большое спасибо, все классно и доступно. Веду агитационную работу среди друзей - отзывы +++++++++++
Огромное спасибо Дмитрий за доступно изложенные уроки, такая понятная теория и практика пригодится, еще раз спасибо!
Здравствуйте, Дмитрий!Скажите, возможно ли знак "приблизительно", с написанного макроса на него, заменить на функцию, если да, то как это сделать?
Добрый день, Lana.
Не понял Ваш вопрос. Что за "знак "приблизительно"? Где его нужно заменить на функцию и на какую?
я разрабатываю в данный момент макет в excele,в нужной мне ячейке появляются знаки(кодовые символы в соответствии со шрифтом), которые обозначают повышение, понижение или отсутствие изменений(как раз которое я обозначаю знаком "приблизительно". Данная операция записана с помощью макроса. Могу ли я записать ее с помощью функции, которая также выводила бы знак "приблизительно"?
Если я Вас правильно понимаю, Вы можете добиться этого эффекта с помощью стандратной функции Excel "ЕСЛИ". В первом ее аргументе указываете то условие, при выполнении которого должен выводиться знак "~" (тильда), во втором - сам этот знак, ну а в третьем - то, что будет выводиться в обратном случае.
Дело в том, что тот знак, который Вы указали не "приблизительно", нужна еще одна черточка внизу. Также мне необходимо, чтобы данный знак закрашивался.Проблема в том, что я не могу найти этот знак в соответствии со шрифтом, чтобы указать код в формуле.
Пришлите файл с Вашим макросом - посмотрю, как сделано сейчас. Тогда, может, смогу что-то посоветовать.
Отправила.Дмитрий, а когда будет 9 урок?
Посмотрел Ваш файл.
1. Если разрабатываете шаблон в Excel и есть работающий макрос, то и присылать нужно не один только текст макроса (да еще в файле MS Word), а весь файл, чтобы можно было посмотреть, как она работает на конкретных данных. А вырванный из контекста фрагмент ни о чем не говорит.
2. Судя по коду макроса, в данный момент все построено на использовании OLE-объектов типа "картинка": если в определенном диапазоне выполняется определенное условие, то в определенный объект подставляется картинка. Что это за объекты, что за картинки - без самого листа с данными понять нельзя.
3. Т.к. макрос оперирует картинками, то на картинке может быть изображено что угодно - хоть "двойная тильда", хоть лопата, хоть самолет. А вот в наборе символов того или иного шрифта этих символов имеется лишь ограниченное число.
Символ "приблизительно" содержится в наборе символов шрифта "Symbol" - №187 в наборе (это можно узнать, найдя его в таблице символов, вызываемой из меню Вставить-Символ). При этом в строке формул он будет выглядеть как закрывающие угловые кавычки.
Решение предлагаю такое: формула в ячейке будет выглядеть как-то так: =ЕСЛИ(A1=1;"»";"") (вместо "A1=1" условие ставите свое). А шрифт в этой ячейке устанавливаете "Symbol". Тогда при выполнении условия отображаться будет двойная тильда.
Здравствуйте Дмитрий, я посмотрел все Ваши видео-уроки, хотя точнее будет сказать я уже начал по новой пересматривать все Ваши уроки! смотреть пока, что намного легче чем самому делать))) но мне очень нравится! С нетерпением жду тренинга!!!
Дмитрий, дальше!!!
Здравствуйте Дмитрий! Завтра приступаю к повторению и закреплению пройденного материала по 8-ми видео-урокам, чтобы более качественно подготовиться не к предстоящему тренингу ( желающих , как стало известно, уже предостаточно), а к последующему (если таковой предполагается). Хорошо бы было опубликовать предварительные задания, по результатам выполнения которых каждым участником будет решаться вопрос о целесообразности его включения в группу тренинга.
Дмитрий, я как и раньше не разочарована в Ваших уроках, а даже наоборот. Мне очень нравится, очень быстро у меня не получается по причине занятости, но интерес от этого не пропадает. И для меня важно знать о размере материальной компенсации за Ваш Труд. Благодарю. Людмила
Спасибо за Ваш труд, который очень помогает облегчить мой.
Добрый день, Дмитрий! Спасибо огромное за Ваши уроки, готов продолжать дальше...
Доброго дня и хорошего настроения! Вы занимаетесь отличный делом, обучая нас! Огромное спасибо за Ваши уроки!
Дмитрий, добрый день!
Вы на 25:58 минуте нажимаете F5 и после этого появляется у вас связь между таблицей и диаграммой. Но у меня ничего не происходит. Помогите.
Который день повторяю эти упражнения, но нет результата. ЖДУ ПОМОЩИ
Добрый день, Анатолий.
Пришлите файл на почту - посмотрю, что в нем не так.
Добрый день, Дмитрий!
В моем вопросе о 25-й минуте речь идет о вашем примере 8-го урока. Поэтому вы сами можете посмотреть этот момент. Помогите.
Я на днях сформулирую свою постановку задачи для разбор.
С уважением Анатолий
Еще раз добрый вечер, Дмитрий!
К моему большому удивлению - диаграмма начала реагировать и все получается. УРААА!
Теперь мои задачи к тренингу - отправлено в письме...
Спасибо за ваши уроки, очень полезно, но некоторые элементы можно реализовать в сводных таблица excel 2010 без макросов, спасибо еще раз за ваш ликбез !
Урок 8 - это прекрасно!!! Это почти "ЕВЕРЕСТ" всего курса. А Если аналогичным образом рассмотреть примеры Фильтрации "НОМЕРА телефона" и "ВЫДЕЛЕНИЕ СТРОК PRICE-листа" - это практически ЦЕЛЬ курса.
Спасибо за урок!!!
И снова куча новых для меня "моментов"!!! До чего ж понятно всё! Дима! Вы талант!!
Очень познавательная штука. Спасибо,Дмитрий.
Для чего в 20.50 протягивать месяцы ?
в них нет никакой надобности для гистаграммы.
Для названий по оси ординат. У меня автоматом они не встали. И пришлось в коде добавлять свойство SeriesCollection(1).XValues
Долго не мог сообразить как же это свойство получить - названий ведь не знаю. Потом пошел по Вашему пути записал макрос,который меняет название ординат в графике. И там нашел этот пресловутый XValues. Очевидно для абсцисс будет YValues. Еще вопрос.Как служебные ячейки,в которых идут вычисления и пр. спрятать,кроме как накрыть их сверху чартом ?
Доброй ночи, Edward.
Месяцы - для того, чтобы увидеть подписи оси абсцисс.
"Потом пошел по Вашему пути записал макрос" - очень хороший путь, грех им не пользоваться
"Как служебные ячейки,в которых идут вычисления и пр. спрятать,кроме как накрыть их сверху чартом?" - самое простое решение - просто скрыть строку/столбец целиком.
Большое спасибо за урок, но все же хотелось задать порос касательно кода B" & nrow & ":N" & nrow , не могли бы вы объяснить почему мы ставим амперсанты перед переменной? А если честно то полностью данный скрипт не могу разобраться...
Женя, знак амперсант выполняет функцию - присоединения. Простой пример: Cells(2,7)=WorkSheets("Лист1").Range("B" & x).Value. В ячейку 2,7 будут попадать значения из ячеек "Вx", где х- это переменная. Т.е. данные будут попадать из ячеек к примеру В1, В2, В3 ...
Спасибо Олег!!!
могут только зарегистрированные пользователи.
Ваше имя и тот e-mail, который был указан при регистрации)
В любой момент времени вы можете отказаться от получения сообщений.
Полезно, наглядно, понятно, существенно расширила свои знания благодаря данным урокам - спасибо, Дмитрий)
Добрый день, Анатолий.
Подробнее о создании программы для тестирования было рассказано в специальном платном мастер-классе "Создание программы по тестированию". Приобрести его можно по этой ссылке.
Что касается счетчика времени - в мастер-классе такого функционала не было, но позднее я доработал созданную в нем программу и добавил в нее такой счетчик - при приобретении мастер-класса я вместе с ним предоставлю и доработанную версию программы.
Спасибо! Классно. Где можно списать Вашу программу для шаблона? Счетчик времени на тестирование как вставить?
Здравствуйте. Подскажите, а можно ли сделать Q-код в таблице, но чтоб там было видно наименование упаковки, вес, дата прихода, наименование контрагента и тд. И при каждом изменении данных, автоматически делался Q-код?
Добрый день, Дмитрий. Я случайно увидела ваши видео в ютубе. Посмотрела и мне стало интересно изучить макросы. Перешла по ссылке и просмотрела часть бесплатных видео и мне очень понравилась ваша манера преподавать просто без лишних слов. Скажите, пожалуйста, а как сделать выпадающий...
Здравствуйте В видео "Автоматизация заполнения бланка документа (платежного поручения)" говориться, что можно скачать файлы с макросами, о которых идет речь. Не могу найти. Подскажите, пожалуйста,где скачать Файл?
Благодарю Вас хотя у меня оффис 97 все полчается
здравствуйте, Дмитрий... подскажите пожалуйста такой момент, для того, чтобы сделать макрос с фамилиями, я сделала перечень с фамилиями и суммами.. так вот у меня слово фамилия при сортировке улетает в самый низ))) то есть оно тоже сортируется... что не так в моей таблице?
Спасибо большое.Очень полезная информация
Замечательные уроки, большое спасибо автору. Все очень доходчиво, без лишних заморочек.