Последние записи
- Изменить цвет шрифта TextBox на форме
- Ресайз PNG без потери прозрачности
- Вывод на печать графического файла
- Взаимодействие через командную строку
- Перенести программу из Delphi в Lazarus
- Определить текущую ОС
- Автоматическая смена языка (раскладки клавиатуры)
- Сравнение языков на массивах. Часть 2
- wprintf как напечатать кириллицу
- Взаимодействие через командную строку
Интенсив по Python: Работа с API и фреймворками 24-26 ИЮНЯ 2022. Знаете Python, но хотите расширить свои навыки?
Slurm подготовили для вас особенный продукт! Оставить заявку по ссылке - https://slurm.club/3MeqNEk
Online-курс Java с оплатой после трудоустройства. Каждый выпускник получает предложение о работе
И зарплату на 30% выше ожидаемой, подробнее на сайте академии, ссылка - ttps://clck.ru/fCrQw
17th
Окт
Получение имён листов из закрытых книг Excel
Posted by obzor under VBA, Архив
Задачка у меня в том чтобы вернуть имя файла если в данном файле содержится искомый текст, просмотрев все файлы которые есть в папке.
Подробнее: есть функция для получения значения из закрытой книги. Пишу макрос который перебирает все книги в папке и если в каком-то из файлов в любом из листов в ячейке C4 встретится искомый текст, то он вернет его имя. Весь затык в том как прописать в данном случае поиск во всех листах файла…
Любой способ получения значений из ячеек рабочего листа закрытой книги будет открывать файл (явно, или нет). Очень жаль, что разработчики Excel «выбросили» метод «FileSearch», который мог «в лоб» решить Вашу задачу, т. е. определить файл, содержащий искомое значение. Приходится решать по-другому. Например, так:
Sub qq()
Dim wb As Workbook, ws As Worksheet, p As String, f As String, Item As String
Item = "текст" 'искомое значение
p = "E:\Temp\" 'путь к папке с файлами
f = Dir(p & "*.xls*")
Do While f <> ""
Set wb = GetObject(p & f)
For Each ws In wb.Sheets
If ws.[C4] = Item Then MsgBox wb.Name
Next
wb.Close: f = Dir
Loop
End Sub
Естественно, что можно определять не только полное, но и частичное совпадение значений (используя, например, InStr).
Что делать при обнаружении совпадений, автору лучше знать. Макрос просто выведет сообщение с именем искомой книги.
Похожие статьи
Купить рекламу на сайте за 1000 руб
пишите сюда - alarforum@yandex.ru
Да и по любым другим вопросам пишите на почту
пеллетные котлы
Пеллетный котел Emtas
Наши форумы по программированию:
- Форум Web программирование (веб)
- Delphi форумы
- Форумы C (Си)
- Форум .NET Frameworks (точка нет фреймворки)
- Форум Java (джава)
- Форум низкоуровневое программирование
- Форум VBA (вба)
- Форум OpenGL
- Форум DirectX
- Форум CAD проектирование
- Форум по операционным системам
- Форум Software (Софт)
- Форум Hardware (Компьютерное железо)