Форматирование отзыва в предыдущем месяце - PullRequest
0 голосов
/ 20 мая 2019

Я пытаюсь открыть файл с названием предыдущего месяца.Например, имя файла форматируется так: ИМЯ год Месяц.xlsx.В настоящее время я могу заставить его тянуть январь, однако текущий месяц май, поэтому мне нужен апрель.

Ниже у меня есть текущий код, который подтягивается только в январе.Мне нужно, чтобы месяц был в формате "мм".Я запустил код без FileMonth = Month(Date - 30), который дал мне номер предыдущего месяца, но в формате одной цифры, а не двузначной.(для апрельского файла он искал кодировку как 4 вместо 04).текущий код выполняет поиск января как 01. Как и в случае, если я опускаю -30, он будет указывать в мае как 05.

Dim Path As String
Dim FileYear As String
Dim FileMonth As String
FileYear = Year(Date - 30)
FileMonth = Format(Month(Date - 30), "mm")
Path = "C:\User\NAME " & FileYear & " " & FileMonth
Workbooks.Open (Path)

Единственная ошибка - извлечение неверного файла.

Ответы [ 2 ]

1 голос
/ 20 мая 2019

Использование:

FileMonth = Format((Date - 30), "mm")

Спасибо, Хафиз

1 голос
/ 20 мая 2019

Редакция: Спасибо Тони за голову! Код исправлен, чтобы отразить комментарии.

Использование:

FileMonth = Format(Format(DateAdd("m", -1, Date), "mm"), "00")

Проблема с использованием 30 дней состоит в том, что не во всех месяцах есть эта сумма

Вы могли бы упростить все:

Dim Path As String
Dim FileDate As String
FileDate = Format(DateAdd("m", -1, Date), "yyyy mm")
Path = "C:\User\NAME " & FileDate
Workbooks.Open (Path)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...