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

Страницы: 1
Часть названия файла в ячейку, Странно работает формула
 
Есть файлы со следующими названиями:

Report KF-01 December 21.xlsx
Report KF-01 December 22.xlsx
Report KF-01 December 23.xlsx
...
Report KF-01 December 24.xlsx
Report KF-01 December 25.xlsx

Неизменно только слово Report, месяца меняются, годы меняюся, KF-01 тоже меняется

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

Написал вот такое чудо техники:
=ЛЕВСИМВ(ПРАВСИМВ(ЛЕВСИМВ(ПСТР(ЯЧЕЙКА("имяфайла");ПОИСК("[";ЯЧЕЙКА("имяфайла"))+1;ПОИСК(".xls";ЯЧЕЙКА("имяфайла"))-ПОИСК("[";ЯЧЕЙКА("имяфайла"))-1);100);ДЛСТР(ЛЕВСИМВ(ПСТР(ЯЧЕЙКА("имяфайла");ПОИСК("[";ЯЧЕЙКА("имяфайла"))+1;ПОИСК(".xls";ЯЧЕЙКА("имяфайла"))-ПОИСК("[";ЯЧЕЙКА("имяфайла"))-1);100))-НАЙТИ("1 ";ЛЕВСИМВ(ПСТР(ЯЧЕЙКА("имяфайла");ПОИСК("[";ЯЧЕЙКА("имяфайла"))+1;ПОИСК(".xls";ЯЧЕЙКА("имяфайла"))-ПОИСК("[";ЯЧЕЙКА("имяфайла"))-1);100))-1);ДЛСТР(ПРАВСИМВ(ЛЕВСИМВ(ПСТР(ЯЧЕЙКА("имяфайла");ПОИСК("[";ЯЧЕЙКА("имяфайла"))+1;ПОИСК(".xls";ЯЧЕЙКА("имяфайла"))-ПОИСК("[";ЯЧЕЙКА("имяфайла"))-1);100);ДЛСТР(ЛЕВСИМВ(ПСТР(ЯЧЕЙКА("имяфайла");ПОИСК("[";ЯЧЕЙКА("имяфайла"))+1;ПОИСК(".xls";ЯЧЕЙКА("имяфайла"))-ПОИСК("[";ЯЧЕЙКА("имяфайла"))-1);100))-НАЙТИ("1 ";ЛЕВСИМВ(ПСТР(ЯЧЕЙКА("имяфайла");ПОИСК("[";ЯЧЕЙКА("имяфайла"))+1;ПОИСК(".xls";ЯЧЕЙКА("имяфайла"))-ПОИСК("[";ЯЧЕЙКА("имяфайла"))-1);100))-1))-3)

Все хорошо, формула работает, но когда файл открывается, то формула не всегда срабатывает. Она показывает не следующий месяц, а не предыдущий, но если ее обновить, то она работает нормально. Как написать более стабильную формулу, которая будет дергать название месяца из файла?
Поиск и замена текста в нескольких файлах excel, Поиск и замена текста в нескольких файлах excel
 
Есть папка с файлами (600 файлов), в каждом из них нужно заменить текст в формуле. В VBA вообще не шарю, после долгих поисков состряпал это:

Sub Get_All_File_from_Folder()
   Dim sFolder As String, sFiles As String
   Dim wb As Workbook
   With Application.FileDialog(msoFileDialogFolderPicker)
       If .Show = False Then Exit Sub
       sFolder = .SelectedItems(1)
   End With
   sFolder = sFolder & IIf(Right(sFolder, 1) = Application.PathSeparator, "", Application.PathSeparator)
       Application.ScreenUpdating = False
   sFiles = Dir(sFolder & "*.xlsx*")
   Do While sFiles <> ""
    With Selection.Find
       .ClearFormatting
       .Text = "AF-KF Reports\Rockrolls\TTM\[Food Cost AF-01 2022 9 Summer"
       .Replacement.ClearFormatting
       .Replacement.Text = "Rockrolls\TTM\[Food Cost AF-01"
       .Execute Replace:=wdReplaceAll, Forward:=True, _
       Wrap:=wdFindContinue
       End With
       sFiles = Dir
   Loop
   Application.ScreenUpdating = True
End Sub

Макрос выдает ошибку Run-time error '450':
Wrong number of agruments or invalid property assignment на строчке With Selection.Find (выделяет ее желтым)

Что не так?
Многоразовый "ВПР" на нескольких страницах при разных значениях, Нужно совместить набор функций без применения макросов
 
Есть файл, в котором 28,29,30,31 листов (в зависимости от месяца), каждый лист называется 01.01,02.01,03.01, т.е. датами текущего месяца. На некоторых листах содержатся в одном и том же столбце, но в разных строках записи типа: "Доставка. Иванов И.И.", "Доставка. Петров В.И.", "Доставка. Такси" - и т.д. т.е. неизменна часть со словом доставка, а всё остальное меняется, в столбце правее, выданная сумма. Ячейки периодически повторяются. Необходимо, чтобы в другом отдельном файле формула проверяла все листы из файла с листам/датами и искала слово "Доставка", выводя при этом полную строку "Доставка. Петров В.И." в которой это слово было упомянуто и так построчно, пока не перечислит всё. Правее второй столбец, в котором выводится сумма, стоящая справа от данного столбца.
=ИНДЕКС($B$2:$B$16;НАИМЕНЬШИЙ(ЕСЛИ($E$2=A2:A16;СТРОКА(B2:B16)-1;"");СТРОКА()-5)) (значения из примера) - данная формула позволяет искать и выводить нужные значения только для одного листа и только для конкретно заданного слова/ячейки. Также есть вот такая формула:
=ВПР(A2;ДВССЫЛ("'"&ИНДЕКС($E$2:$E$5;ПОИСКПОЗ(ИСТИНА;СЧЁТЕСЛИ(ДВССЫЛ("'"&$E$2:$E$5 &"'!A1:A50");A2)>0;0))&"'!A:B");2;0) - которая как раз позволяет искать по нескольким страницам, но во-первых, есть проблема с выводом этих листов из другого файла, а, во-вторых, это всё еще впр.
Изменено: Jackjumper - 07.12.2020 00:12:39
Английский язык на вывод, Значения выводятся на русском
 
Формула: =TEXT(WEEKDAY(DATE($AG$1;MONTH($A$1&0);B3);1);"aaa"), где $A$1 - это буквенное значение месяца, например Февраль. B3 - числовая ячейка для определения числа месяца, $AG$1 - ссылка на год. Соотв. "ааа" - формат названия дня недели.

Всё бы ничего, но весь excel на английском, формулы на нем же, - везде основной английский, а excel, во-первых, не работает с month, если вместо февраля - february, а вместо дней недели на английском выводятся (если формулу месяца заменить на цифру) дни недели на русском. Как решить проблему с языком?
Страницы: 1
Наверх