Добрый день, хотел автоматизировать перемещение графика, его уменьшение или увеличение, но, видимо, такая функция в VBA не прокатывает... Макрос заваливается.л
Добрый день, хотел автоматизировать перемещение графика, его уменьшение или увеличение, но, видимо, такая функция в VBA не прокатывает... Макрос заваливается.лant6729
Команда постоянно перенумеровывала диаграммы на единицу выше при каждом запуске. Потом логично не могла применяться к новому номеру. Надо закрывать, открывать документы. Тогда получится.
А хотелось бы, чтобы например, тягала диаграмму, которая выделяется пользователем, а не под данным номером. Хотя и без этого ок. Всем спасибо.
Всё...догнал...
Команда постоянно перенумеровывала диаграммы на единицу выше при каждом запуске. Потом логично не могла применяться к новому номеру. Надо закрывать, открывать документы. Тогда получится.
А хотелось бы, чтобы например, тягала диаграмму, которая выделяется пользователем, а не под данным номером. Хотя и без этого ок. Всем спасибо.ant6729
Да, активировать активированную диаграмму тоже не надо [vba]
Код
Sub Макрос30() Dim n$ n = ActiveChart.Name n = Right(n, Len(n) - InStr(1, n, " ")) ActiveSheet.Shapes(n).IncrementLeft 264.75 ActiveSheet.Shapes(n).IncrementTop 36.75 ActiveSheet.Shapes(n).ScaleWidth 0.7334468219, msoFalse, _ msoScaleFromBottomRight ActiveSheet.Shapes(n).ScaleHeight 0.6794364021, msoFalse, _ msoScaleFromTopLeft ActiveSheet.Shapes(n).IncrementLeft 2.25 ActiveSheet.Shapes(n).IncrementTop -69.75 Range("G18").Select End Sub
[/vba] а лучше так: [vba]
Код
Sub Ìмакрос() Dim n$ n = ActiveChart.Name n = Right(n, Len(n) - InStr(1, n, " ")) With ActiveSheet.Shapes(n) .IncrementLeft 264.75 .IncrementTop 36.75 .ScaleWidth 0.7334468219, msoFalse, msoScaleFromBottomRight .ScaleHeight 0.6794364021, msoFalse, msoScaleFromTopLeft .IncrementLeft 2.25 .IncrementTop -69.75 End With Range("G18").Select End Sub
[/vba]
Да, активировать активированную диаграмму тоже не надо [vba]
Код
Sub Макрос30() Dim n$ n = ActiveChart.Name n = Right(n, Len(n) - InStr(1, n, " ")) ActiveSheet.Shapes(n).IncrementLeft 264.75 ActiveSheet.Shapes(n).IncrementTop 36.75 ActiveSheet.Shapes(n).ScaleWidth 0.7334468219, msoFalse, _ msoScaleFromBottomRight ActiveSheet.Shapes(n).ScaleHeight 0.6794364021, msoFalse, _ msoScaleFromTopLeft ActiveSheet.Shapes(n).IncrementLeft 2.25 ActiveSheet.Shapes(n).IncrementTop -69.75 Range("G18").Select End Sub
[/vba] а лучше так: [vba]
Код
Sub Ìмакрос() Dim n$ n = ActiveChart.Name n = Right(n, Len(n) - InStr(1, n, " ")) With ActiveSheet.Shapes(n) .IncrementLeft 264.75 .IncrementTop 36.75 .ScaleWidth 0.7334468219, msoFalse, msoScaleFromBottomRight .ScaleHeight 0.6794364021, msoFalse, msoScaleFromTopLeft .IncrementLeft 2.25 .IncrementTop -69.75 End With Range("G18").Select End Sub