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

Страницы: 1 2 3 След.
Получение списка файлов в папке с указанием для каждого файла количества ячеек, содержащих определенный текст.
 
Цитата
написал:
См.файл выше
Спасибо большое, все работает, как надо. Очень помогли!
Получение списка файлов в папке с указанием для каждого файла количества ячеек, содержащих определенный текст.
 
Цитата
написал:
Макрос не проверяет название книг на 'опл'
Я имел ввиду названия товаров. Макрос же ищет их на всех листах. Как раз хотелось бы автоматизировать процесс.
Вот, что выдает Ваш макрос + я добавил в папку 2 полных прайса
Ad Marginem.xlsЛмст 15
Азбука.xlsЛист 110
Азбука.xlsСправочник1
Клуб_36_6.xlsnew7
РИПОЛ.xlsЛист14
СЗКО.xlswork1639
СЗКО.xlsСправочник2
а вот, что должно быть, если макрос ищет сочетание ОПЛ только на указанных листах в конкретных строках.

Ad Marginem.xlsЛмст 15
Азбука.xlsЛист 110
Клуб_36_6.xlsnew7
РИПОЛ.xlsЛист10
СЗКО.xlswork22

Я попробовал через СЧЕТЕСЛИ, прописал путь до файла, но если файл открыт, то все в порядке, если закрыт, то формула выдает ошибку #ЗНАЧ!
Открывать десятки файлов затруднительно, а макрос выдает информацию, не открывая файл.
Через макрос никак не реализовать такую задачу?
Может, поможете написать формулу, которая выдавала бы нужную информацию, не отрывая файлы? Тогда макрос будет выводить только список файлов, а формула будет брать путь, название листа и строку из справочника и выдавать количество ячеек с нужной информацией?
Получение списка файлов в папке с указанием для каждого файла количества ячеек, содержащих определенный текст.
 
Цитата
написал:
Макрос ищет по всем файлам в указанной папке, по всем листам в этих файлах и на всем листе буквосочетание '*опл*' и выводит в таблицу Имя файла - Имя листа - Количество опл'ов
Макрос работает, спасибо. Но так как ищет на всех листах по всем строкам, то количество ОПЛ неправильное, оно часто встречается в названиях книг
Получение списка файлов в папке с указанием для каждого файла количества ячеек, содержащих определенный текст.
 
Цитата
написал:
Структура прайсов одинаковая? Для примера хотя-бы один Прайс приложите
Добрый день, как раз в том то и дело, что структура всех прайсов разная. Мы их оставляем в том виде, как получаем от издательств, так как такое требование поставщиков, чтобы отправлять заказы в их прайсах. Поэтому надо искать на конкретных листах в указанных строках. Сами прайсы большие, с количеством строк от 500 до 300000.
Вот несколько сокращенных версий.
Получение списка файлов в папке с указанием для каждого файла количества ячеек, содержащих определенный текст.
 

Здравствуйте, уважаемые форумчане. Нужна помощь в макросе.

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

Нужно получить такой файл Прайсы-заказы.xlsm

в колонке А = список файлов в папке поиска, в колонке В количество ячеек к конкретном файле в определенной строке на нужном листе, которые содержат текст опл

Так как в каждом прайсе номер строки и имена листов с названиями заказов разные, пришлось сделать справочник, в котором указаны эти данные для каждого прайса

Я смог написать макрос, который выводит список файлов в папке.

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

Код
Sub ListFilesInFolder()
  Dim folderPath As String, fileName As String
  Dim fileNum As Integer
  Dim rowNum As Long

  ' Путь к папке
  folderPath = "C:\Прайсы"

  ' Очищаем предыдущий список (если есть)
  Columns("A").ClearContents

  ' Задаем начальную строку для вывода списка
  rowNum = 1

  ' Получаем первый файл в папке
  fileName = Dir(folderPath & "\*.*")

  ' Пока есть файлы в папке
  Do While fileName <> ""
    ' Записываем имя файла в ячейку
    Cells(rowNum, 1).Value = fileName

    ' Увеличиваем номер строки для следующего файла
    rowNum = rowNum + 1

    ' Получаем следующий файл
    fileName = Dir()
  Loop

  ' Автоматически подстраиваем ширину столбца
  Columns(1).AutoFit

  ' Выводим сообщение об успешном завершении
  MsgBox "Список файлов сформирован."
End Sub


Однако дальше не получается.

Можете помочь с макросом, который делал бы следующее:

  • вывести список всех файлов в папке, указанной в файле-примере в E1

  • для каждого прайса ищет в ячейках строки (ее номер в столбце I), находящейся на листе  (название в столбце J) все ячейки, содержащие текст из ячейки E2. Надо учитывать, что в ячейках строки могут разные типы данных, а также просто пустые ячейки

  • выводит общее количество таких ячеек (фактически количество оплаченных заказов в конкретном прайсе) в столбце B, напротив соответствующего прайса.

Заранее всем большое спасибо!
Макрос для удаления столбцов, если в конкретной строке в ячейках содержится определенное слово
 
Цитата
написал:
gling
Да, точно. Теперь работает, спасибо!
Макрос для удаления столбцов, если в конкретной строке в ячейках содержится определенное слово
 
Цитата
написал:
gling
К сожалению, макрос работает, если находиться в самом файле с таблицей.
У меня макрос находиться в другом файле, и в этом случае макрос не срабатывает
Перед работой я запускаю файл с разными макросами и применяю эти макросы при работе в других файлах
Изменено: karlson7 - 18.02.2025 21:52:19
Макрос для удаления столбцов, если в конкретной строке в ячейках содержится определенное слово
 
Цитата
написал:
gling
спасибо. действительно в этом случае работает.
А на что может влиять Application.ScreenUpdating?
Это же просто отображение на экране последовательного показа выполнения макроса?
Макрос для удаления столбцов, если в конкретной строке в ячейках содержится определенное слово
 
Здравствуйте уважаемые форумчане.
Нужен макрос для Excel 2010, который будет делать следующее:
если в таблице на "Лист1" в строке 3 в какой-либо ячейке есть слово "Удалить", то надо удалить соответствующий столбец.
В приложенном примере надо удалить 20 столбцов.
Посмотрел похожие темы на форуме, попробовал несколько макросов, но ничего не работает.
Обратился к ИИ, Gemini посоветовал такой код
Код
Sub УдалитьСтолбцыПоУсловию()

  Dim ws As Worksheet
  Dim lastCol As Long
  Dim i As Long

  ' Устанавливаем рабочий лист (измените "Лист1" на название вашего листа)
  Set ws = ThisWorkbook.Worksheets("Лист1")

  ' Получаем номер последнего столбца с данными в строке 3
  lastCol = ws.Cells(3, ws.Columns.Count).End(xlToLeft).Column

  ' Цикл по столбцам, начиная с последнего и двигаясь влево
  For i = lastCol To 1 Step -1

    ' Проверяем, содержит ли ячейка в строке 3 слово "удалить" (без учета регистра)
    If InStr(1, LCase(ws.Cells(3, i).Value), "удалить") > 0 Then

      ' Если найдено, удаляем столбец
      ws.Columns(i).Delete

    End If

  Next i

End Sub
Тоже не работает.
Возможно дело в том, что внутри таблице некоторые ячейки в строке пустые? В таком случае, как можно это решить?
Просто заполнить чем-то пустые ячейки в этой строке нежелательно.
Заранее большое спасибо за помощь!
Макрос для сохранения активного файла в ту же папку, из которой был открыт
 
BodkhiSatva,
спасибо большое!
То, что надо
Макрос для сохранения активного файла в ту же папку, из которой был открыт
 
Добрый вечер, написал макрос, который сохраняет активный файл под именем из определенной ячейки в файле. Мне надо, чтобы файл под новым именем сохранялся в ту же папку, из которой был открыт. А у меня упорно сохраняет или в предыдущую папку, с которой работал, или в папку, где находится файл с макросами. Подскажите, пожалуйста, что надо добавить в макрос? Вот код
Код
Sub SaveActiveWorkbookAs_3()
    Dim FN As String
    Dim activeWb As Workbook
    Set activeWb = ActiveWorkbook
    
    FN = activeWb.Sheets("Параметры").Range("A1").Value
    activeWb.SaveAs FN
    MsgBox "Файл сохранен как " & FN
    End Sub
Записать формулой "значение ячейки" в условном форматировании
 
У Вас в УФ в формуле прописан весь весь столбец, а надо вставить относительную ссылку на одну ячейку, при этом, когда делаете УФ, указать, что это на весь столбец или конкретный диапазон.
Можно взять формулу от appix, но изменить ее как =И(A1>=0,A1<=5).
Если числа в столбце А, то пример в файле (для диапазона). И, в данном случае, пустая ячейка эта 0
разделитель в формуле , или ; зависит от региональных установок
Изменено: karlson7 - 16.10.2024 12:04:49
Удалить строки содержащие указанные слова
 
БМВ,
отличное решение, возьму на заметку, спасибо
Формула массива для нахождения в тексте слов из списка исключений
 
Павел \Ʌ/,
ясно, спасибо
Формула массива для нахождения в тексте слов из списка исключений
 
БМВ,
спасибо!
Формула массива для нахождения в тексте слов из списка исключений
 
Павел \Ʌ/,
спасибо большое, все работает! У меня не получалось, возможно, из-за проверки на >0
И саму формулу ПОИСК можно немного упростить?
Код
ЕСЛИ(ИЛИ(ЕЧИСЛО(ПОИСК(Таблица2[Список_исключений],A8))),"DELETE",A8)

Как я понимаю, ПОИСК в любом случае будет искать фрагмент в наименовании, или поставить "*" обязательно?  
Формула массива для нахождения в тексте слов из списка исключений
 

Добрый день, уважаемые форумчане!

Требуется помощь в написании формулы массива.

Вот задача (все данные в приложенном файле).

В колонке А находится список названий книг, который надо проверить на наличие слов-исключений. Эти слова находятся в F2:F5. Если в наименовании  находится слово, или часть слова, или сразу несколько слов из таблицы исключений, то в соответствующей колонке столбца D пишется слово DELETE, иначе в этой же ячейке прописывается наименование книги без изменений.

Формула, с помощью которой я решил эту задачу, есть в ячейке А2

В полном объеме тысячи наименований на разных листах файла, и потом еще будет обработка этих таблиц. Список слов-исключений меняется, то становиться больше, то меньше. Каждый раз приходиться переписывать формулу.

Есть ли возможность написать формулу, которая будет автоматически подстраиваться под список исключений?

Как я понимаю, надо превратить список исключений в умную таблицу (сделано) и применить формулу массива, но формула ПОИСК в виде массива работать не хочет…

Нужно решение, которое будет работать в Excel 2010.

На форуме есть несколько похожих тем, но и меня не получилось их использовать для решения этой задачи.
Заранее всем большой спасибо!
Переместить макросом первый столбец таблицы в правый край таблицы
 
Kuzmich, Sanja,
Спасибо большое!
Теперь все работает
Переместить макросом первый столбец таблицы в правый край таблицы
 
MikeVol,
к сожалению, у меня получается так, скриншоты ниже, проверял в Excel 2010 и Excel 2019
Переместить макросом первый столбец таблицы в правый край таблицы
 
Kuzmich,
у меня excel "ругается" на With Active Sheet
макрос останавливается на этой позиции, и таблица начинается с А1 (пример2). В первом файле я просто на одном листе указал начальную таблицу, итоговую и комментарии
Переместить макросом первый столбец таблицы в правый край таблицы
 
Бахтиёр,
спасибо, но Ваш макрос также перемещает столбец А в середину таблицы, а мне надо чтобы столбец А стал крайнем правым столбцом
Возможно, надо учитывать, что столбец А может быть заполнен не весь.
В приложенном файле я указал 2 таблицы: то, что есть сейчас, и что надо получить.
Желтым цветом выделен переносимый столбец
Переместить макросом первый столбец таблицы в правый край таблицы
 
Sanja,
Ваш макрос не перемещает 1й стоблец, столбец №1 остается пустой, а данные вставляются не в конец таблицы, а в середину
Переместить макросом первый столбец таблицы в правый край таблицы
 
Здравствуйте, на форуме есть похожие темы, но там немного не те решения которые нужны.

Нужен макрос, который будет частью другого макроса. Сейчас у меня обработка данных проходит в первом столбце таблицы, а после завершения расчетов 1й столбец надо переместить в вправо, так, чтобы он стал крайним правым столбцом. Для меня проблема заключается в том, что обрабатываются разные файлы, в них разное количество столбцов и строк. Но всегда перемещается первый столбец (А:А) в правый край таблицы.
Небольшой пример в файле.

Заранее всем большое спасибо за помощь!
Формула для суммы чисел, которые находятся в одной ячейке и разделены запятой
 
БМВ,
теперь все работает, спасибо большое!
Формула для суммы чисел, которые находятся в одной ячейке и разделены запятой
 
БМВ,
у меня Ваша формула возвращает только первое число в ячейке, а не сумму. Результат в файле пример-2
Правда, у меня в формулах разделитель , а не ;
Может, я где-то неправильно поменял знаки?
Формула для суммы чисел, которые находятся в одной ячейке и разделены запятой
 
Alien Sphinx,
у меня Excel 2019, там нет функции TEXTSPLIT
Формула для суммы чисел, которые находятся в одной ячейке и разделены запятой
 
Добрый вечер.
Есть таблица, в столбце находятся числа. Но в некоторых ячейках этого столбца находится не одно число, а несколько, разделенные запятой с пробелом.
Нужна именно формула, которая поможет в столбце рядом получить сумму всех чисел, находящихся в соседних ячейках, по строкам.
Все данные в файле. Нужна именно формула, так как в ручном режиме протягивается строка с разными формулами, которые собирают данные из разных таблиц.
Нашел похожую тему на этом форуме здесь, но мне это не подходит, так как там макросы, а мне желательна именно формула.
Тоже пришел в конструкции типа
Код
="="&ПОДСТАВИТЬ(A2,", ","+")
но потом требуются еще действия: скопировать, вставить значения, вручную еще раз вставить =. Это не совсем то, что нужно.
Заранее всем большое спасибо за помощь!
Макрос для получения текста по web-ссылке
 
_Boroda_,
sokol92,

спасибо за информацию, обновление экрана добавлю и по Curl почитаю.
Спасибо!
Макрос для получения текста по web-ссылке
 
webley,
спасибо большое! Все работает
Макрос для получения текста по web-ссылке
 
webley,
Вот новый файл с примером, где есть пустые ячейки в колонке со ссылками
Страницы: 1 2 3 След.
Наверх