Εμφάνιση ενός μόνο μηνύματος
  #9  
Παλιά 01-03-14, 12:29
Το avatar του χρήστη Tasos
Tasos Ο χρήστης Tasos δεν είναι συνδεδεμένος
Διαχειριστής
Όνομα: Τάσος Φιλοξενιδης
Έκδοση λογισμικού Office: Ms-Office 365
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική, Γερμανική
 
Εγγραφή: 21-10-2009
Μηνύματα: 2.035
Προεπιλογή

Καλημέρα!

Ο κώδικας αναφέρεται στο πεδίο "'Έτη" δεν υπάρχει στη συλλογή "PivotFields" του συγκεντρωτικού πίνακα και φυσικά προκαλεί σφάλμα (συνήθως το 1004).

Όταν τρέξει για πρώτη φορά ο κώδικας αυτός, η εφαρμογή θα προσθέσει μεταξύ άλλων το πεδίο ομαδοποίησης για τα έτη με το αντίστοιχο όνομα που εξαρτάται από τη γλώσσα της εφαρμογής.

Αν λοιπόν η γλώσσα της εφαρμογής είναι αγγλική, το πεδίο ομαδοποίησης για τα έτη δεν θα ονομαστεί "Έτη" αλλά "Years".

Στο συνημμένο παράδειγμα που ακολουθεί έχουν ορισθεί 4 ονόματα σε εύρος φύλλου (όχι βιβλίου):
  1. Το όνομα : DateFrom (Β1 - Ημερομηνία από)
  2. Το όνομα : DateTo (Β2 - Ημερομηνία από)
  3. Το όνομα : GroupHeader (πεδίο Hm_Katathesis)
  4. Το όνομα: IsGrouped (το κελί C1 με το οποίο συνδέεται το κουμπί εναλλαγής ToggleGroupPivot)
Ο κώδικας που χρησιμοποιείται βρίσκεται στη λειτουργική μονάδα κλάσης του φύλου που φιλοξενεί τον συγκεντρωτικό πίνακα και τρέχει με το πάτημα του κουμπιού ToggleGroupPivot είναι ο ακόλουθος:
Κώδικας:
Option Explicit

Private Sub ToggleGroupPivot_Click()
    Dim pf As PivotField
    Dim pt As PivotTable
    Set pt = Me.PivotTables(1)
    Set pf = Me.Range("GroupHeader").Offset(, 1).PivotCell.PivotField
    Application.ScreenUpdating = False
    If Me.Range("GroupHeader").PivotCell.PivotField.TotalLevels > 1 Then
        Me.Range("GroupHeader").Ungroup
    End If
    If ToggleGroupPivot Then
        Me.Range("GroupHeader").Group _
                Start:=Me.Range("DateFrom").Value, _
                End:=Me.Range("DateTo").Value, _
                Periods:=Array(False, False, False, True, True, False, True)
        For Each pf In pt.PivotFields
            If pf.TotalLevels > 1 Then
                pf.PivotItems(1).Visible = False
                pf.PivotItems(pf.PivotItems.Count).Visible = False
            End If
        Next
    End If
End Sub
Φιλικά


Τάσος
Συνημμένα Αρχεία
Τύπος Αρχείου: xls GroupPivot.xls (698,0 KB, 41 εμφανίσεις)
__________________
Ms-Office Development Team
Ανάπτυξη επαγγελματικών εφαρμογών

Τελευταία επεξεργασία από το χρήστη Tasos : 02-03-14 στις 11:45.
Απάντηση με παράθεση