Итак, имеем папку "П" расположенную по пути "D:\П" В этой папке куча Excel файлов (возможны подпапки - их не считаем - если не возможно, то удалю подпапки). Эти файлы отсортированы По имени По возрастанию. В каждом файле ячейка B1 содержит "А-5-В-NNN 25 ЛМ" или "NNN 25 ЛМ" (NNN - она обязательно содержит) Необходимо: Я открываю первый файл и запускаю макрос, а в ячейке B1 должна произойти замена NNN на порядковый номер файла (1 в нашем первом файле) На фото я привёл пример и там четвертый файл по порядку (имя ему 555555) и следовательно в нём NNN меняется на 4
П.С. И NNN я добавляю самостоятельно макросом прописываю - вместо NNN может быть любое значение, вплоть до пустоты - главное эту пустоту потом заменить на порядковый номер открытого для запуска файла. И чуть глубже (Лучше не читать) но, если вы захотите переименовать весь массив файлов в папке, то вместо B1 я нумерацию внесу в U1 - чтоб не произошло возможное удаление данных из возможно занятой ячейки B1
Итак, имеем папку "П" расположенную по пути "D:\П" В этой папке куча Excel файлов (возможны подпапки - их не считаем - если не возможно, то удалю подпапки). Эти файлы отсортированы По имени По возрастанию. В каждом файле ячейка B1 содержит "А-5-В-NNN 25 ЛМ" или "NNN 25 ЛМ" (NNN - она обязательно содержит) Необходимо: Я открываю первый файл и запускаю макрос, а в ячейке B1 должна произойти замена NNN на порядковый номер файла (1 в нашем первом файле) На фото я привёл пример и там четвертый файл по порядку (имя ему 555555) и следовательно в нём NNN меняется на 4
П.С. И NNN я добавляю самостоятельно макросом прописываю - вместо NNN может быть любое значение, вплоть до пустоты - главное эту пустоту потом заменить на порядковый номер открытого для запуска файла. И чуть глубже (Лучше не читать) но, если вы захотите переименовать весь массив файлов в папке, то вместо B1 я нумерацию внесу в U1 - чтоб не произошло возможное удаление данных из возможно занятой ячейки B1Yar4i
это к тому, что я сам назначаю ячейке символы NNN и это о том откуда они (NNN) взялись. Просто немного пояснил - надеюсь не запутал. Это продолжение ответа на вопрос из пятого поста этой темы. Т.е. Я запускаю макрос где первым пунктом идёт присвоения ячейке B1 текста "А-5-В-NNN 25 ЛМ" А далее нужно по коду изменить NNN на порядковый номер.
это к тому, что я сам назначаю ячейке символы NNN и это о том откуда они (NNN) взялись. Просто немного пояснил - надеюсь не запутал. Это продолжение ответа на вопрос из пятого поста этой темы. Т.е. Я запускаю макрос где первым пунктом идёт присвоения ячейке B1 текста "А-5-В-NNN 25 ЛМ" А далее нужно по коду изменить NNN на порядковый номер.Yar4i
Сообщение отредактировал Yar4i - Вторник, 05.09.2017, 13:01
Sub example_03() 'msoFileDialogFolderPicker Dim Fold As String, f As String Dim cnt As Long With Application.FileDialog(msoFileDialogFolderPicker) .Title = "Select the folder in which the files to be processed" .ButtonName = "Select": .AllowMultiSelect = False If .Show Then Fold = .SelectedItems(1) Else Exit Sub End With Application.ScreenUpdating = False
If Right(Fold, 1) <> "\" Then Fold = Fold & "\" f = Dir(Fold & "*.xls*", vbNormal) Do While f <> "" ' MsgBox f cnt = cnt + 1 With Workbooks.Open(Fold & f) With .Sheets(1) .Range("B1").Value = Replace(.Range("B1").Value, "NNN", cnt) End With .Close True End With f = Dir() Loop
Application.ScreenUpdating = True End Sub
[/vba]
Yar4i, попробуйте
[vba]
Код
Sub example_03() 'msoFileDialogFolderPicker Dim Fold As String, f As String Dim cnt As Long With Application.FileDialog(msoFileDialogFolderPicker) .Title = "Select the folder in which the files to be processed" .ButtonName = "Select": .AllowMultiSelect = False If .Show Then Fold = .SelectedItems(1) Else Exit Sub End With Application.ScreenUpdating = False
If Right(Fold, 1) <> "\" Then Fold = Fold & "\" f = Dir(Fold & "*.xls*", vbNormal) Do While f <> "" ' MsgBox f cnt = cnt + 1 With Workbooks.Open(Fold & f) With .Sheets(1) .Range("B1").Value = Replace(.Range("B1").Value, "NNN", cnt) End With .Close True End With f = Dir() Loop
Спасибо. Сразу не переименовывал, т.к. хотел в случае неудобств вернуться к первоначальному варианту с проставлением нумерации вручную. Да, и что-то я упёрся в эти NNN). Спасибо.
Спасибо. Сразу не переименовывал, т.к. хотел в случае неудобств вернуться к первоначальному варианту с проставлением нумерации вручную. Да, и что-то я упёрся в эти NNN). Спасибо.