Использование функции Go To при построении сводных таблиц
Оператор GoTo в VBA используется точно также как и в ООО. Единственное, что сочетание GoTo пишется слитно и можно не использовать оператор Then, а сразу GoTo:
Sub CreatePivotTable()
ActiveWorkbook.Worksheets.Add after:=Worksheets("Sheet1")
Worksheets(2).Name = "Сводная"
oshipka = Worksheets("Sheet1").Range("A1").Value
If oshipka = "" Then GoTo Line
'Объявляем переменные
Dim objTable As PivotTable, objField As PivotField
'Выбираем лист и первую ячейку в нем по которому будет строиться сводная
ActiveWorkbook.Sheets("Sheet1").Select
Range("A1").Select
'Создаем сводную
Set objTable = ActiveWorkbook.Sheets("Sheet1").PivotTableWizard
'Определяем Поле строк и Поле столбцов
'Поле строк (по заголовку нужного столбца)
Set objField = objTable.PivotFields("Дата операции")
objField.Orientation = xlRowField
'Поле столбца (по заголовку нужного столбца)
Set objField = objTable.PivotFields("Название типа операции")
objField.Orientation = xlColumnField
'Определяем поле данных с нужной нам операцией, в данном случае с суммой
Set objField = objTable.PivotFields("Сумма документа")
objField.Orientation = xlDataField
objField.Function = xlSum
objField.NumberFormat = "0,00"
Line:
Worksheets("Сводная").Range("A1") = "Нет таких позиций"
End Sub
Sub CreatePivotTable()
ActiveWorkbook.Worksheets.Add after:=Worksheets("Sheet1")
Worksheets(2).Name = "Сводная"
oshipka = Worksheets("Sheet1").Range("A1").Value
If oshipka = "" Then GoTo Line
'Объявляем переменные
Dim objTable As PivotTable, objField As PivotField
'Выбираем лист и первую ячейку в нем по которому будет строиться сводная
ActiveWorkbook.Sheets("Sheet1").Select
Range("A1").Select
'Создаем сводную
Set objTable = ActiveWorkbook.Sheets("Sheet1").PivotTableWizard
'Определяем Поле строк и Поле столбцов
'Поле строк (по заголовку нужного столбца)
Set objField = objTable.PivotFields("Дата операции")
objField.Orientation = xlRowField
'Поле столбца (по заголовку нужного столбца)
Set objField = objTable.PivotFields("Название типа операции")
objField.Orientation = xlColumnField
'Определяем поле данных с нужной нам операцией, в данном случае с суммой
Set objField = objTable.PivotFields("Сумма документа")
objField.Orientation = xlDataField
objField.Function = xlSum
objField.NumberFormat = "0,00"
Line:
Worksheets("Сводная").Range("A1") = "Нет таких позиций"
End Sub
Комментарии
Отправить комментарий