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

Вход

Регистрация

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

 

= Мир MS Excel/Макрос создания сводной диаграммы - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Макрос создания сводной диаграммы (Макросы/Sub)
Макрос создания сводной диаграммы
HoBU4OK Дата: Суббота, 17.10.2015, 22:04 | Сообщение № 1
Группа: Проверенные
Ранг: Обитатель
Сообщений: 309
Репутация: 14 ±
Замечаний: 0% ±

Excel 2010
Насколько возможно подредактируйте макрос, если он вообще работоспасобен

[vba]
Код
Sub Макрос2()
'
' Макрос2 Макрос
'
' Сочетание клавиш: Ctrl+Ж
'
    Range("A1").Select
    ActiveSheet.Paste
    Range("I1").Select
    ActiveCell.FormulaR1C1 = "Округл"
    Range("I2").Select
    ActiveCell.FormulaR1C1 = "=FLOOR(RC[-6],""0:15"")"
    Range("I2").Select
    Selection.AutoFill Destination:=Range("I2:I71847")
    Range("I2:I71847").Select
    Rows("2:2").Select
    ActiveWindow.FreezePanes = False
    ActiveWindow.FreezePanes = True
    Range("D7").Select
    Sheets.Add
'    ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
        "151015!R1C1:R71847C9", Version:=xlPivotTableVersion14).CreatePivotTable _
        TableDestination:="Лист1!R1C1", TableName:="СводнаяТаблица1", _
        DefaultVersion:=xlPivotTableVersion14
    Sheets("Лист1").Select
    Cells(1, 1).Select
    ActiveWorkbook.ShowPivotTableFieldList = True
    ActiveSheet.Shapes.AddChart.Select
    ActiveChart.ChartType = xlColumnClustered
    ActiveChart.SetSourceData Source:=Range("Лист1!$A$1:$C$18")
    ActiveSheet.Shapes("Диаграмма 1").IncrementLeft 192
    ActiveSheet.Shapes("Диаграмма 1").IncrementTop 15
    With ActiveSheet.PivotTables("СводнаяТаблица1").PivotFields("Округл")
        .Orientation = xlRowField
        .Position = 1
    End With
    With ActiveSheet.PivotTables("СводнаяТаблица1").PivotFields("Время")
        .Orientation = xlRowField
        .Position = 2
    End With
    With ActiveSheet.PivotTables("СводнаяТаблица1").PivotFields("Бумага")
        .Orientation = xlRowField
        .Position = 3
    End With
    ActiveSheet.PivotTables("СводнаяТаблица1").AddDataField ActiveSheet.PivotTables _
        ("СводнаяТаблица1").PivotFields("Цена"), "Сумма по полю Цена", xlSum
    With ActiveSheet.PivotTables("СводнаяТаблица1").PivotFields( _
        "Сумма по полю Цена")
        .Caption = "Среднее по полю Цена"
        .Function = xlAverage
    End With
    ActiveChart.ChartType = xlLine
    Range("E19").Select
    ActiveSheet.PivotTables("СводнаяТаблица1").PivotSelect "Округл[All]", _
        xlLabelOnly + xlFirstRow, True
    ActiveSheet.PivotTables("СводнаяТаблица1").PivotFields("Округл").ShowDetail = _
        False
    Range("B2:B41").Select
    Selection.FormatConditions.AddColorScale ColorScaleType:=3
    Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
    Selection.FormatConditions(1).ColorScaleCriteria(1).Type = _
        xlConditionValueLowestValue
    With Selection.FormatConditions(1).ColorScaleCriteria(1).FormatColor
        .Color = 7039480
        .TintAndShade = 0
    End With
    Selection.FormatConditions(1).ColorScaleCriteria(2).Type = _
        xlConditionValuePercentile
    Selection.FormatConditions(1).ColorScaleCriteria(2).Value = 50
    With Selection.FormatConditions(1).ColorScaleCriteria(2).FormatColor
        .Color = 8711167
        .TintAndShade = 0
    End With
    Selection.FormatConditions(1).ColorScaleCriteria(3).Type = _
        xlConditionValueHighestValue
    With Selection.FormatConditions(1).ColorScaleCriteria(3).FormatColor
        .Color = 8109667
        .TintAndShade = 0
    End With
    Selection.FormatConditions(1).ScopeType = xlSelectionScope
    ActiveSheet.ChartObjects( _
        "Диаграмма 1""""""""""""""""""""""""""""""""""""""""""""""""""""""""").Activate
    ActiveSheet.ChartObjects("Диаграмма 1").Activate
    ActiveSheet.Shapes("Диаграмма 1").IncrementLeft -96
    ActiveSheet.Shapes("Диаграмма 1").IncrementTop 9
    ActiveSheet.ChartObjects("Диаграмма 1").Activate
    ActiveSheet.Shapes("Диаграмма 1").ScaleWidth 1.4666666667, msoFalse, _
        msoScaleFromTopLeft
    ActiveSheet.Shapes("Диаграмма 1").ScaleHeight 2.875, msoFalse, _
        msoScaleFromTopLeft
    ActiveWindow.ScrollColumn = 7
    ActiveWindow.ScrollColumn = 6
    ActiveWindow.ScrollColumn = 5
    ActiveWindow.ScrollColumn = 4
    ActiveWindow.ScrollColumn = 3
    ActiveWindow.ScrollColumn = 2
    ActiveWindow.ScrollColumn = 1
    ActiveWorkbook.ShowPivotTableFieldList = False
    ActiveSheet.ChartObjects("Диаграмма 1").Activate
    ActiveSheet.ChartObjects("Диаграмма 1").Activate
    ActiveSheet.Shapes("Диаграмма 1").ScaleWidth 1.2727272727, msoFalse, _
        msoScaleFromTopLeft
    ActiveSheet.ChartObjects("Диаграмма 1").Activate
    ActiveChart.Legend.Select
    Selection.Left = 610.484
    Selection.Top = 561.571
    ActiveWindow.SmallScroll Down:=-21
    ActiveWorkbook.SlicerCaches.Add(ActiveSheet.PivotTables("СводнаяТаблица1"), _
        "Бумага").Slicers.Add ActiveSheet, , "Бумага", "Бумага", 204.75, 402, 144, _
        198.75
    ActiveSheet.Shapes.Range(Array("Бумага")).Select
    ActiveSheet.Shapes("Бумага").IncrementLeft 415.5
    ActiveSheet.Shapes("Бумага").IncrementTop -178.5
    ActiveChart.ChartArea.Select
    ActiveWorkbook.SlicerCaches.Add(ActiveSheet.PivotTables("СводнаяТаблица1"), _
        "Округл").Slicers.Add ActiveSheet, , "Округл", "Округл", 204.75, 402, 144, _
        198.75
    ActiveSheet.Shapes.Range(Array("Округл")).Select
    ActiveSheet.Shapes("Округл").IncrementLeft 415.5
    ActiveSheet.Shapes("Округл").IncrementTop 21
End Sub
[/vba]

название листов и русский текст неправильно переводит :(


Я думал, ты остроглазый лев, а ты слепая собака :-)

Сообщение отредактировал HoBU4OK - Суббота, 17.10.2015, 22:24
 
Ответить
СообщениеНасколько возможно подредактируйте макрос, если он вообще работоспасобен

[vba]
Код
Sub Макрос2()
'
' Макрос2 Макрос
'
' Сочетание клавиш: Ctrl+Ж
'
    Range("A1").Select
    ActiveSheet.Paste
    Range("I1").Select
    ActiveCell.FormulaR1C1 = "Округл"
    Range("I2").Select
    ActiveCell.FormulaR1C1 = "=FLOOR(RC[-6],""0:15"")"
    Range("I2").Select
    Selection.AutoFill Destination:=Range("I2:I71847")
    Range("I2:I71847").Select
    Rows("2:2").Select
    ActiveWindow.FreezePanes = False
    ActiveWindow.FreezePanes = True
    Range("D7").Select
    Sheets.Add
'    ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
        "151015!R1C1:R71847C9", Version:=xlPivotTableVersion14).CreatePivotTable _
        TableDestination:="Лист1!R1C1", TableName:="СводнаяТаблица1", _
        DefaultVersion:=xlPivotTableVersion14
    Sheets("Лист1").Select
    Cells(1, 1).Select
    ActiveWorkbook.ShowPivotTableFieldList = True
    ActiveSheet.Shapes.AddChart.Select
    ActiveChart.ChartType = xlColumnClustered
    ActiveChart.SetSourceData Source:=Range("Лист1!$A$1:$C$18")
    ActiveSheet.Shapes("Диаграмма 1").IncrementLeft 192
    ActiveSheet.Shapes("Диаграмма 1").IncrementTop 15
    With ActiveSheet.PivotTables("СводнаяТаблица1").PivotFields("Округл")
        .Orientation = xlRowField
        .Position = 1
    End With
    With ActiveSheet.PivotTables("СводнаяТаблица1").PivotFields("Время")
        .Orientation = xlRowField
        .Position = 2
    End With
    With ActiveSheet.PivotTables("СводнаяТаблица1").PivotFields("Бумага")
        .Orientation = xlRowField
        .Position = 3
    End With
    ActiveSheet.PivotTables("СводнаяТаблица1").AddDataField ActiveSheet.PivotTables _
        ("СводнаяТаблица1").PivotFields("Цена"), "Сумма по полю Цена", xlSum
    With ActiveSheet.PivotTables("СводнаяТаблица1").PivotFields( _
        "Сумма по полю Цена")
        .Caption = "Среднее по полю Цена"
        .Function = xlAverage
    End With
    ActiveChart.ChartType = xlLine
    Range("E19").Select
    ActiveSheet.PivotTables("СводнаяТаблица1").PivotSelect "Округл[All]", _
        xlLabelOnly + xlFirstRow, True
    ActiveSheet.PivotTables("СводнаяТаблица1").PivotFields("Округл").ShowDetail = _
        False
    Range("B2:B41").Select
    Selection.FormatConditions.AddColorScale ColorScaleType:=3
    Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
    Selection.FormatConditions(1).ColorScaleCriteria(1).Type = _
        xlConditionValueLowestValue
    With Selection.FormatConditions(1).ColorScaleCriteria(1).FormatColor
        .Color = 7039480
        .TintAndShade = 0
    End With
    Selection.FormatConditions(1).ColorScaleCriteria(2).Type = _
        xlConditionValuePercentile
    Selection.FormatConditions(1).ColorScaleCriteria(2).Value = 50
    With Selection.FormatConditions(1).ColorScaleCriteria(2).FormatColor
        .Color = 8711167
        .TintAndShade = 0
    End With
    Selection.FormatConditions(1).ColorScaleCriteria(3).Type = _
        xlConditionValueHighestValue
    With Selection.FormatConditions(1).ColorScaleCriteria(3).FormatColor
        .Color = 8109667
        .TintAndShade = 0
    End With
    Selection.FormatConditions(1).ScopeType = xlSelectionScope
    ActiveSheet.ChartObjects( _
        "Диаграмма 1""""""""""""""""""""""""""""""""""""""""""""""""""""""""").Activate
    ActiveSheet.ChartObjects("Диаграмма 1").Activate
    ActiveSheet.Shapes("Диаграмма 1").IncrementLeft -96
    ActiveSheet.Shapes("Диаграмма 1").IncrementTop 9
    ActiveSheet.ChartObjects("Диаграмма 1").Activate
    ActiveSheet.Shapes("Диаграмма 1").ScaleWidth 1.4666666667, msoFalse, _
        msoScaleFromTopLeft
    ActiveSheet.Shapes("Диаграмма 1").ScaleHeight 2.875, msoFalse, _
        msoScaleFromTopLeft
    ActiveWindow.ScrollColumn = 7
    ActiveWindow.ScrollColumn = 6
    ActiveWindow.ScrollColumn = 5
    ActiveWindow.ScrollColumn = 4
    ActiveWindow.ScrollColumn = 3
    ActiveWindow.ScrollColumn = 2
    ActiveWindow.ScrollColumn = 1
    ActiveWorkbook.ShowPivotTableFieldList = False
    ActiveSheet.ChartObjects("Диаграмма 1").Activate
    ActiveSheet.ChartObjects("Диаграмма 1").Activate
    ActiveSheet.Shapes("Диаграмма 1").ScaleWidth 1.2727272727, msoFalse, _
        msoScaleFromTopLeft
    ActiveSheet.ChartObjects("Диаграмма 1").Activate
    ActiveChart.Legend.Select
    Selection.Left = 610.484
    Selection.Top = 561.571
    ActiveWindow.SmallScroll Down:=-21
    ActiveWorkbook.SlicerCaches.Add(ActiveSheet.PivotTables("СводнаяТаблица1"), _
        "Бумага").Slicers.Add ActiveSheet, , "Бумага", "Бумага", 204.75, 402, 144, _
        198.75
    ActiveSheet.Shapes.Range(Array("Бумага")).Select
    ActiveSheet.Shapes("Бумага").IncrementLeft 415.5
    ActiveSheet.Shapes("Бумага").IncrementTop -178.5
    ActiveChart.ChartArea.Select
    ActiveWorkbook.SlicerCaches.Add(ActiveSheet.PivotTables("СводнаяТаблица1"), _
        "Округл").Slicers.Add ActiveSheet, , "Округл", "Округл", 204.75, 402, 144, _
        198.75
    ActiveSheet.Shapes.Range(Array("Округл")).Select
    ActiveSheet.Shapes("Округл").IncrementLeft 415.5
    ActiveSheet.Shapes("Округл").IncrementTop 21
End Sub
[/vba]

название листов и русский текст неправильно переводит :(

Автор - HoBU4OK
Дата добавления - 17.10.2015 в 22:04
МВТ Дата: Суббота, 17.10.2015, 22:11 | Сообщение № 2
Группа: Проверенные
Ранг: Обитатель
Сообщений: 476
Репутация: 137 ±
Замечаний: 0% ±

Excel 2007
Копируйте код при включенной русской раскладке клавиатуры, все будет вставляться правильно
 
Ответить
СообщениеКопируйте код при включенной русской раскладке клавиатуры, все будет вставляться правильно

Автор - МВТ
Дата добавления - 17.10.2015 в 22:11
HoBU4OK Дата: Суббота, 17.10.2015, 22:25 | Сообщение № 3
Группа: Проверенные
Ранг: Обитатель
Сообщений: 309
Репутация: 14 ±
Замечаний: 0% ±

Excel 2010
есть

от сюда - ошибка
[vba]
Код

ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
        "151015!R1C1:R71847C9", Version:=xlPivotTableVersion14).CreatePivotTable _
        TableDestination:="Лист1!R1C1", TableName:="СводнаяТаблица1", _
        DefaultVersion:=xlPivotTableVersion14
[/vba]


Я думал, ты остроглазый лев, а ты слепая собака :-)

Сообщение отредактировал HoBU4OK - Воскресенье, 18.10.2015, 11:17
 
Ответить
Сообщениеесть

от сюда - ошибка
[vba]
Код

ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
        "151015!R1C1:R71847C9", Version:=xlPivotTableVersion14).CreatePivotTable _
        TableDestination:="Лист1!R1C1", TableName:="СводнаяТаблица1", _
        DefaultVersion:=xlPivotTableVersion14
[/vba]

Автор - HoBU4OK
Дата добавления - 17.10.2015 в 22:25
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Макрос создания сводной диаграммы (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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