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

Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 30 След.
Получение списка свойств файлов папки в указанной директории и их обработка с выводом в таблицу Excel
 
MikeVol, все супер работает, спасибо огромное!
Получение списка свойств файлов папки в указанной директории и их обработка с выводом в таблицу Excel
 
Всем привет!
Можете подсказать, что бы вытащить свойство кто "сохранил данный файл", как понимаю нужно изменить "Shell.Application" на другое свойство?
Код
Sub FileDetails()Dim sFile As Variant
 
Dim oShell: Set oShell = CreateObject("Shell.Application")
Dim oDir:   Set oDir = oShell.Namespace("c:\FOLDER")
i = 1
For Each sFile In oDir.Items
   ActiveSheet.Cells(i, 1) = oDir.GetDetailsOf(sFile, -1)
   i = i + 1
  Next
 
End Sub
Поиск каждого значения из исходной книги в других книгах, расположенных в папке с исходным файлом
 
Большущее Спасибо!
Поиск каждого значения из исходной книги в других книгах, расположенных в папке с исходным файлом
 
Если не сложно, можете в коде поправить, я сам не соображу, попробовал, но выдает ошибку.
Код
Sub SearchFolders()
'UpdatebyKutoolsforExcel20151202
    Dim xFso As Object
    Dim xFld As Object
    Dim xStrSearch As String
    Dim xStrPath As String
    Dim xStrFile As String
    Dim xOut As Worksheet
    Dim xWb As Workbook
    Dim xWk As Worksheet
    Dim xRow As Long
    Dim xFound As Range
    Dim xStrAddress As String
    Dim xFileDialog As FileDialog
    Dim xUpdate As Boolean
    Dim xCount As Long
    On Error GoTo ErrHandler
    Set xFileDialog = Application.FileDialog(msoFileDialogFolderPicker)
    xFileDialog.AllowMultiSelect = False
    xFileDialog.Title = "Выберете папку"
    If xFileDialog.Show = -1 Then
        xStrPath = xFileDialog.SelectedItems(1)
    End If
    If xStrPath = "" Then Exit Sub
    xStrSearch = Range("C4")
    xUpdate = Application.ScreenUpdating
    Application.ScreenUpdating = False
    Set xOut = Worksheets.Add
    xRow = 1
    With xOut
        .Cells(xRow, 1) = "Книга"
        .Cells(xRow, 2) = "Лист"
        .Cells(xRow, 3) = "Ячейка"
        .Cells(xRow, 4) = "Text in Cell"
        Set xFso = CreateObject("Scripting.FileSystemObject")
        Set xFld = xFso.GetFolder(xStrPath)
        xStrFile = Dir(xStrPath & "\*.xls*")
        Do While xStrFile <> ""
            Set xWb = Workbooks.Open(Filename:=xStrPath & "\" & xStrFile, UpdateLinks:=0, ReadOnly:=True, AddToMRU:=False)
            For Each xWk In xWb.Worksheets
                Set xFound = xWk.UsedRange.Find(xStrSearch)
                If Not xFound Is Nothing Then
                    xStrAddress = xFound.Address
                End If
                Do
                    If xFound Is Nothing Then
                        Exit Do
                    Else
                        xCount = xCount + 1
                        xRow = xRow + 1
                        .Cells(xRow, 1) = xWb.Name
                        .Cells(xRow, 2) = xWk.Name
                        .Cells(xRow, 3) = xFound.Address
                        .Cells(xRow, 4) = xFound.Value
                    End If
                    Set xFound = xWk.Cells.FindNext(After:=xFound)
                Loop While xStrAddress <> xFound.Address
            Next
            xWb.Close (False)
            xStrFile = Dir
        Loop
        .Columns("A:D").EntireColumn.AutoFit
    End With
    MsgBox "Найдено " & xCount & " значений", , "Kutools for Excel"
ExitHandler:
    Set xOut = Nothing
    Set xWk = Nothing
    Set xWb = Nothing
    Set xFld = Nothing
    Set xFso = Nothing
    Application.ScreenUpdating = xUpdate
    Exit Sub
ErrHandler:
    MsgBox Err.Description, vbExclamation
    Resume ExitHandler
End Sub
Изменено: Adamm - 10.09.2025 14:36:44
Поиск каждого значения из исходной книги в других книгах, расположенных в папке с исходным файлом
 
Всем привет!
Возможно в данном файле, который в первом посту, сделать обход ошибки в случае если файл не открывается.
Я восстановил файлы excel после удаления, по итогам их больше тысячи, но нужно найти один, хотел воспользоваться данным макросом по содержимому, но он выдает ошибку:

"Method Open of object "Workbooks" failed".

Понятно, что есть испорченные файлы, вот по этой причине выдает ошибку, так как не может их прочитать, но код сложный сам не справлюсь.
Сохранение книги макросом в разные папки и на Яндекс диск
 
Спасибо, попробую!
Сохранение книги макросом в разные папки и на Яндекс диск
 
Всем привет!
Подскажите как можно сохранить книгу по разным папкам, а так же в Яндекс диск, пути прописаны на листе 1 (как пример).
С сохранение в папки вопрос решаем, даже простой записью макроса, а вот с яндекс диском проблемка...
При объединении запроса "засунуть" предыдущий шаг "извлечь текст" в объединение
 
sotnikov, спасибо!
Но тут код еще длиннее, я думал возможно запихать его в объединение, но так наверное не получиться, суть была избавиться от шага извлечь тест, но все равно спасибо!
При объединении запроса "засунуть" предыдущий шаг "извлечь текст" в объединение
 
Добрый день!
Возможно ли при объеденении запроса, миновать отдельный шаг - "извлечь текс", то есть запихать его в объединение, на подобие:
Код
= Table.NestedJoin(#"Извлеченный текст перед разделителем", {"папка", each Text.BeforeDelimiter(_, " ", 1)}, Таблица1, {"папка"}, "Таблица1", JoinKind.LeftOuter)

"Expression.Error: Не удается преобразовать значение типа Function в тип Text."
ЕСЛИ ПСТР=0 или как показать что второй символ в ячейке не 0, Как настроить ЕСЛИ ПСТР.
 
Добрый вечер,
Если я вас правильно понял, то заключите 0 в кавычки ""
Код
=ЕСЛИ(ПСТР(A2;2;1)="0";"хорошо";"другой символ")
VBA в Нанокаде
 
Тимофеев, спасибо, за направление буду искать исполнителя!
VBA в Нанокаде
 
Всем привет!
Может кто подскажет, хороший проверенный форум по САПРу конкретно по Нанокаду/Autocad, вопрос встал в написании кода на VBA или Lisp в данных ПО, обратился на один форум, вроде как договорились по деньгам, я оплатил аванс и человек пропал, вот сейчас уже опасаюсь.
PQ, разделить значения столбцов на два, при разворачивании в объединении
 
AlienSx, огромное спасибо!
PQ, разделить значения столбцов на два, при разворачивании в объединении
 
Всем привет!
Возможно разделить значения столбцов на два, при разворачивании в объединении, в случае дубликатов.
На примере:
В таблице1 есть дублирующие значение в столбце "Имя", объединяем с таблицей2 (по имени), при развороте столбцов "Зарплата" и "Рост" в таблице3, должны получить значения деленные пополам, при условии наличия дублей, если дублей нет то оставляем как есть.
В примере все расписал.
Цикл суммирования чисел при условии
 
Павел \Ʌ/, отличное решение, спасибо!
Не работает функция поискпоз по дате, При использовании поискпоз с листа выгруженного с программы не ищет по дате
 
Вообще конечно странно, вы пытаетесь найти значения из ссылочных ячеек, того же массива, но если так надо, попробуйте так
Код
=ПОИСКПОЗ(C2*1;$C$5:$AN$5*1;0)

формула массива вводиться ctrl+shift+enter
Цикл суммирования чисел при условии
 
Всем привет!
Возможно кто то знает такое понятие как "параметры не ритмичного потока, матричный расчет", суть вопроса нужно просуммировать числа при условии, что: на каждом шаге суммирования есть проверка, что указанное число равно или меньше суммируемого, в примере все подробно расписал, формулами данную задачу решить можно, но писать столько если...)
Сведённый столбец, с двумя столбцами значений в PQ
 
AlienSx, огромное спасибо!
Сведённый столбец, с двумя столбцами значений в PQ
 

Всем привет!

При выполнении столбца сведения в PQ есть возможность указать только один столбец сведения, но мне нужно указать два столбца со значениями, в данном примере это столбцы "Всего норма" и "Вес"

PS на листе как должно быть часть столбцов с датами удалил, для меньшей габаритности таблицы

Изменено: Adamm - 27.12.2023 16:22:05
Установить фильтр по дате и времени
 
AlienSx, спасибо, я тоже уже был близок к данному решению, но загвоздка была в Time.From
Установить фильтр по дате и времени
 
Цитата
написал:
О каком коде речь?
В PQ
Код
let
    Источник = Excel.CurrentWorkbook(){[Name="Запрос1"]}[Content],
    #"Переименованные столбцы" = Table.RenameColumns(Источник ,{{"IFC_Tag", "Марка"},  {"МК_Дата изменения", "Монтаж МК"}}),
    #"Измененный тип" = Table.TransformColumnTypes(#"Переименованные столбцы",{ {"Монтаж МК", type datetime}}),
    #"Строки с примененным фильтром2" = Table.SelectRows(#"Измененный тип", each Date.IsInPreviousDay([Монтаж МК]) or Date.IsInCurrentDay([Монтаж МК])),
    #"Добавлен пользовательский объект" = Table.AddColumn(#"Строки с примененным фильтром2", "Пользовательский", each DateTime.Date(DateTime.LocalNow())),
    #"Измененный тип1" = Table.TransformColumnTypes(#"Добавлен пользовательский объект",{{"Пользовательский", type text}}),
    #"Добавлен пользовательский объект1" = Table.AddColumn(#"Измененный тип1", "Пользовательский.1", each "10:00:00"),
    #"Объединенные столбцы" = Table.CombineColumns(#"Добавлен пользовательский объект1",{"Пользовательский", "Пользовательский.1"},Combiner.CombineTextByDelimiter(" ", QuoteStyle.None),"Сегодня"),
    #"Измененный тип2" = Table.TransformColumnTypes(#"Объединенные столбцы",{{"Сегодня", type datetime}}),
    #"Вычитание вставленного времени" = Table.AddColumn(#"Измененный тип2", "Вычитание", each [Сегодня] - [Монтаж МК], type duration),
    #"Строки с примененным фильтром1" = Table.SelectRows(#"Вычитание вставленного времени", each [Вычитание] > #duration(0, 0, 0, 0)),
    #"Удаленные столбцы" = Table.RemoveColumns(#"Строки с примененным фильтром1",{"Сегодня", "Вычитание"})
in
    #"Удаленные столбцы"
Установить фильтр по дате и времени
 
Всем привет!
В файле на листе Исходник в столбце МК_Дата изменения нужно отфильтровать даты по условиям:

1. оставить вчерашний день полностью
2. оставить сегодняшний день до 10:00

Собственно говоря задачу я решил, но хотелось бы сократить сам код, задача вроде не сложная, но как это упихать в один фильтр не приложу ума
Переименование листов через VBA
 
Спасибо всем, уже запустил процесс!)
Переименование листов через VBA
 
БМВ, согласен, проблема как путь прописать, но решение вроде нашел, буду разбираться
http://www.excelworld.ru/forum/10-6196-1
Переименование листов через VBA
 
Всем привет!

Не стал создавать новую тему, вопрос аналогичный
Есть папка по пути: "C:\Users\Сидоров\Desktop\Текущие задачи\Расчет", в ней эксель файлы с расширением xls, очень много, надо открыть книгу и переименовать единственный лист в название "4124" и сохранить, можно это реализовать?
Копирование файлов из папки в паку VBA
 
МатросНаЗебре, я так понял что его  то же надо заменить, но в итоге его надо оставить?
Дмитрий(The_Prist) Щербаков, да я понял что дело в переменной, но я еще тот VBA шник, с макросами мои познания остаются на не высоком уровне

Все ок работает, не хватало именно это строки, в которой как я понял мы и была переменная, которую мы создали ранее folderVal
Изменено: Adamm - 09.11.2023 13:51:29
Копирование файлов из папки в паку VBA
 
Выдает ошибку "Object variable or With blok wariable not set"
наверно ошибка в переменной, ниже весь код:
Код
Private Sub Workbook_Open()

    'Проверка условия на пользователя и время
    UserName = Environ("USERNAME")
    
    If UserName = "#####" And Format(Now, "hh:mm") < "13:00" Then
    
        'Переменные для обновления запросов
        Dim ws As Worksheet, qt As QueryTable, oc As Object, IsBG_Refresh As Boolean
    
        Application.ScreenUpdating = False
        Application.DisplayAlerts = False
        
        'Путь к рабочему столу
        Dim objWSHShell As Object
        Dim DesktopPath As String
        Set objWSHShell = CreateObject("WScript.Shell")
        DesktopPath = objWSHShell.SpecialFolders("Desktop")
        
        Dim fso, folderVal As Object
        Dim wb As Workbook
        
        Set fso = CreateObject("Scripting.FileSystemObject")
        
        Dim pathArr(0)

        pathArr(0) = "\\#####\3. ПТО\8. WB\Welding Data Base AMMONIA.xlsx"

        For Each pathVal In pathArr
            nameFile = Left(Mid(pathVal, InStrRev(pathVal, "\") + 1), Len(Mid(pathVal, InStrRev(pathVal, "\") + 1)) - 5)
            Set wb = Application.Workbooks.Open(pathVal, False, True)
            wb.SaveAs DesktopPath & "\Текущие задачи\Открытый фронт поле\Источники полные\" & nameFile & ".xlsx", FileFormat:=51
            wb.Close 0
        Next
        'Копируем файлы из папки
        For Each fileVal In folderVal.Files
        If Not fso.FolderExists(DesktopPath & "\Текущие задачи\Открытый фронт поле\Источники полные\") Then fso.CreateFolder DesktopPath & "\Текущие задачи\Открытый фронт поле\Источники полные"
        fso.CopyFile fileVal.Path, DesktopPath & "\Текущие задачи\Открытый фронт поле\Источники для загрузки\" & fileVal.Name
        Next
        
        
        'Обновление запросов
        For Each oc In ThisWorkbook.Connections
            IsBG_Refresh = oc.OLEDBConnection.BackgroundQuery
            oc.OLEDBConnection.BackgroundQuery = False
            oc.Refresh
            oc.OLEDBConnection.BackgroundQuery = IsBG_Refresh
        Next
        
        'Сохранение текущего файла в папку на рабочий стол
        ThisWorkbook.SaveAs DesktopPath & "\Текущие задачи\Открытый фронт поле\Открытый фронт поле.xlsm"
        
        'Копирование файла по адресу в сети
        fso.CopyFile DesktopPath & "\Текущие задачи\Открытый фронт поле\Открытый фронт поле.xlsm", "\\#####\ОПиСП\5. Технологические трубопроводы\ОФ Поле\Открытый фронт поле.xlsm"
    
        MsgBox ("Готово !")
        
        End If
End Sub
Изменено: Adamm - 09.11.2023 12:07:59
Копирование файлов из папки в паку VBA
 
Всем привет!
При копировании файлов макросом
Код
        Set folderVal = fso.GetFolder(DesktopPath & "\Папка1")
        
        For Each fileVal In folderVal.Files
            fso.copyFile fileVal.Path, DesktopPath & "\Папка2\" & fileVal.Name
        Next

из одной папки в другую выдает ошибку "Run-time error 76: Path not found"
Как понимаю это может быть связано с тем что при копировании файлов временно создается файл без расширения, он и препятствует копированию?
Если это так как можно решить проблему?

 
Не открывается запрос в PQ
 
Вопрос решен, проблема была в макросе, он убивал запрос
Не открывается запрос в PQ
 
Всем  привет!
Странный случай, не могу открыть запрос в PQ, при том что могу его скопировать в другую книгу и открыть, но в исходнике не открывается, кто-нибудь сталкивался с данной проблемой?
При том что книга не защищена.
Изменено: Adamm - 03.08.2023 16:03:24
Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 30 След.
Наверх