Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/ресайз графика по ширине диапазон ячеек. - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » ресайз графика по ширине диапазон ячеек. (Макросы/Sub)
ресайз графика по ширине диапазон ячеек.
gruzdev_f Дата: Среда, 23.04.2014, 15:25 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
нашёл макрос который вписывает график по размеру в диапазон ячеек (макрос2)
макрос предлагает выбрать диапазон и потом вписывает туда график.

[vba]
Код
Sub макрос2()
   Dim objChart As ChartObject
   Dim myRange As Range
   With ActiveSheet
     ' Define the chart
      
     Set objChart = ActiveChart.Parent
    
     ' What range should chart cover
     Set myRange = Application.InputBox(Prompt:= _
         "Диапазон", _
         Title:="Select Chart Position", Type:=8)
         
     ' Resize the chart
     With objChart
         .Left = myRange.Left
         .Top = myRange.Top
         .Width = myRange.Width
         .Height = myRange.Height
     End With
   End With
Set myRange = Nothing
Exit Sub

End Sub
[/vba]

заменил диалог выбора диапазона на ActiveCell.Resize(, 2).Select
дабы график растягивался самостоятельно на две ячейки
[vba]
Код
Sub макрос1()
   Dim objChart As ChartObject
   Dim myRange As Range
   With ActiveSheet
     ' Define the chart
      
     Set objChart = ActiveChart.Parent
    
     ' What range should chart cover
     ActiveCell.Resize(, 2).Select 'расширяю выделенную ячейку вправо
     Set myRange = ActiveCell
         
     ' Resize the chart
     With objChart
         .Left = myRange.Left
         .Top = myRange.Top
         .Width = myRange.Width
         .Height = myRange.Height
     End With
   End With
Set myRange = Nothing
Exit Sub

End Sub
[/vba]
в результате макрос выделяет как и хотелось 2 ячейки, но график растягивает только на первую ячейку :(

в чём прикол?
К сообщению приложен файл: ___.xlsm (18.2 Kb)
 
Ответить
Сообщениенашёл макрос который вписывает график по размеру в диапазон ячеек (макрос2)
макрос предлагает выбрать диапазон и потом вписывает туда график.

[vba]
Код
Sub макрос2()
   Dim objChart As ChartObject
   Dim myRange As Range
   With ActiveSheet
     ' Define the chart
      
     Set objChart = ActiveChart.Parent
    
     ' What range should chart cover
     Set myRange = Application.InputBox(Prompt:= _
         "Диапазон", _
         Title:="Select Chart Position", Type:=8)
         
     ' Resize the chart
     With objChart
         .Left = myRange.Left
         .Top = myRange.Top
         .Width = myRange.Width
         .Height = myRange.Height
     End With
   End With
Set myRange = Nothing
Exit Sub

End Sub
[/vba]

заменил диалог выбора диапазона на ActiveCell.Resize(, 2).Select
дабы график растягивался самостоятельно на две ячейки
[vba]
Код
Sub макрос1()
   Dim objChart As ChartObject
   Dim myRange As Range
   With ActiveSheet
     ' Define the chart
      
     Set objChart = ActiveChart.Parent
    
     ' What range should chart cover
     ActiveCell.Resize(, 2).Select 'расширяю выделенную ячейку вправо
     Set myRange = ActiveCell
         
     ' Resize the chart
     With objChart
         .Left = myRange.Left
         .Top = myRange.Top
         .Width = myRange.Width
         .Height = myRange.Height
     End With
   End With
Set myRange = Nothing
Exit Sub

End Sub
[/vba]
в результате макрос выделяет как и хотелось 2 ячейки, но график растягивает только на первую ячейку :(

в чём прикол?

Автор - gruzdev_f
Дата добавления - 23.04.2014 в 15:25
alex1248 Дата: Среда, 23.04.2014, 19:01 | Сообщение № 2
Группа: Проверенные
Ранг: Обитатель
Сообщений: 384
Репутация: 71 ±
Замечаний: 0% ±

Excel 2007, 2010
Попробуйте так
[vba]
Код

Sub макрос1()
   Dim objChart As ChartObject
   Dim myRange As Range
   With ActiveSheet
     ' Define the chart
      
     Set objChart = ActiveChart.Parent
    
     ' What range should chart cover
     ActiveCell.Resize(, 2).Select 'расширяю выделенную ячейку вправо
     Set myRange = Selection
         
     ' Resize the chart
     With objChart
         .Left = myRange.Left
         .Top = myRange.Top
         .Width = myRange.Width
         .Height = myRange.Height
     End With
   End With
Set myRange = Nothing
Exit Sub

End Sub
[/vba]


skype alex12481632
Qiwi +79276708519
 
Ответить
СообщениеПопробуйте так
[vba]
Код

Sub макрос1()
   Dim objChart As ChartObject
   Dim myRange As Range
   With ActiveSheet
     ' Define the chart
      
     Set objChart = ActiveChart.Parent
    
     ' What range should chart cover
     ActiveCell.Resize(, 2).Select 'расширяю выделенную ячейку вправо
     Set myRange = Selection
         
     ' Resize the chart
     With objChart
         .Left = myRange.Left
         .Top = myRange.Top
         .Width = myRange.Width
         .Height = myRange.Height
     End With
   End With
Set myRange = Nothing
Exit Sub

End Sub
[/vba]

Автор - alex1248
Дата добавления - 23.04.2014 в 19:01
gruzdev_f Дата: Четверг, 08.05.2014, 09:34 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
да, так работает, спасибо.
заодно разобрался почему не работало с активцелл, надо вначале сделать ActiveCell.Activate

но есть другая странная проблема

график перестал помещаться в левый верхний угол ячейки
при отладке построчной вижу что график таки смещается и меняет размеры но лишь приблизительно

встаёт рядом с нужной ячейкой и размеры почти такие как у ячейки.
если изменять размеры ячейки то видно что график привязан к границам, при изменении ячейки график тоже меняет размер
но по прежнему сдвинут в бок.
К сообщению приложен файл: 6229670.xls (60.5 Kb) · 0999588.jpg (13.4 Kb)


Сообщение отредактировал gruzdev_f - Четверг, 08.05.2014, 09:46
 
Ответить
Сообщениеда, так работает, спасибо.
заодно разобрался почему не работало с активцелл, надо вначале сделать ActiveCell.Activate

но есть другая странная проблема

график перестал помещаться в левый верхний угол ячейки
при отладке построчной вижу что график таки смещается и меняет размеры но лишь приблизительно

встаёт рядом с нужной ячейкой и размеры почти такие как у ячейки.
если изменять размеры ячейки то видно что график привязан к границам, при изменении ячейки график тоже меняет размер
но по прежнему сдвинут в бок.

Автор - gruzdev_f
Дата добавления - 08.05.2014 в 09:34
Мир MS Excel » Вопросы и решения » Вопросы по VBA » ресайз графика по ширине диапазон ячеек. (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!