< návrat zpět

MS Excel


Téma: Makro na kontingenční tabulku rss

Zaslal/a 20.4.2017 11:05

Dobrý den,

prosím Vás o pomoc s makrem na tvorbu kontingenční tabulky. Mám tento jednoduchý kód:

ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
"Zdroj!R10C1:R50000C10", Version:=xlPivotTableVersion14).CreatePivotTable _
TableDestination:="List13!R3C1", TableName:="Kontingenční tabulka 1", _
DefaultVersion:=xlPivotTableVersion14

Problém je, že makro vybere data pouze v dané oblasti. Bohužel při tvorbě kontingenčky se mně mění počet řádků, ze kterých se má vytvořit. Potřeboval bych prosím upravit makro tak, aby mně připravilo kontingenčku vždy ze všech dat.

Děkuji Vám za pomoc!

Alda

Zaslat odpověď >

#036125
MePExG
Zdrojové údaje dajte do tabuľky a tú (jej meno) použite pre tvorbu kt.citovat
#043049
avatar
Sub Fronta_oper()
'
' Trvání operací dle zakázek
'

'Dodat cyklus na načtení počtu řádků !!!!
Application.ScreenUpdating = False
Sheets("Data").Visible = True
Sheets("Data").Select
Application.ScreenUpdating = False

For m = 2 To 100000
bunka = "G" & m

If Range(bunka) = "" Then
Exit For
End If

Next m
m = m - 1

Sheets("Data").Visible = False
Sheets.Add
Name = Application.ActiveWorkbook.ActiveSheet.Name


Sheets(Name).Select
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
"Data!R1C1:R" & m & "C96", Version:=xlPivotTableVersion14).CreatePivotTable _
TableDestination:=Name + "!R3C1", TableName:="Kontingenční tabulka 2", _
DefaultVersion:=xlPivotTableVersion14
'Sheets(Name).Select
Cells(3, 1).Select

'Pole hodnot k nastavení řádky: *Požadovaný termín. Dodání položky VZ,Evidenční číslo zakázky, Mzdový lístek

With ActiveSheet.PivotTables("Kontingenční tabulka 2").PivotFields( _
"*Požadovaný termín")
.Orientation = xlRowField
.Position = 1
End With

With ActiveSheet.PivotTables("Kontingenční tabulka 2").PivotFields("Dodání položky VZ")
.Orientation = xlRowField
.Position = 2
End With

With ActiveSheet.PivotTables("Kontingenční tabulka 2").PivotFields("Výrobní příkaz")
.Orientation = xlRowField
.Position = 3
End With

With ActiveSheet.PivotTables("Kontingenční tabulka 2").PivotFields("Mzdový lístek")
.Orientation = xlRowField
.Position = 4
End With

' Pole hodnot k nastavení sloupce : Kód operace
With ActiveSheet.PivotTables("Kontingenční tabulka 2").PivotFields("Kód operace")
.Orientation = xlColumnField
.Position = 1
End With

' Pole hodnot k nastavení : Čas celkem
ActiveSheet.PivotTables("Kontingenční tabulka 2").AddDataField ActiveSheet. _
PivotTables("Kontingenční tabulka 2").PivotFields("Čas celkem"), _
"Součet z Trvání operace", xlSum
'With ActiveSheet.PivotTables("Kontingenční tabulka 1").PivotFields( _
' "Trvání")
' .Caption = "Součet z Trvání"
' .Function = xlSum
'End With

With ActiveSheet.PivotTables("Kontingenční tabulka 2").PivotFields( _
"*Požadovaný termín")
.Orientation = xlPageField
.Position = 1
End With
With ActiveSheet.PivotTables("Kontingenční tabulka 2").PivotFields( _
"Stav mzdového lístku")
.Orientation = xlPageField
.Position = 1
End With
'Centrování polí tabulky
'Range("A3:E17").Select
'With Selection
' .HorizontalAlignment = xlCenter
' .VerticalAlignment = xlBottom
' .WrapText = False
' .Orientation = 0
' .AddIndent = False
' .IndentLevel = -1
' .ShrinkToFit = False
' .ReadingOrder = xlContext
' .MergeCells = False
'End With
'Range("A1").Select

Range("B6").Select
ActiveWindow.FreezePanes = True



Application.ScreenUpdating = True
End Subcitovat

Uživatelské menu

Nejste přihlášen(a)
avatar\n

Menu

Formulář Faktura

Formulář Faktura IV

Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.

Helios iNuvio

Používáte podnikový systém Helios iNuvio? Potřebujete pomoci se správou nebo vyvinout SQL proceduru? Více informací naleznete na stránce Helios iNuvio.

On-line nástroje