| Jak zablokować możliwość przeciągania pól do pola wierszy? |
|
Problem: Chciałbym aby w polu wierszy zawsze znajdowało się tylko jedno pole. Czy istnieje możliwość zablokowania dostępu do pola wierszy innym polom/kolumnom danych? Rozwiązanie: Jest to możliwe z poziomu VBA - trzeba zastosować właściwość DragToRow, która zwraca wartość logiczną TRUE lub FALSE. Przy próbie przeciagnięcia drugiego pola do pola wierszy wyświetli się poniższy monit. ![]() '--------------------------------------------------------------------------------------- ' Procedure : Worksheet_PivotTableUpdate ' Author : Mariusz Jankowski ' Purpose : Makro blokuje możliwość dodania do pola wierszy drugiego pola. '--------------------------------------------------------------------------------------- ' Private Sub Worksheet_PivotTableUpdate(ByVal Target As PivotTable) Dim x As Integer Dim RowField As PivotField Dim PF As PivotField For Each PF In Target.PivotFields PF.DragToRow = True Next x = Target.RowFields.Count If x = 1 Then Set RowField = Target.RowFields(1) For Each PF In Target.PivotFields If PF.Name <> RowField.Name Then PF.DragToRow = False Next End If End Sub |
|
| Zmieniony ( Wtorek, 22. Wrzesień 2009 21:34 ) |
