Určení oblasti zdrojových dat pro kont. tab (ve visual basic

Místo pro dotazy a rady ohledně programovacích jazyků (C++, C#, PHP, ASP, Javascript, VBS..) a tvorby webových stránek

Moderátor: Mods_senior

icewind
nováček
Příspěvky: 8
Registrován: červen 09
Pohlaví: Muž
Stav:
Offline

Určení oblasti zdrojových dat pro kont. tab (ve visual basic

Příspěvekod icewind » 02 čer 2009 14:32

ahoj,
mám zde fragment makra pro tvorbu kontingenční tabulky ve Visual Basic v Excelu. Potřebuji zaktualizovat oblast vstupních dat pro kont. tab. a potřebuji to zautomatizovat. Mám pocit, že oblast dat musí být ve formátu R1C1, ale nějak se mi to nedaří, dokážete mi někdo poradit (viz níže - problém v SourceData:=c)? Děkuji velice

Sub HOP_NŽ_ks_rizik()

Dim a, b, c As Variant


Sheets("vstupní data - systém").Activate
Range("a1", "i1").Select
Range(Selection, Selection.End(xlDown)).Select
a = Selection.Address
b = Sheets("vstupní data - systém").Name
c = "'" & b & "'" & "!" & a

ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:=c).CreatePivotTable TableDestination:= _
"'[HOP 04_2009.xls]HOP_NŽ_ks_rizik'!R3C1", TableName:= _
"Kontingenční tabulka 7", DefaultVersion:=xlPivotTableVersion10

Reklama
navstevnik
Level 4
Level 4
Příspěvky: 1142
Registrován: srpen 08
Pohlaví: Nespecifikováno
Stav:
Offline

Re: Určení oblasti zdrojových dat pro kont. tab (ve visual basic

Příspěvekod navstevnik » 03 čer 2009 14:14

Cast kodu:

Kód: Vybrat vše

Dim c As String, Blok As Range
  Worksheets("vstupní data - systém").Activate
  With ActiveSheet
    Set Blok = .Range(.Range("a1"), .Range("i1").End(xlDown))
    c = .Name & "!" & Blok.Address
  End With

Je to mozne pripadne jeste zjednodusit:

Kód: Vybrat vše

Dim c As String, Blok As Range
  With Worksheets("vstupní data - systém")
    Set Blok = .Range(.Range("a1"), .Range("i1").End(xlDown))
    c = .Name & "!" & Blok.Address
  End With

icewind
nováček
Příspěvky: 8
Registrován: červen 09
Pohlaví: Muž
Stav:
Offline

Re: Určení oblasti zdrojových dat pro kont. tab (ve visual basic

Příspěvekod icewind » 04 čer 2009 11:32

Děkuji za zaslané, ale pořád mi nefunguje odkaz na "c" při tvrobě kontingenční tabulky:

ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= :-( c :-( ).CreatePivotTable TableDestination:= _
"'[HOP 04_2009.xls]HOP_NŽ_ks_rizik'!R3C1", TableName:= _
"Kontingenční tabulka 7", DefaultVersion:=xlPivotTableVersion10

děkuji za jakoukoliv pomoc

navstevnik
Level 4
Level 4
Příspěvky: 1142
Registrován: srpen 08
Pohlaví: Nespecifikováno
Stav:
Offline

Re: Určení oblasti zdrojových dat pro kont. tab (ve visual basic

Příspěvekod navstevnik » 04 čer 2009 15:54

Neuvadis verzi Excelu ani cely kod pro vytvoreni kontingencni tabulky.
V Excelu 2000 nasledujici procedura je funkcni (zdroj je dva sloupce: Jm a Ks):

Kód: Vybrat vše

Option Explicit

Sub KonTab()
Dim c As String, Blok As Range
  With Worksheets("list1")
    Set Blok = .Range(.Range("a1"), .Range("b1").End(xlDown))
    c = .Name & "!" & Blok.Address
  End With
  ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
        c).CreatePivotTable TableDestination:=Worksheets("list3").Range("A1"), _
        TableName:="Kontingenční tabulka 1"
    ActiveSheet.PivotTables("Kontingenční tabulka 1").SmallGrid = False
    ActiveSheet.PivotTables("Kontingenční tabulka 1").AddFields RowFields:="Jm"
    ActiveSheet.PivotTables("Kontingenční tabulka 1").PivotFields("ks"). _
        Orientation = xlDataField
End Sub


  • Mohlo by vás zajímat
    Odpovědi
    Zobrazení
    Poslední příspěvek
  • Ikona napájení v oznamovací oblasti nejde zapnout Příloha(y)
    od Minapark » 17 pro 2024 20:48 » v Windows 11, 10, 8...
    6
    3963
    od petr22 Zobrazit poslední příspěvek
    09 led 2025 21:48
  • Visual studio 2022 Příloha(y)
    od Tondaaaa » 06 říj 2024 20:03 » v Vše ostatní (sw)
    3
    3356
    od faraon Zobrazit poslední příspěvek
    08 říj 2024 19:33

Zpět na “Programování a tvorba webu”

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 3 hosti