Анастасия, благодарю. Работает формула. И отдельное спасибо за то, что напомнили про ДВССЫЛ, даже и не вспомню, когда ей пользовался в последний раз
Извиняюсь, что забыл открыть.
Извиняюсь, что забыл открыть.
12.07.2025 11:50:57
Привет форумчане.
Помогите пожалуйста дописать формулу расчета средней цены в документе: Есть структура: Наименование (игрушки, карандаши и прочее), в состав ее входят артикулы с ценами. В ячейке C2 и ниже есть формула: =ЕСЛИ(И(A3<>"";B3="");"";ВПР(B3;'Арт.'!A:B;2;0)), которая смотрит на структуру, если Наименование есть, а артикула нет-"ПУСТО". Если нет артикула, формула тянет цену с другого листа. Цель: вместо значения "ПУСТО" необходимо считать среднюю цену по нижним показателям. Например: по Игрушкам, считать среднюю C4:С5, в Заколках среднюю по С10:С11. Плюс есть наименования с одним артикулом и больше артикулов не будет, там значение просто впр подтягивается. Не представляю как посчитать среднюю по нижним значениям, когда артикулов может быть как 2, так и 10! Был вариант, дублировать наименование для каждого артикула, потом просто использовать формулу СРЗНАЧЕСЛИМН по необходимому наименованию, но не вариант, структуру не менять( Еще вариант был, который сейчас у меня в голове, на другом листе делать таблицу с ссылками на ячейки из нашей таблицы, а там уже структуру менять, дублируя наименования к каждому артикулу, что бы потом просто через СРЗНАЧЕСЛИМН искать результат, но хотелось бы без этого костыля... Доступ к документу открыл, копий листов сделал пару штук, можете пробовать.
Изменено: |
|
|
27.05.2025 14:39:59
Привет, еще раз.
Гиперссылки не открываются именно Авито, у меня выдает ошибку, (возможно настройки какие-то не включены), фото ошибки прилагаю. Ссылки на другие сайты открывает без проблем. Прошу помочь с решением проблемы! Может, как и написал выше, не включил настройку какую-то? Причем из Эксельки копирую ссылку и вставляю в браузер, открывается страница
Изменено: |
|
|
05.06.2023 11:55:33
Добрый день. Прошу помочь добавить в сам макрос путь конкретной папки, что бы каждый раз не выбирать одну и туже папку через диалоговое окно.
Путь к папке предположим: \\sbc01\shares\Marketing\Trade Marketing\Фоотчеты LSM\2023\433. Документ с примером прилагаю. Макрос: Sub FileList() Dim V As String Dim BrowseFolder As String With Application.FileDialog(msoFileDialogFolderPicker) .Title = "Выберите папку или диск" .Show On Error Resume Next Err.Clear V = .SelectedItems(1) If Err.Number <> 0 Then MsgBox "Вы ничего не выбрали!" Exit Sub End If End With BrowseFolder = CStr(V) Intersect(Rows("1:" & Rows.Count), ActiveSheet.UsedRange).ClearContents With Range("A1:С1") .Font.Bold = True .Font.Size = 12 End With Range("A2").Value = "Имя файла" Range("B2").Value = "Путь" Range("c2").Value = "Дата изменения" ListFilesInFolder BrowseFolder, True End Sub Private Sub ListFilesInFolder(ByVal SourceFolderName As String, ByVal IncludeSubfolders As Boolean) Dim FSO As Object Dim SourceFolder As Object Dim SubFolder As Object Dim FileItem As Object Dim r As Long Set FSO = CreateObject("Scripting.FileSystemObject") Set SourceFolder = FSO.getfolder(SourceFolderName) r = Range("A65536").End(xlUp).Row + 1 For Each FileItem In SourceFolder.Files Cells(r, 1).Formula = FileItem.Name Cells(r, 2).Formula = "=HYPERLINK(""" & FileItem.Path & """)" Cells(r, 3).Formula = FileItem.DateLastModified r = r + 1 X = SourceFolder.Path Next FileItem If IncludeSubfolders Then For Each SubFolder In SourceFolder.SubFolders ListFilesInFolder SubFolder.Path, True Next SubFolder End If Columns("A:E").AutoFit Set FileItem = Nothing Set SourceFolder = Nothing Set FSO = Nothing Columns("A:A").ColumnWidth = 20 Columns("A:A").ColumnWidth = 35 Columns("A:A").ColumnWidth = 15 End Sub Private Sub Workbook_Open() End Sub |
|
|
13.03.2023 11:16:01
Добрый день. Есть популярный макрос на поиск самого нового документа в папке.
Подскажите пожалуйста, как вывести второй по новизне файл (так сказать 2 самых новых файла)? Sub ПримерИспользованияФункции_LastFile() ' Ищем на рабочем столе все файлы TXT, и выводим имя самого нового файла. ' Просматриваются папки с глубиной вложения не более трёх. Dim ПутьКПапке$, СамыйПоследнийФайл$ ' получаем путь к папке РАБОЧИЙ СТОЛ ПутьКПапке = CreateObject("WScript.Shell").SpecialFolders("Desktop") ' получаем путь к самому новому файлу (проверяется дата последнего сохранения) СамыйПоследнийФайл$ = LastFile$(ПутьКПапке, ".txt", 3) If СамыйПоследнийФайл$ = "" Then MsgBox "Не найдено ни одного файла", vbExclamation: Exit Sub MsgBox СамыйПоследнийФайл$, vbInformation, "Самый свежий файл" End Sub Код функции: Function LastFile$(ByVal FolderPath As String, Optional ByVal Mask As String = "", _ Optional ByVal SearchDeep As Long = 999) ' Получает в качестве параметра путь к папке FolderPath, ' маску имени искомых файлов Mask (будут проверены только файлы с такой маской/расширением) ' и глубину поиска SearchDeep в подпапках (если SearchDeep=1, то подпапки не просматриваются). ' Возвращает полный путь к файлу, имеющему самую позднюю дату создания ' (применяется рекурсивный вызов процедуры GetAllFileNamesUsingFSO) Dim FilenamesCollection As New Collection ' создаём пустую коллекцию Set FSO = CreateObject("Scripting.FileSystemObject") ' создаём экземпляр FileSystemObject GetAllFileNamesUsingFSO FolderPath, Mask, FSO, FilenamesCollection, SearchDeep ' поиск Set FSO = Nothing: Application.StatusBar = False ' очистка строки состояния Excel Dim maxFileDate As Double For Each file In FilenamesCollection ' перебираем все файлы среди найденных currFileDate = FileDateTime(file) ' считываем дату последнего сохранения ' проверяем очередной файл - не новее ли он предыдущих If currFileDate > maxFileDate Then LastFile$ = file: maxFileDate = currFileDate Next file End Function Function GetAllFileNamesUsingFSO(ByVal FolderPath As String, ByVal Mask As String, ByRef FSO, _ ByRef FileNamesColl As Collection, ByVal SearchDeep As Long) ' перебирает все файлы и подпапки в папке FolderPath, используя объект FSO ' перебор папок осуществляется в том случае, если SearchDeep > 1 ' добавляет пути найденных файлов в коллекцию FileNamesColl On Error Resume Next: Set curfold = FSO.GetFolder(FolderPath) If Not curfold Is Nothing Then ' если удалось получить доступ к папке Application.StatusBar = "Поиск в папке: " & FolderPath For Each fil In curfold.Files ' перебираем все файлы в папке FolderPath If fil.Name Like "*" & Mask Then FileNamesColl.Add fil.Path Next SearchDeep = SearchDeep - 1 ' уменьшаем глубину поиска в подпапках If SearchDeep Then ' если надо искать глубже For Each sfol In curfold.SubFolders ' ' перебираем все подпапки в папке FolderPath GetAllFileNamesUsingFSO sfol.Path, Mask, FSO, FileNamesColl, SearchDeep Next End If Set fil = Nothing: Set curfold = Nothing ' очищаем переменные End If End Function
Изменено: |
|
|
10.03.2023 16:37:11
Добрый день. Есть популярный макрос, который находит последний документ (самый новый по дате создания) в папке:
Как можно скорректировать для поиска предпоследнего документа в папке? я вижу, что в самой функции lastfile$, есть PreFile$, и в Locals я его тоже вижу, но как этот адрес сохранить для переменной какой-то? |
|
|
27.10.2022 15:47:21
Добрый день.
Есть документ ИТОГО и документ СПРАВОЧНИК. Если у сотрудника есть доступ к документу СПРАВОЧНИК, то формулы считают в документе ИТОГО и результат расчетов показывает. Если нет доступа к документу СПРАВОЧНИК, тогда в документе ИТОГО ссылка. Можно ли сделать так, что бы формулы считались, даже если доступа к папке у сотрудника нет, где лежит документ СПРАВОЧНИК? |
|
|
26.10.2022 12:28:50
|
|||||
|
25.10.2022 17:14:10
Имеется один общий документ, сборный, в котором хранится вся абсолютно информация, которую нельзя всем предоставлять. Идея в том, что бы при каких-то манипуляциях (ввода пароля, какого-то значения ячейки или что-то еще уникальное), один менеджер видил только доступную ему информацию, а все остальное нет. Цель сохранить безопасность информации в документе и предоставить доступ. |
|||
|
25.10.2022 14:21:19
Подскажите пожалуйста, а можно ли ограничить сохранение документа? К примеру, запретить в документе кнопку "Сохранить как"? |
|||
|
25.10.2022 14:06:31
Добрый день.
Подскажите пожалуйста, или поделитесь возможно своим опытом, можно ли в Excel реализовать разделение видимой/педоставляемой информации для различных пользователей. Пример: есть документ с информацией по магазинам в разных городах России и ответственными ФИО. В каждом городе есть свой менеджер. Можно ли каким-то образом сделать так, что бы пользователь видел только информацию по своему городу, или по ФИО, только свои магазины? Возможно можно настроить доступ к информации завязанной на каком-то пароле (вводимом в поле определенном), или вообще при открытии документа, если вводится пароль один, тогда и права одни. Возможно ли реализовать как-то через сервисы у Excel, PQ или Pivot.... Возможно вообще другой способ? |
|
|
19.10.2022 16:16:05
"тип данных для переменной i стоит Long, а далее задаем значение для i = "Admin"" (это в изначальном макросе, не моя идея)
Изменено: |
|||||
|