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

Страницы: 1
Группировка графических объектов в Excel 2007
 
Необходимо на листе сгруппировать графические объекты - диаграмма, фигура, картинка и элементы управления (кнопки). В версиях 2010 и выше с этим нет никаких проблем, а вот в Excel 2007 с этим затык - элементы управления добавляться к группе отказываются, метод Group в VB вызывает ошибку. Кто сталкивался, как это обойти?
VBA. Как создать обычную (не сводную) диаграмму на сводной таблице?, Необходимо программно создать обычную диаграмму на сводной таблице.
 
Добрый день!

Необходимо программно создать диаграмму при условии, что в момент выполнения макроса выделена ячейка (или диапазон) на сводной диаграмме. Сложность в том, что Excel распознает активную ячейку, находящуюся в зоне сводной таблицы и автоматически создает СВОДНУЮ диаграмму. Но создать надо именно простую диаграмму. Возможно есть какие-то дополнительные свойства или атрибуты при выполнении ChartObjects.Add, но кроме как размера диаграммы я там ничего не вижу. В общем, если есть идеи как с этим "бороться", поделитесь пожалуйста.

ПС. Есть конечно обходной вариант - сместить активную ячейку за край сводной таблицы, а потом уже задать .SetSourceData - но такой вариант крайний, поскольку таблицы бывают разные и ерзанье видимой области экрана может напрягать пользователя.
VBA: прописать полный адрес для ряда (Series) в диаграмме
 
Добрый день!
Есть необходимость задать полный адрес для ряда диаграммы с помощью макроса. Адрес должен быть полным, потому, что ссылаться будет на другую книгу. Есть такой вариант:

Код
Sub chartseries()
Dim fullAdr As String, cho As ChartObject, ch As Chart, sc As Series

   fullAdr = "'[" & "Книга1" & "]" & "Лист1" & "'!" & Range("$B$2:$G$2" ;) .Address
   MsgBox fullAdr
   Set cho = ActiveSheet.ChartObjects("Диаграмма 2" ;) 
   Set ch = cho.Chart
   Set sc = ch.SeriesCollection(1)
   sc.Values = Range(fullAdr)
   MsgBox sc.Formula
End Sub

В первом случае бокс показывает правильный адрес, но далее он присваивается неверно, что следует из второго бокса и проверки в самой диаграмме. Кстати, если прогнать макрос разом (F5) и построчно (F  8)  , второй бокс выдаст разный результат, и оба раза мимо(т.е. неполный адрес). Почему так?

PS. файл прилепил.
Изменено: Karabas - 29.03.2013 10:44:59
VBA: как обратиться к результату функции через Set
 
Добрый день!  
 
Необходимо в процедуру вытащить результат функции (Function) и зафиксировать используя оператор Set или как-нибудь иначе?  
Например, в данном случае test1 вытащит результат, а test2 даст ошибку. Общий смысл в том чтобы избежать многократного обращения к функции внутри процедуры. Помогите плиз.  
 
Function CountCellsInSelection() As Integer  
Dim sr As Range  
Dim ncells As Integer  
If TypeName(Selection) <> "Range" Then  
ncells = 0  
Else  
Set sr = Range(Selection, Selection)  
ncells = sr.Cells.Count  
End If  
CountCellsInSelection = ncells  
End Function  
 
Sub test1 ()  
MsgBox CountCellsInSelection  
End Sub  
 
Sub test2 ()  
Set X = CountCellsInSelection  
MsgBox X  
End Sub
VBA: Как выделить диапазон ячеек по данным SeriesCollection(1)
 
Доброго дня!  
 
На листе есть диаграмма с одним рядом данных, например из диапазона =Лист1!$B$3:$D$3. Нужно программно выделить этот диапазон, получив его адрес из свойства диаграммы, точнее из свойства ряда SeriesCollection.  
Пробовал лобовые вариации на тему:  
   x = ActiveChart.SeriesCollection(1).Range  
   x.Select  
не прёт.  
Посоветуйте что-нибудь, плиз.
Страницы: 1
Наверх