< návrat zpět

MS Excel


Téma: Zviditelnění více položek zadaných do filtru KT rss

Zaslal/a 6.10.2012 20:09

Můžete prosím poradit ohledně následujícího problému?
Je kontingenční tabulka a v jejím filtru je zvolena možnost Vybrat více položek. Na listě u filtru je pak napsáno (Více položek). Je možné snadno v českém Excelu 2010 na listě zobrazit seznam těchto vybraných položek? (Aby byly vidět při pouhém pohledu či se vytiskly.)Díky.

Zaslat odpověď >

#009780
avatar
tak jak jsi to popsal, tak reseni je zobrazit filtr a Print screen, ale to zrejme nemas na mysli.
Pokud bych se snazil domyslet co asi tak zadas, tak zafajfkovane polozky z filtru KT se daji nacist pomoci VBA procedury a tedy i nekam vypsat. Ale nevim, jestli toto je to co chcescitovat
#009781
avatar
Ano, přesně to myslím. Když neznám celý programátorský model Excelu, myslel jsem že mi
někdo znalý poradí "kousek kódu". Pokud to nejde
jednodušeji. Díky.citovat
#009782
avatar
Tak zkus nasledujici kod. Neznam strukturu Tveho listu s KT, tedy nevim kam to vypsat, takze provizorne jsem to udelal tak, aby to vypsalo zafiltrovane polozky na novy list. (Nebude problem to zobrazit jinde, az bude jasno kam).
Co ale asi budes muset upravit v kodu je volba spravneho indexu (cislo sloupce v DB, na ktery je nasazen filtr KT) anebo vypsat jeho nazev. Je to v kodu okomentovano, nemam strach, ze by ses na tomto zasekl.

Sub VypisFiltruPoleKT()

Dim i As Integer, j As Integer
Dim wsPiv As Worksheet, wsNew As Worksheet
Dim KT1 As PivotTable, KTpole As PivotField

Set wsPiv = ActiveSheet 'list s KT

'zjisti, jestli tam opravdu nejaka KT je
On Error Resume Next
'Kdyby na tom liste bylo vice KT, tak zkusmo indexem najdes tu spravnou
Set KT1 = wsPiv.PivotTables(1)

'pokud neni, hodi to chybu
If Err <> 0 Then
MsgBox "Na aktivnim liste neni zadna KT"
GoTo fiNito
End If
On Error GoTo 0

'pridej novy list, at vime kam vypsat filtrovane polozky
Set wsNew = Worksheets.Add
'zde je potreba urcit spravne pole KT, ktere nas zajima
' bud pomoci indexu: KT1.PivotFields(i), pricemz v zavorce je cislo sloupce z databaze
' anebo natvrdo, napr. KT1.PivotFields("Zakaznik")
Set KTpole = KT1.PivotFields(4)

wsNew.Cells(1, 1) = KTpole.Name
j = 1

For i = 1 To KTpole.PivotItems.Count
If KTpole.PivotItems(i).Visible = True Then
j = j + 1
wsNew.Cells(j, 1) = KTpole.PivotItems(i)
End If
Next i

fiNito:
On Error GoTo 0

End Sub
citovat

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