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

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

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

ПС. Есть конечно обходной вариант - сместить активную ячейку за край сводной таблицы, а потом уже задать .SetSourceData - но такой вариант крайний, поскольку таблицы бывают разные и ерзанье видимой области экрана может напрягать пользователя.
VBA: прописать полный адрес для ряда (Series) в диаграмме
 
Цитата
anvg пишет:
Цитата
fullAdr = "'[" & "Книга1" & "]" & "Лист1" & "'!" & Range("$B$2:$G$2" ;) .Address
Что-то не совсем понятно .Adress - это от чего?
Если есть некоторая переменная Range, свойство которого  Address  вызывается, то
Код
 fullAdr = Workbooks("BookName").Worksheets("SheetName").Range("B2:G2").Address(External:=True)
 
Попробовал и так, но все равно, для ряда адрес нужным образом не присваивается.
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
 
Работает и то и другое. Простите чайника. Про такую форму декларации "dim a&" вообще не знал.
VBA: как обратиться к результату функции через Set
 
Я наверно недостаточно хорошо описал задачу. В реальности, функция представляет из себя довольно большой кусок кода, и процедура, которая ее вызывает, тоже довольно большая и вызывает функцию несколько раз. Смысл задачи в том, чтобы вытащить результат функции ОДИН раз в начале процедуры и далее использовать его внутри процедуры сколько угодно раз.
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)
 
Baklanoff, большое спасибо, все работает.
VBA: Как выделить диапазон ячеек по данным SeriesCollection(1)
 
Доброго дня!  
 
На листе есть диаграмма с одним рядом данных, например из диапазона =Лист1!$B$3:$D$3. Нужно программно выделить этот диапазон, получив его адрес из свойства диаграммы, точнее из свойства ряда SeriesCollection.  
Пробовал лобовые вариации на тему:  
   x = ActiveChart.SeriesCollection(1).Range  
   x.Select  
не прёт.  
Посоветуйте что-нибудь, плиз.
Страницы: 1
Наверх