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

Вход

Регистрация

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

 

= Мир MS Excel/цикл с помощью макроса - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
цикл с помощью макроса
Bandin Дата: Понедельник, 22.04.2013, 18:46 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 32
Репутация: 0 ±
Замечаний: 0% ±

Добрый день! Подскажите пожалуйста как построить такой же точно график с помощью макроса, для последующих пяти(серых) значений?
К сообщению приложен файл: _Microsoft_Exce.xlsm (19.9 Kb)
 
Ответить
СообщениеДобрый день! Подскажите пожалуйста как построить такой же точно график с помощью макроса, для последующих пяти(серых) значений?

Автор - Bandin
Дата добавления - 22.04.2013 в 18:46
Serge_007 Дата: Понедельник, 22.04.2013, 22:46 | Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
Макрорекордером:
[vba]
Код
Sub Макрос1()
     ActiveSheet.Shapes.AddChart.Select
     ActiveChart.ChartType = xlLineMarkers
     ActiveChart.SetSourceData Source:=Range("Лист1!$A$7:$B$11")
End Sub
[/vba]


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
СообщениеМакрорекордером:
[vba]
Код
Sub Макрос1()
     ActiveSheet.Shapes.AddChart.Select
     ActiveChart.ChartType = xlLineMarkers
     ActiveChart.SetSourceData Source:=Range("Лист1!$A$7:$B$11")
End Sub
[/vba]

Автор - Serge_007
Дата добавления - 22.04.2013 в 22:46
Bandin Дата: Вторник, 23.04.2013, 07:34 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 32
Репутация: 0 ±
Замечаний: 0% ±

Большое спасибо!
А как сделать так чтобы второй график под первым графиком появлялся, а не на нем..?
 
Ответить
СообщениеБольшое спасибо!
А как сделать так чтобы второй график под первым графиком появлялся, а не на нем..?

Автор - Bandin
Дата добавления - 23.04.2013 в 07:34
Serge_007 Дата: Вторник, 23.04.2013, 09:56 | Сообщение № 4
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
[vba]
Код
Sub Макрос3()
     ActiveSheet.Shapes.AddChart.Select
     ActiveChart.ChartType = xlLineMarkers
     ActiveChart.SetSourceData Source:=Range("Лист1!$A$7:$B$11")
     ActiveSheet.Shapes("Диаграмма" & Right(ActiveChart.Name, 2)).ZOrder msoSendToBack
End Sub
[/vba]

Добавлено (23.04.2013, 09:56)
---------------------------------------------
Так универсальнее:
[vba]

Код
Sub q()
Application.ScreenUpdating = False
  Dim objChart As Chart
  Set objChart = ActiveWorkbook.Charts.Add(, ActiveSheet)
   objChart.Name = "1"
   objChart.SetSourceData (Sheets("Лист1").Range("a7:b11"))
   objChart.ChartType = xlLineMarkers
   objChart.Location xlLocationAsObject, "Лист1"
  ActiveSheet.Shapes("Диаграмма 1").ZOrder msoSendToBack
Application.ScreenUpdating = True
End Sub
[/vba]


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
Сообщение[vba]
Код
Sub Макрос3()
     ActiveSheet.Shapes.AddChart.Select
     ActiveChart.ChartType = xlLineMarkers
     ActiveChart.SetSourceData Source:=Range("Лист1!$A$7:$B$11")
     ActiveSheet.Shapes("Диаграмма" & Right(ActiveChart.Name, 2)).ZOrder msoSendToBack
End Sub
[/vba]

Добавлено (23.04.2013, 09:56)
---------------------------------------------
Так универсальнее:
[vba]

Код
Sub q()
Application.ScreenUpdating = False
  Dim objChart As Chart
  Set objChart = ActiveWorkbook.Charts.Add(, ActiveSheet)
   objChart.Name = "1"
   objChart.SetSourceData (Sheets("Лист1").Range("a7:b11"))
   objChart.ChartType = xlLineMarkers
   objChart.Location xlLocationAsObject, "Лист1"
  ActiveSheet.Shapes("Диаграмма 1").ZOrder msoSendToBack
Application.ScreenUpdating = True
End Sub
[/vba]

Автор - Serge_007
Дата добавления - 23.04.2013 в 09:56
Матраскин Дата: Вторник, 23.04.2013, 12:21 | Сообщение № 5
Группа: Друзья
Ранг: Обитатель
Сообщений: 375
Репутация: 81 ±
Замечаний: 0% ±

20xx
Serge_007,
Цитата (Serge_007)
ActiveSheet.Shapes("Диаграмма" & Right(ActiveChart.Name, 2)).ZOrder msoSendToBack

какая-то опасная строчка.. в конце концов поломалась. Из-за имени диаграммы
Второй поломать не смог))


в интернете опять кто-то не прав
 
Ответить
СообщениеSerge_007,
Цитата (Serge_007)
ActiveSheet.Shapes("Диаграмма" & Right(ActiveChart.Name, 2)).ZOrder msoSendToBack

какая-то опасная строчка.. в конце концов поломалась. Из-за имени диаграммы
Второй поломать не смог))

Автор - Матраскин
Дата добавления - 23.04.2013 в 12:21
Serge_007 Дата: Вторник, 23.04.2013, 12:42 | Сообщение № 6
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
Цитата (Матраскин)
поломалась. Из-за имени диаграммы
Да, работает только 10 раз, потом надо добавлять пробел после "Диаграмма", что бы было так: "Диаграмма "


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
Сообщение
Цитата (Матраскин)
поломалась. Из-за имени диаграммы
Да, работает только 10 раз, потом надо добавлять пробел после "Диаграмма", что бы было так: "Диаграмма "

Автор - Serge_007
Дата добавления - 23.04.2013 в 12:42
Матраскин Дата: Вторник, 23.04.2013, 12:58 | Сообщение № 7
Группа: Друзья
Ранг: Обитатель
Сообщений: 375
Репутация: 81 ±
Замечаний: 0% ±

20xx
Serge_007, добавить цикл для пробела? happy
шуткаюмора..


в интернете опять кто-то не прав

Сообщение отредактировал Матраскин - Вторник, 23.04.2013, 12:59
 
Ответить
СообщениеSerge_007, добавить цикл для пробела? happy
шуткаюмора..

Автор - Матраскин
Дата добавления - 23.04.2013 в 12:58
Bandin Дата: Вторник, 23.04.2013, 15:13 | Сообщение № 8
Группа: Пользователи
Ранг: Новичок
Сообщений: 32
Репутация: 0 ±
Замечаний: 0% ±

все равно один график на другом строится..
 
Ответить
Сообщениевсе равно один график на другом строится..

Автор - Bandin
Дата добавления - 23.04.2013 в 15:13
Serge_007 Дата: Вторник, 23.04.2013, 15:17 | Сообщение № 9
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
Цитата (Bandin)
один график на другом строится
Правильно. Вы ведь просили
Цитата (Bandin)
чтобы второй график под первым графиком появлялся, а не на нем
Я сделал как Вы просили


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
Сообщение
Цитата (Bandin)
один график на другом строится
Правильно. Вы ведь просили
Цитата (Bandin)
чтобы второй график под первым графиком появлялся, а не на нем
Я сделал как Вы просили

Автор - Serge_007
Дата добавления - 23.04.2013 в 15:17
Матраскин Дата: Вторник, 23.04.2013, 15:18 | Сообщение № 10
Группа: Друзья
Ранг: Обитатель
Сообщений: 375
Репутация: 81 ±
Замечаний: 0% ±

20xx
Цитата (Bandin)
А как сделать так чтобы второй график под первым графиком появлялся, а не на нем..?

сделали по заказу)) ну это юмор... а вообще например [vba]
Код
Range("A1").Selecte
[/vba] эта ячейка будет верхним левым углом графика. делать перед построением графика естественно)


в интернете опять кто-то не прав
 
Ответить
Сообщение
Цитата (Bandin)
А как сделать так чтобы второй график под первым графиком появлялся, а не на нем..?

сделали по заказу)) ну это юмор... а вообще например [vba]
Код
Range("A1").Selecte
[/vba] эта ячейка будет верхним левым углом графика. делать перед построением графика естественно)

Автор - Матраскин
Дата добавления - 23.04.2013 в 15:18
Матраскин Дата: Вторник, 23.04.2013, 15:31 | Сообщение № 11
Группа: Друзья
Ранг: Обитатель
Сообщений: 375
Репутация: 81 ±
Замечаний: 0% ±

20xx
Ещё более клёво...можно узнавать размеры 1 диаграммы и на основании их строить аккуратно под ней вторую

[vba]
Код
iLeft = Worksheets(1).DrawingObjects(1).TopLeftCell.Address
iRight = Worksheets(1).DrawingObjects(1).BottomRightCell.Address
[/vba]

интуитивно понятно, iLeft левый край, iRight - правый happy


в интернете опять кто-то не прав

Сообщение отредактировал Матраскин - Вторник, 23.04.2013, 15:37
 
Ответить
СообщениеЕщё более клёво...можно узнавать размеры 1 диаграммы и на основании их строить аккуратно под ней вторую

[vba]
Код
iLeft = Worksheets(1).DrawingObjects(1).TopLeftCell.Address
iRight = Worksheets(1).DrawingObjects(1).BottomRightCell.Address
[/vba]

интуитивно понятно, iLeft левый край, iRight - правый happy

Автор - Матраскин
Дата добавления - 23.04.2013 в 15:31
Bandin Дата: Вторник, 23.04.2013, 16:33 | Сообщение № 12
Группа: Пользователи
Ранг: Новичок
Сообщений: 32
Репутация: 0 ±
Замечаний: 0% ±

[vba]
Код
Sub Макрос1()
ActiveSheet.Shapes.AddChart.Select
ActiveChart.ChartType = xlLineMarkers
Range("A1").Select
ActiveChart.SetSourceData Source:=Range("Лист1!$A$7:$B$11")
End Sub
[/vba]

не получается,куда бы не вставлял..
 
Ответить
Сообщение[vba]
Код
Sub Макрос1()
ActiveSheet.Shapes.AddChart.Select
ActiveChart.ChartType = xlLineMarkers
Range("A1").Select
ActiveChart.SetSourceData Source:=Range("Лист1!$A$7:$B$11")
End Sub
[/vba]

не получается,куда бы не вставлял..

Автор - Bandin
Дата добавления - 23.04.2013 в 16:33
Bandin Дата: Вторник, 23.04.2013, 16:41 | Сообщение № 13
Группа: Пользователи
Ранг: Новичок
Сообщений: 32
Репутация: 0 ±
Замечаний: 0% ±

Цитата (Serge_007)
один график на другом строится
Правильно. Вы ведь просили
Цитата (Bandin писал(а)):
чтобы второй график под первым графиком появлялся, а не на нем
Я сделал как Вы просили

да, Вы сделали именно так как я просил, большое спасибо!
я не точно выразился, да, нужно чтобы один график был под другим, но в плоскости
Цитата (Serge_007)

ЗЫ Зачем Вы цитируете макрос? И почему, если уж он Вам так нужен, не оформляете его тегами кода VBA?

до этого я пока не дошел


Сообщение отредактировал Bandin - Вторник, 23.04.2013, 16:49
 
Ответить
Сообщение
Цитата (Serge_007)
один график на другом строится
Правильно. Вы ведь просили
Цитата (Bandin писал(а)):
чтобы второй график под первым графиком появлялся, а не на нем
Я сделал как Вы просили

да, Вы сделали именно так как я просил, большое спасибо!
я не точно выразился, да, нужно чтобы один график был под другим, но в плоскости
Цитата (Serge_007)

ЗЫ Зачем Вы цитируете макрос? И почему, если уж он Вам так нужен, не оформляете его тегами кода VBA?

до этого я пока не дошел

Автор - Bandin
Дата добавления - 23.04.2013 в 16:41
Serge_007 Дата: Вторник, 23.04.2013, 16:42 | Сообщение № 14
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
Цитата (Bandin)
один был график под другим, но в плоскости
Это как?!

Цитата (Bandin)
до этого я пока не дошел
Очень плохо. Надо было с этого начинать. Читайте правила форума


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
Сообщение
Цитата (Bandin)
один был график под другим, но в плоскости
Это как?!

Цитата (Bandin)
до этого я пока не дошел
Очень плохо. Надо было с этого начинать. Читайте правила форума

Автор - Serge_007
Дата добавления - 23.04.2013 в 16:42
Bandin Дата: Вторник, 23.04.2013, 16:48 | Сообщение № 15
Группа: Пользователи
Ранг: Новичок
Сообщений: 32
Репутация: 0 ±
Замечаний: 0% ±

Цитата (Serge_007)
Это как?!

вот так, но когда я записываю это с помощью макроса, он мне ошибку потом выдает..
К сообщению приложен файл: 5407077.xlsm (19.2 Kb)
 
Ответить
Сообщение
Цитата (Serge_007)
Это как?!

вот так, но когда я записываю это с помощью макроса, он мне ошибку потом выдает..

Автор - Bandin
Дата добавления - 23.04.2013 в 16:48
Serge_007 Дата: Вторник, 23.04.2013, 17:12 | Сообщение № 16
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
Цитата (Bandin)
вот так
И где здесь один график под другим?!

[vba]
Код
Sub q()
Application.ScreenUpdating = False
Dim objChart As Chart
Dim sh As Worksheet
Set sh = ActiveWorkbook.ActiveSheet
Set objChart = ActiveWorkbook.Charts.Add(, ActiveSheet)
objChart.Name = "1"
objChart.SetSourceData (Sheets("Лист1").Range("a7:b11"))
objChart.ChartType = xlLineMarkers
objChart.Location Where:=xlLocationAsObject, Name:=sh.Name
sh.Shapes(2).Top = sh.Cells(16, 8).Top
'ActiveSheet.Shapes("Диаграмма 1").ZOrder msoSendToBack
Application.ScreenUpdating = True
End Sub
[/vba]


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
Сообщение
Цитата (Bandin)
вот так
И где здесь один график под другим?!

[vba]
Код
Sub q()
Application.ScreenUpdating = False
Dim objChart As Chart
Dim sh As Worksheet
Set sh = ActiveWorkbook.ActiveSheet
Set objChart = ActiveWorkbook.Charts.Add(, ActiveSheet)
objChart.Name = "1"
objChart.SetSourceData (Sheets("Лист1").Range("a7:b11"))
objChart.ChartType = xlLineMarkers
objChart.Location Where:=xlLocationAsObject, Name:=sh.Name
sh.Shapes(2).Top = sh.Cells(16, 8).Top
'ActiveSheet.Shapes("Диаграмма 1").ZOrder msoSendToBack
Application.ScreenUpdating = True
End Sub
[/vba]

Автор - Serge_007
Дата добавления - 23.04.2013 в 17:12
Bandin Дата: Среда, 24.04.2013, 18:49 | Сообщение № 17
Группа: Пользователи
Ранг: Новичок
Сообщений: 32
Репутация: 0 ±
Замечаний: 0% ±

О как раз то что нужно, больше спасибо!

ЗЫ: а по поводу тегов кода VBA можите что-нибудь посоветовать почитать?
 
Ответить
СообщениеО как раз то что нужно, больше спасибо!

ЗЫ: а по поводу тегов кода VBA можите что-нибудь посоветовать почитать?

Автор - Bandin
Дата добавления - 24.04.2013 в 18:49
Pelena Дата: Среда, 24.04.2013, 18:54 | Сообщение № 18
Группа: Админы
Ранг: Местный житель
Сообщений: 19403
Репутация: 4555 ±
Замечаний: ±

Excel 365 & Mac Excel
Цитата (Bandin)
по поводу тегов кода VBA можите что-нибудь посоветовать почитать?

Правила форума
Как оформлять сообщения


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
Сообщение
Цитата (Bandin)
по поводу тегов кода VBA можите что-нибудь посоветовать почитать?

Правила форума
Как оформлять сообщения

Автор - Pelena
Дата добавления - 24.04.2013 в 18:54
Bandin Дата: Среда, 24.04.2013, 20:40 | Сообщение № 19
Группа: Пользователи
Ранг: Новичок
Сообщений: 32
Репутация: 0 ±
Замечаний: 0% ±

Оу спасибо, возьму на заметку!))
 
Ответить
СообщениеОу спасибо, возьму на заметку!))

Автор - Bandin
Дата добавления - 24.04.2013 в 20:40
  • Страница 1 из 1
  • 1
Поиск:

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