Фильтрация между двумя датами в сводной таблице с использованием VBA. Формат даты в Великобритании и США

Я нашел обходной путь для этого, но если у кого-то есть более чистый способ сделать это, я был бы заинтересован / благодарен.

У меня есть два поля в электронной таблице, которые называются DateFrom и DateTo для использования с фильтром Date в сводной таблице. Оба в формате ДД / ММ / ГГГГ. Подача данных в таблицу также осуществляется в этом формате. Сводная таблица также возвращает даты в том же формате. Все мои настройки на английском языке в Великобритании, и я пробовал это на отдельной машине с теми же результатами.

Затем я использую следующий код для подачи в сводную таблицу:

ActiveSheet.PivotTables("Pivot").PivotFields("Date").PivotFilters. _
    Add Type:=xlDateBetween, Value1:=Range("DateFrom").Value, Value2:=Range("DateTo").Value

Код считывает две ячейки как строку, а затем применяет это к сводной таблице, как если бы они были в формате США (MM / DD / YYYY). Смешной!

Вот как я обошел это:

У меня было еще две ячейки, смотрящие на эти две ячейки в числовом формате, и вместо этого я нацелил код на эти две ячейки. Не уверен ни в одном из вас, но я бы изо всех сил пытался преобразовать любую дату в числовую в моей голове ...!

Если у вас есть упрощенное решение и / или объяснение этого полного безумия, я был бы очень признателен!

Ответы на вопрос(1)

Ваш ответ на вопрос