В настоящее время я работаю над набором кода для установки фильтра сводной таблицы на определенный диапазон дат. В приведенном ниже кодере диапазон дат составляет от 12/7/2015 по 12/22/2015. В данных имеются только даты 12/7,8,11,18. Код будет правильно отмечать эти элементы в файле, опуская и датированные до 12/7 по назначению, но каким-то образом он вытаскивает дату 12/21/2015, а затем дает мне ошибку времени выполнения в строке кода Bolded. В моих данных вообще нет 12/21/2015. Это также говорит о том, что pi.visible должен быть ложным, и я думаю, что здесь происходит ошибка, потому что нет 12/21/2015, чтобы он отображался как видимый или нет. Любой совет?Ошибка при запуске 1004 при сравнении значений элементов поворота
Dim ws As Worksheet, pt As PivotTable, pf As PivotField, pi As PivotItem
Dim dCurrentDate As Date, dPastDate As Date
dCurrentDate = Date
dPastDate = Date - 15
Set ws = Sheets("Sheet2")
Set pt = ws.PivotTables("PivotTable1")
Set pf = pt.PivotFields("Date")
With pf
.ClearAllFilters
For Each pi In pf.PivotItems
If pi.Value = "(blank)" Then
Else
If pi.Value <= dCurrentDate And pi.Value >= dPastDate Then
**pi.Visible = True**
Else
pi.Visible = False
End If
End If
Next
End With
'PivotTableOptions> Данные'. Убедитесь, что «Сохранять элементы, удаленные из источника данных»> «Количество элементов для сохранения в поле»: «установлено на ** Нет **. В противном случае кеш сохранит старые значения из прошлого, которые, возможно, были там сохранены, и проверит их в ваших значениях, даже если вы не видите их в своих данных. –
@ScottHoltzman - Большое спасибо. Это решило ошибку, с которой я столкнулся. – Emmerson