<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://www.vbex.ru/index.php?action=history&amp;feed=atom&amp;title=VBA%2FExcel%2FAccess%2FWord%2FExcel%2FPivotTable</id>
		<title>VBA/Excel/Access/Word/Excel/PivotTable - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://www.vbex.ru/index.php?action=history&amp;feed=atom&amp;title=VBA%2FExcel%2FAccess%2FWord%2FExcel%2FPivotTable"/>
		<link rel="alternate" type="text/html" href="http://www.vbex.ru/index.php?title=VBA/Excel/Access/Word/Excel/PivotTable&amp;action=history"/>
		<updated>2026-04-06T14:36:20Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://www.vbex.ru/index.php?title=VBA/Excel/Access/Word/Excel/PivotTable&amp;diff=1642&amp;oldid=prev</id>
		<title> в 16:33, 26 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://www.vbex.ru/index.php?title=VBA/Excel/Access/Word/Excel/PivotTable&amp;diff=1642&amp;oldid=prev"/>
				<updated>2010-05-26T16:33:00Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 16:33, 26 мая 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
			</entry>

	<entry>
		<id>http://www.vbex.ru/index.php?title=VBA/Excel/Access/Word/Excel/PivotTable&amp;diff=1643&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://www.vbex.ru/index.php?title=VBA/Excel/Access/Word/Excel/PivotTable&amp;diff=1643&amp;oldid=prev"/>
				<updated>2010-05-26T12:47:39Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==add calculated items to a field using the Add method of the CalculatedItems collection==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
     Sub AddCalculatedItem()&lt;br /&gt;
     With ActiveSheet.PivotTables(1).PivotFields(&amp;quot;Product&amp;quot;)&lt;br /&gt;
         .CalculatedItems.Add Name:=&amp;quot;Melons&amp;quot;, Formula:=&amp;quot;=Mangoes*1.5&amp;quot;&lt;br /&gt;
     End With&lt;br /&gt;
     End Sub&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Add data field to PivotTable==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
     Sub AddDataField()&lt;br /&gt;
         Dim pvt As PivotTable&lt;br /&gt;
         Set pvt = ActiveSheet.PivotTables(1)&lt;br /&gt;
         With pvt.PivotFields(&amp;quot;Revenue&amp;quot;)&lt;br /&gt;
             .Orientation = xlDataField&lt;br /&gt;
             .NumberFormat = &amp;quot;0&amp;quot;&lt;br /&gt;
         End With&lt;br /&gt;
         With pvt.DataFields(&amp;quot;Sum of NumberSold&amp;quot;)&lt;br /&gt;
             .Position = 2&lt;br /&gt;
             .Function = xlCount&lt;br /&gt;
             .NumberFormat = &amp;quot;0&amp;quot;&lt;br /&gt;
         End With&lt;br /&gt;
     End Sub&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==adds a PivotTable based on the data from an Access database==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
     Sub PivotTableDataViaADO()&lt;br /&gt;
         Dim con As ADODB.Connection&lt;br /&gt;
         Dim rs As ADODB.Recordset&lt;br /&gt;
         Dim sSQL As String&lt;br /&gt;
         Dim pvc As PivotCache&lt;br /&gt;
         Dim pvt As PivotTable&lt;br /&gt;
         Set con = New ADODB.Connection&lt;br /&gt;
         con.Open &amp;quot;Provider=Microsoft.ACE.OLEDB.12.0;&amp;quot; &amp;amp; _&lt;br /&gt;
                &amp;quot;Data Source=&amp;quot; &amp;amp; CurrentProject.Path &amp;amp; &amp;quot;SalesDB.accdb;&amp;quot;&lt;br /&gt;
         sSQL = &amp;quot;Select * From SalesData&amp;quot;&lt;br /&gt;
         Set rs = New ADODB.Recordset&lt;br /&gt;
         Set rs.ActiveConnection = con&lt;br /&gt;
         rs.Open sSQL&lt;br /&gt;
         Set pvc = ActiveWorkbook.PivotCaches.Add(SourceType:=xlExternal)&lt;br /&gt;
         Set pvc.Recordset = rs&lt;br /&gt;
         Worksheets.Add Before:=Sheets(1)&lt;br /&gt;
         Set pvt = ActiveSheet.PivotTables.Add(PivotCache:=pvc, _&lt;br /&gt;
                 TableDestination:=Range(&amp;quot;A1&amp;quot;))&lt;br /&gt;
         With pvt&lt;br /&gt;
             .NullString = &amp;quot;0&amp;quot;&lt;br /&gt;
             .SmallGrid = False&lt;br /&gt;
             .AddFields RowFields:=&amp;quot;State&amp;quot;, ColumnFields:=&amp;quot;Product&amp;quot;&lt;br /&gt;
             .PivotFields(&amp;quot;NumberSold&amp;quot;).Orientation = xlDataField&lt;br /&gt;
         End With&lt;br /&gt;
     End Sub&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Assign a value to the Orientation property of the PivotField object, as shown here:==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
     Sub AddFieldsToTable()&lt;br /&gt;
         With ActiveSheet.PivotTables(1)&lt;br /&gt;
             .AddFields RowFields:=&amp;quot;State&amp;quot;, AddToTable:=True&lt;br /&gt;
             .PivotFields(&amp;quot;Date&amp;quot;).Orientation = xlPageField&lt;br /&gt;
         End With&lt;br /&gt;
     End Sub&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Create Pivot Table From database==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Sub CreatePivotTableFromDB()&lt;br /&gt;
    Dim PTCache As PivotCache&lt;br /&gt;
    Dim PT As PivotTable&lt;br /&gt;
    &lt;br /&gt;
    Set PTCache = ActiveWorkbook.PivotCaches.Add (SourceType:=xlExternal)&lt;br /&gt;
    &lt;br /&gt;
    DBFile = ThisWorkbook.Path &amp;amp; &amp;quot;\budget.mdb&amp;quot;&lt;br /&gt;
    ConString = &amp;quot;ODBC;DSN=MS Access Database;DBQ=&amp;quot; &amp;amp; DBFile&lt;br /&gt;
    QueryString = &amp;quot;SELECT * FROM &amp;quot;&amp;quot; &amp;amp; ThisWorkbook.Path &amp;amp; &amp;quot;\BUDGET&amp;quot;.Budget Budget&amp;quot;&lt;br /&gt;
    &lt;br /&gt;
    With PTCache&lt;br /&gt;
        .Connection = ConString&lt;br /&gt;
        .rumandText = QueryString&lt;br /&gt;
    End With&lt;br /&gt;
    &lt;br /&gt;
    Worksheets.Add&lt;br /&gt;
    ActiveSheet.Name = &amp;quot;PivotSheet&amp;quot;&lt;br /&gt;
    Set PT = PTCache.CreatePivotTable(TableDestination:=Sheets(&amp;quot;PivotSheet&amp;quot;).Range(&amp;quot;A1&amp;quot;), TableName:=&amp;quot;BudgetPivot&amp;quot;)&lt;br /&gt;
    &lt;br /&gt;
    With PT&lt;br /&gt;
        .PivotFields(&amp;quot;DEPARTMENT&amp;quot;).Orientation = xlRowField&lt;br /&gt;
        .PivotFields(&amp;quot;MONTH&amp;quot;).Orientation = xlColumnField&lt;br /&gt;
        .PivotFields(&amp;quot;DIVISION&amp;quot;).Orientation = xlPageField&lt;br /&gt;
        .PivotFields(&amp;quot;ACTUAL&amp;quot;).Orientation = xlDataField&lt;br /&gt;
    End With&lt;br /&gt;
End Sub&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Creating a PivotTable Report==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
     Sub CreatePivotTable()&lt;br /&gt;
         Dim myWorksheet As Worksheet&lt;br /&gt;
         Dim pvc As PivotCache&lt;br /&gt;
         Dim pvt As PivotTable&lt;br /&gt;
         Set myWorksheet = Worksheets.add&lt;br /&gt;
         Set pvc = ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:=Sheet1.ListObjects(&amp;quot;Table1&amp;quot;).range)&lt;br /&gt;
         Set pvt = pvc.CreatePivotTable(TableDestination:=myWorksheet.range(&amp;quot;A3&amp;quot;), _&lt;br /&gt;
                                      DefaultVersion:=xlPivotTableVersion12)&lt;br /&gt;
         With pvt&lt;br /&gt;
             With .PivotFields(&amp;quot;Customer&amp;quot;)&lt;br /&gt;
                 .Orientation = xlRowField&lt;br /&gt;
                 .Position = 1&lt;br /&gt;
             End With&lt;br /&gt;
             With .PivotFields(&amp;quot;Product&amp;quot;)&lt;br /&gt;
                 .Orientation = xlColumnField&lt;br /&gt;
                 .Position = 1&lt;br /&gt;
             End With&lt;br /&gt;
             .AddDataField .PivotFields(&amp;quot;NumberSold&amp;quot;), &amp;quot;Sum of NumberSold&amp;quot;, xlSum&lt;br /&gt;
         End With&lt;br /&gt;
     End Sub&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Modifying Pivot Tables==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Private Sub OptionButton1_Click()&lt;br /&gt;
    Application.ScreenUpdating = False&lt;br /&gt;
    With ActiveSheet.PivotTables(1).PivotFields(&amp;quot;Month&amp;quot;)&lt;br /&gt;
        .PivotItems(&amp;quot;Jan&amp;quot;).Visible = True&lt;br /&gt;
        .PivotItems(&amp;quot;Q4&amp;quot;).Visible = False&lt;br /&gt;
    End With&lt;br /&gt;
End Sub&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==PivotTables Collection==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
     Sub AddTable()&lt;br /&gt;
         Dim pvc As PivotCache&lt;br /&gt;
         Dim pvt As PivotTable&lt;br /&gt;
         Set pvc = ActiveWorkbook.PivotCaches(1)&lt;br /&gt;
         Set pvt = ActiveSheet.PivotTables.Add(PivotCache:=pvc,                  TableDestination:=Range(&amp;quot;A3&amp;quot;))&lt;br /&gt;
     End Sub&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Redefines the layout of the fields in the existing Table, apart from the data field==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
     Sub RedefinePivotTable()&lt;br /&gt;
         Dim pvt As PivotTable&lt;br /&gt;
         Set pvt = ActiveSheet.PivotTables(1)&lt;br /&gt;
         pvt.AddFields RowFields:=Array(&amp;quot;Product&amp;quot;, &amp;quot;Customer&amp;quot;), _&lt;br /&gt;
                      ColumnFields:=&amp;quot;State&amp;quot;, _&lt;br /&gt;
                      PageFields:=&amp;quot;Date&amp;quot;&lt;br /&gt;
     End Sub&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==remove the CalculatedItem by deleting it from either the CalculatedItems collection or the PivotItems collection of the PivotField:==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Sub DeleteCalculatedItem()&lt;br /&gt;
     With ActiveSheet.PivotTables(1).PivotFields(&amp;quot;Product&amp;quot;)&lt;br /&gt;
         .PivotItems(&amp;quot;Melons&amp;quot;).Delete&lt;br /&gt;
     End With&lt;br /&gt;
End Sub&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Visible Property==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
     Sub CompareMonths()&lt;br /&gt;
         Dim pvt As PivotTable&lt;br /&gt;
         Dim pvi As PivotItem&lt;br /&gt;
         Dim sMonth As String&lt;br /&gt;
         sMonth = &amp;quot;Jan&amp;quot;&lt;br /&gt;
         Set pvt = ActiveSheet.PivotTables(1)&lt;br /&gt;
         For Each pvi In pvt.PivotFields(&amp;quot;Years&amp;quot;).PivotItems&lt;br /&gt;
         If pvi.Name &amp;lt;&amp;gt; &amp;quot;2006&amp;quot; And pvi.Name &amp;lt;&amp;gt; &amp;quot;2007&amp;quot; Then&lt;br /&gt;
           pvi.Visible = False&lt;br /&gt;
         End If&lt;br /&gt;
         Next pvi&lt;br /&gt;
         pvt.PivotFields(&amp;quot;Date&amp;quot;).PivotItems(sMonth).Visible = True&lt;br /&gt;
         For Each pvi In pvt.PivotFields(&amp;quot;Date&amp;quot;).PivotItems&lt;br /&gt;
             If pvi.Name &amp;lt;&amp;gt; sMonth Then pvi.Visible = False&lt;br /&gt;
         Next pvi&lt;br /&gt;
     End Sub&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>