Вычисляемое поле в сводной таблице - VB

Узнай цену своей работы

Формулировка задачи:

Здравствуйте!
Создаю формулу с условием. Если в поле больше 30%, то пишет "Завышенный", иначе пусто. Но в результате пишет "#ЗНАЧ!"
Почему так? Как правильно написать?

Решение задачи: «Вычисляемое поле в сводной таблице»

textual
Листинг программы
Sub Макрос1()
    Const VivodVozvrati As String = "Вывод возвраты"
    Const VozvratiSummBezNDSOtOtr As String = "Процент возврата от отгрузки"
    Const VozvratZav As String = "Возврат завышенный"
   
    Dim PTCache As PivotCache
    Dim PT As PivotTable
    
    Cells(1, 1) = "Клиент"
    Cells(1, 2) = VozvratiSummBezNDSOtOtr
    
    For i = 1 To 10
        Cells(i + 1, 1) = "Клиент " & i
        Cells(i + 1, 2) = i / 10
    Next i
    Set PTCache = ThisWorkbook.PivotCaches.Create( _
        SourceType:=xlDatabase, _
        SourceData:=Range("A1:B11"))
    
    Set PT = ThisWorkbook.Sheets(1).PivotTables.Add( _
        PivotCache:=PTCache, _
        TableDestination:=Cells(1, 5), _
        TableName:="1")
   
    ActiveSheet.PivotTables(1).CalculatedFields.Add VivodVozvrati, _
          "= IF('" & VozvratiSummBezNDSOtOtr & "'>0.3," & """" & VozvratZav & """" & ","""")", True
            
    ActiveSheet.PivotTables("1").PivotFields("Клиент").Orientation = xlRowField
    ActiveSheet.PivotTables("1").PivotFields("Клиент").Position = 1
    ActiveSheet.PivotTables("1").AddDataField ActiveSheet.PivotTables("1"). _
        PivotFields("Процент возврата от отгрузки"), _
        "Сумма по полю Процент возврата от отгрузки", xlSum
    ActiveSheet.PivotTables("1").AddDataField ActiveSheet.PivotTables("1"). _
        PivotFields(VivodVozvrati), "Сумма по полю Вывод возвраты", xlSum
 
End Sub

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 3.692 из 5
Похожие ответы