Динамически применять фиксированное значение к вычисляемому полю в сводной таблице - PullRequest
0 голосов
/ 12 июня 2018

У меня есть следующая электронная таблица Excel:

enter image description here

В Столбец C вы можете увидеть sales из products в Колонка B столбце A вы можете найти соответствующий brand каждому из products в столбце B.

На основе этих данных я создал следующую сводную таблицу:

enter image description here


В моей сводной таблице я создал вычисляемое поле с именем sales per day со следующей формулой:

enter image description here

Это дает мне точный результат, который мне нужен, но, как вы можете видеть, я ввел количество дней (в данном случае 360) как фиксированное число в функции вычисляемого поля .

Однако я бы предпочел , а не , ввести этот номер в качестве фиксированной ставки и сделать его гибким в моей сводной таблице, чтобы пользователь изменил число в Ячейка F1 в database и он автоматически применяется к сводной таблице.

У вас есть идеи, как я могу решить эту проблему?
Есть ли вспомогательный столбец , который я мог бы использовать для него?

Извините за то, что только описания сводной таблицы доступны на немецком языке.

1 Ответ

0 голосов
/ 12 июня 2018

enter image description here

Поместите этот код в личный кодовый лист рабочего листа (щелкните правой кнопкой мыши, Просмотреть код), а не в публичный кодовый лист модуля.

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)

    If Target.Count > 1 Then Exit Sub

    If Target.Address = "$F$1" And CBool(Len(Target.Value2)) Then
        On Error GoTo safe_exit
        Application.EnableEvents = False
        If IsNumeric(Target.Value2) Then
Debug.Print Target.Address
            Me.PivotTables("PivotTable1"). _
               CalculatedFields("sales per day").StandardFormula = _
               "=sales/" & Target.Value2
        End If
    End If

safe_exit:
    Application.EnableEvents = True

End Sub

Возможно, вам придется настроить некоторые идентифицирующие имена.Теперь, когда вы вводите новое числовое значение в F1, вычисляемое поле «Продажи за день» в сводной таблице будет иметь новую формулу.

enter image description here

...