|
Компьютерный форум OSzone.net » Сфера Microsoft » Microsoft Office (Word, Excel, Outlook и т.д.) » 2007 - [решено] excel 2007 |
|
2007 - [решено] excel 2007
|
Новый участник Сообщения: 1 |
Профиль | Отправить PM | Цитировать Всем привет. У меня проблема следующего характера. Может поможет кто сможет.
Есть книга в Excel 2007. На листе 1 есть таблица, на листе 2 есть таблица и т.д. Структура этих таблиц одинакова, разные только данные. Помогите с макросом, который строит диаграммы по данным таблицы, которая расположена на на своем листе. |
|
Отправлено: 13:01, 19-11-2011 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать cergeech, действуйте примерно так:
1. Запишите макрос, строящий диаграмму по данным первого рабочего листа на первом же листе, макрорекордером. 2. В полученном макросе поправьте в коде все ссылки на первый рабочий лист так, чтобы они ссылались на активный рабочий лист. 3. Выделите нужный рабочий лист, запустите макрос на исполнение. Например, я записал макрорекордером построение гистограммы по данным первого рабочего листа. Получился примерно такой код: Option Explicit Sub Макрос1() Range("A1:B7").Select Charts.Add ActiveChart.ChartType = xlColumnClustered ActiveChart.SetSourceData Source:=Sheets("Лист1").Range("A1:B7"), PlotBy:= _ xlColumns ActiveChart.Location Where:=xlLocationAsObject, Name:="Лист1" With ActiveChart .HasTitle = False .Axes(xlCategory, xlPrimary).HasTitle = False .Axes(xlValue, xlPrimary).HasTitle = False End With End Sub Option Explicit Sub Макрос1() Dim objWorksheet As Worksheet Set objWorksheet = ActiveWorkbook.ActiveSheet Range("A1:B7").Select Charts.Add ActiveChart.ChartType = xlColumnClustered ActiveChart.SetSourceData Source:=objWorksheet.Range("A1:B7"), PlotBy:= _ xlColumns ActiveChart.Location Where:=xlLocationAsObject, Name:=objWorksheet.Name With ActiveChart .HasTitle = False .Axes(xlCategory, xlPrimary).HasTitle = False .Axes(xlValue, xlPrimary).HasTitle = False End With End Sub Я привёл пример, как можно наиболее простым способом получить автоматизацию повторяющихся действий при минимальных знаниях программирования на VBA и объектной модели Microsoft Excel. Более правильным подходом является корректировка полученного макроса в сторону его большей гибкости. Например, мы можем не помечать диапазон ячеек из макроса: а оставить пометку диапазона на откуп пользователю и просто использовать уже имеющееся выделение. |
Отправлено: 13:44, 19-11-2011 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
2007 - excel 2007 через коммандную строку | oren_yastreb | Microsoft Office (Word, Excel, Outlook и т.д.) | 9 | 03-10-2011 08:44 | |
2007 - Автоматическая сортировка в Excel 2007 | 81ruslan81 | Microsoft Office (Word, Excel, Outlook и т.д.) | 4 | 11-05-2011 17:58 | |
2007 - Текст в Excel 2007 | jazzanova | Microsoft Office (Word, Excel, Outlook и т.д.) | 5 | 12-04-2011 22:25 | |
2007 - Проблема с сохранением файлов в Excel 2007. | Shiroky | Microsoft Office (Word, Excel, Outlook и т.д.) | 2 | 20-10-2010 15:39 | |
2007 - [архив] Microsoft Excel 2007 | graverman | Microsoft Office (Word, Excel, Outlook и т.д.) | 100 | 12-12-2009 10:18 |
|