Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Игнорирование части названия файла при переборе всех файлов в папке
 
Попробую, спасибо)
Игнорирование части названия файла при переборе всех файлов в папке
 
Может быть проще задать пару переменных mm и yy и при запуске макроса выбрасывать текстбокс с запросом месяца и года в соответствующем формате, чтобы эти переменные в виде & mm & yy & сами подставлялись в код?

Просто не хочется городить огород, хочется отделаться простым незамысловатым кодом, в котором потом, если что, смогут разобраться коллеги)
Игнорирование части названия файла при переборе всех файлов в папке
 
Данная команда подставляет месяц и год на момент запуска макроса, а не месяц и год, которыми датирован обрабатываемый файл.

Как-то всё сложно.. Неужели в VBA нет простой 1-2строчной команды, позволяющей игнорировать часть названия файла?)
Игнорирование части названия файла при переборе всех файлов в папке
 
Ну и раз уж такое дело, как сделать так, чтобы макрос не спотыкался, если файл с каким-то конкретными именем отсутствует?

Допустим, если не нашёл файл, кончающийся на ADY, выдаёт ошибку.
Хотелось бы, чтобы просто пропускал и выполнял действия по следующей книге
Игнорирование части названия файла при переборе всех файлов в папке
 
Из кода по ссылке как раз вытаскивал часть для выбора папки, в которой лежат обрабатываемые файлы.
"ABC_" & "????" & "_xyz.xls" не прокатило

Код следующий:
fnam = Array("ADY", "ARH", "BEL", "BRY", "CHE", "EVE", "EVR", "IZH", "KAM", "KEM", "KIR", "KLG", "KLN", "KOM", "KOS", "KRA", "KUR", "LIP", "MGD", "MUR", "NEN", "NIN", "NOV", "NSK", "OMS", "ORL", "PSK", "PZV", "ROS", "RYZ", "SAH", "SMO", "SPB", "TAM", "TOM", "TUL", "TVE", "VLA", "VOL", "VRN" ;)

Dim sFolder As String
With Application.FileDialog(msoFileDialogFolderPicker)
If .Show = False Then Exit Sub
sFolder = .SelectedItems(1)
End With

For Each fnam In fnames

Workbooks.Open Filename:=sFolder & "\" & "ABC(неизменная часть)_0213_" & xyz(он же fnam) & ".xls", UpdateLinks:=False

..и дальше пошло-поехало, из открытой книги данные выгружаются в одну общую.

Если не трогать 0213, всё работает идеально, но тогда чтобы выудить файлы другого месяца, придётся лезть в код и перебивать везде дату.

В конце каждого цикла обработанная книга закрывается:
Workbooks("ABC_0213_" & xyz & ".xls" ;) .Close , False

Как внедрить IF Left(file.Name, 3)="ABC" не понял, объясните пожалуйста или возможно есть вариант ещё проще?
Изменено: Shizostereo - 28.05.2013 16:18:34
Игнорирование части названия файла при переборе всех файлов в папке
 
Макрос перебирает в предварительно выбранной папке все файлы с названиями приблизительно следующего характера:

ABC_0213_xyz.xls

Часть ABC неизменна для всех файлов, часть 0213 - месяц и год заполнения соответствующего файла, xyz - набор сокращений, заданный заранее.

При 0213 заданном вручную макрос работает на ура, но необходимо сделать так, чтобы макрос обрабатывал файлы с любыми значениями даты.

Задать все даты ручками можно, но наверняка это не оптимальный ход.

Пробовал вставлять звёздочку "ABC_" & "*" & "_"... Не прокатило.

Подскажите пожалуйста, как это можно реализовать?

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

Заранее благодарю за подсказку)
Задание диапазона данных для формулы в макросе
 
Дано:
Столбец числовых данных, кол-во строк переменно (диапазон А2:An)

Задача:
В ячейке номер n+1 столбца А посчитать промежуточный итог для диапазона А2:An.
.Formula = "=SUBTOTAL(109,$А$2:???)"

Спасибо
Копирование фрагментов названий обработанных книг
 
Постараюсь описать задачу максимально кратко:

Дано:
N книг с типовыми таблицами, кол-во столбцов неизменно, кол-во строк рандомно от 0 до n.
Названия исходных книг имеют вид Workbook_ABC.xls, где "Workbook_" неизменно для всех книг, ABC уникально для каждой книги (но состоит из 3 латинских символов).

Цикл копипастит таблицы из каждой книги в одну, таким образом получается одна длинная таблица в одной единственной книге, столбец А пуст и выделен под фрагмент "ABC" каждой книги, дабы можно было отфильтровать искомые строки по идентификатору из названия книги источника.

Задача:
В каждом цикле после(можно и до, важен только результат) копирования таблицы из книги источника в каждую строку столбца А проставить фрагмент названия книги источника "ABC" (не объединяя все строки столбца А, соответствующие таблице из "ABC", в одну).

Реально? :)
Страницы: 1
Наверх