Есть цикл, который пытается подставить в базу (аналитический Куб) сегодняшнюю дату и выгрузить на нее определенные данные. Если сегодняшней даты в Кубе нет, то он должен подставлять сегодняшнюю дату -1, если и ее нет, то еще -1 и т.д. до первого успеха.
Как выглядит (записывается) команда в начале цикла Do While (или Do until), чтоб он выполнял цикл, пока операция подстановки не даст НЕ ошибку?
Что-то типа Do while not iserror [операция кода] Loop
Вариант выше не работает. У самого знания матчасти недостаточно чтоб корректно написать.
Текст кода ниже. Все кроме "Do while Not IsError" работает.
Как выглядит (записывается) команда в начале цикла Do While (или Do until), чтоб он выполнял цикл, пока операция подстановки не даст НЕ ошибку?
Что-то типа Do while not iserror [операция кода] Loop
Вариант выше не работает. У самого знания матчасти недостаточно чтоб корректно написать.
Текст кода ниже. Все кроме "Do while Not IsError" работает.
Код |
---|
Sub Macron1() Dim i As Long Dim segodnya, Dt As Date Dim DtText As String Dim Pvt As Object Set Pvt = ThisWorkbook.Worksheets(1).PivotTables("СводнаяТаблица1") segodnya = Format(Now, "YYYY-MM-DD") i = 0 Do While Not IsError Dt = Format(segodnya - i, "YYYY-MM-DD") DtText = Dt On Error Resume Next Pvt.PivotFields( _ "[Дата отчета].[Дата отчета].[Дата отчета]").VisibleItemsList = Array( _ "[Дата отчета].[Дата отчета].&[" & DtText & "T00:00:00]") i = i + 1 Loop End Sub |