У меня реальная проблема с интеграцией двух отдельных функций манипуляции с фигурами.
Этот псевдокод работает (я упустил некоторые функции для простоты).Он просматривает список имен объектов в столбце N, выбирает объект с таким именем, затем раскрашивает его.
Sub Macro1()
Dim shp As Shape
Dim clr As Range
Dim i As Integer
'
Range("R2").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Range("O2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
For i = 2 To 300
Set clr = Sheets("SheetName1").Range("O" & i)
Sheets("SheetName1").Shapes.Range(Array(Cells(i, 14))).Select
Selection.ShapeRange.Fill.ForeColor.RGB = RGB(1, 2, 3) 'RGB actually calculated - just go with it!
Next i
end sub
и ЭТОТ код работает;при этом выбирается имя группы для объектов в предыдущем цикле, а также объект заголовка и легенды, копируется и вставляется как объект изображения на другой вкладке:
sub Macro2()
Sheets("SheetName1").Shapes.Range(Array("WholeGroupItem")).Select
Application.CutCopyMode = False
Selection.Copy ' << ----
Sheets("Destination1").Select
Range("B7").Select
ActiveSheet.Pictures.Paste.Select
End Sub
Однако, когда я объединяю их вместеи запустить в одном макросе, я получаю сообщение об ошибке на этапе, помеченном ' << ----
отчет:
метод копирования класса groupobject не удалось
Это почти как проблемаотмена выбора последнего дочернего объекта и выбор (копирование) родительской группы.Я попытался добавить случайный range("A1").select
, но это не имеет никакого значения.
Есть идеи?