Я здесь для того, чтобы получить любой совет или мнение, так как я хочу просмотреть все файлы Excel в папке.Как вы можете видеть из прикрепленного изображения, мои файлы Excel отличаются как по типам файлов (.xls <> .xlsx), так и по именам файлов (особенно в 2018 году).Мне также нужно просмотреть циклы «Пересмотренные» или «пересмотренные» файлы, поскольку, возможно, в следующий раз будет пересмотрен любой файл.
И да, я также провел некоторые исследования по этому вопросу.Насколько я понимаю, мне нужно изменить все имена файлов в шаблон, прежде чем создавать VBA для цикла.Сначала я подумал о том, чтобы разложить все имена файлов и вернуть их в форму шаблона, но это звучит слишком идеалистично.Другой способ - использовать дату в каждом файле для обозначения имени книги, но я снова обнаружил, что эти даты имеют разные стили.Некоторые файлы помечают дату, используя строку, например «Январь 2012» или «Март 2014», а другие используют форму даты, например «19/08/2013».
Поэтому я был бы признателен, если бы кто-нибудь мог предложить мне;
- Как я могу работать с разными именами файлов (.xls и .xlsx) в одном и том же VBA?
- Как мне поступить с этими разными именами файлов (некоторые файлы имеют «пересмотренные» сзади; у некоторых нет «-» между «Минусами» и датой; а некоторые используют название месяца вместо номера)?Это какой-то шаблон, который я пропускаю?
Обратите внимание, что я всего лишь новичок в VBA, так что было бы здорово, если бы вы оставили свои ответы с объяснениями или любыми примерами.
Большое спасибо.
--------------------------------------------------------[РЕДАКТИРОВАТЬ]-------------------------------------------------------------------
Прежде всего, извините за мое плохое объяснение раньше.Я предоставил слишком мало информации, чтобы понять общую картину.Давайте начнем это снова.
Мои данные о потреблении стали, которые ежемесячно выдаются властями.Моя задача - собрать все эти данные (такие как производство, импорт, экспорт и потребление всех данных в каждой строке) и сгенерировать их в шаблон временных рядов (см. Прикрепленный экран Excel) ![xxx](https://i.stack.imgur.com/85Ne8.png)
Возможно, что эти данные будут пересматриваться в любое время, поэтому я решаю загружать все эти файлы каждый раз в каждом месяце (один файл в месяц).В дополнение к этому пересмотренному файлу, орган неожиданно переименует этот файл, например, из «Cons 201601.xlsx» в «Cons 201601 - updated.xlsx)».Это затрудняет мне работу над этим (см. Прилагаемую папку для справки).![enter image description here](https://i.stack.imgur.com/lzS6M.png)
Более того, похоже, что у этого органа есть проблема с именованием файлов, поскольку в прошлом у них был другой шаблон имени файла по сравнению с нынешним.Пример приведен в таблице ниже;
Cons 201701-Revised.xlsx
Cons 201710-Revised1.xlsx
Cons 201711.xlsx
Cons-200902.xls
Cons-201212_revise.xls
Cons-201401-revised.xls
Я упомянул имя файла выше, чтобы создать VBA для циклического просмотра этого файла, выбрать некоторый контент и вставить в другую книгу в хронологическом порядке.Это означает, что я не могу использовать «Loop while или Do while function» в моем VBA.Сначала я решил использовать две целочисленные переменные, обе из которых были установлены для годов и месяцев (например, For i = 2009 to 2018
и For j = 1 to 12
), чтобы создать систему имен файлов (например, filename = "Cons" & "-" & i & j
).Но, как я уже говорил ранее, авторитетные имена не позволили мне создать такой цикл.
Я также пытался использовать дату в ячейке B2 на рисунке 1, чтобыпометьте дату, чтобы создать цикл, который я уже объяснил ранее.Однако, опять же, орган власти не использовал один и тот же шаблон для указания даты и месяца.После того, как я проверил много файлов, это пример стиля даты в ячейке B2
January 2012 (string)
February 2009 (string)
Jan-16 (1/1/2016 date in custom format)
Учитывая приведенные выше ограничения, не могли бы вы, ребята, еще раз предложить мне любой возможный способ создания хронологического цикла, чтобыКак скопировать и вставить данные в другую рабочую книгу, чтобы сформировать набор данных временных рядов для каждого продукта?
Спасибо за вашу любезную помощь:)