Обработка таблиц — Страница 3

Программа сбора данных из файлов Excel

Результат объединения данных из файлов Excel

Программа предназначена для загрузки списка товаров из актов о приеме-передаче основных средств.

Поддерживаются акты по формам № ОС-3.1 и № ОС-3.3, возможно добавить поддержку актов других форм (в формате Excel).

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

Макрос создания текстовых файлов по таблице Excel

Макрос предназначен для создания текстовых файлов в кодировке UTF-8.

Исходными данными является таблица Excel из 12 столбцов.

Сначала, макрос создаёт папку для будущих текстовых файлов.
Папка создаётся в том же каталоге, где расположена книга Excel.

Далее, для каждой строки таблицы, макрос формирует подпапку,
используя в качестве её названия текст из 7-го столбца таблицы.

И потом, когда папка для файла создана, макрос создаёт текстовый файл с содержимым из 10 столбца таблицы,
и сохраняет его под именем, взятым из второго столбца той же таблицы Excel.
После создания файла, у него меняется кодировка на UTF-8 (изначально, при создании, файлы имеют кодировку Unicode)

По окончании работы макроса, открывается папка, содержащая созданные текстовые файлы.

Пример макроса смотрите в прикреплённом файле.

Макрос, отслеживающий интервал дат до события

Таблица с заполненными данными по клиентам

Программа предназначена для вывода информации о скором наступлении события

Каждый раз при открытии файла (и автоматической активации макроса), происходит проверка разницы между текущей датой, и датой окончания действия полиса
(столбец номер 7 на скриншоте).

Если эта разница находится в пределах 10 дней (параметр можно менять по своему усмотрению), то на отдельный лист выводится ссылка на строку, вызвавшую это событие.

Макрос для создания маркировочных этикеток для сборных грузов

Внешний вид таблицы источника для создания маркеров

Программа предназначена для создания маркировальных этикеток для идентификации груза

В качестве исходных данных используется таблица (на скриншоте) имеющая следующие поля:

Наружная реклама. Адресная программа. Рекламные щиты

Скриншот листа коммерческого предложения - описание, фото и карта рекламной конструкции

Программа предназначена для формирования коммерческих предложений по наружной рекламе.

В качестве исходных данных выступает файл Excel со списком рекламных объектов.

Список объектов должен содержать следующую информацию (в отдельных столбцах):

  • адрес рекламной конструкции (щита)
  • сторона рекламного щита или перетяжки (А, Б, В, и т.п.)
  • ссылки на фото и карту рекламной конструкции
    (поддерживаются ссылки, не только ведущие на файлы-изображения, но и ссылки на страницу рекламного щита, где размещена информация о конструкции с фотографией и картой)

Пример исходной таблицы: (нажмите для увеличения)

Исходная таблица со списком рекламных щитов, и ссылками на фото и карты

Для каждой строки исходной таблицы, программа создаёт в том же файле отдельный лист,
на который помещает информацию о рекламном щите (перетяжке), а также фотографию и карту объекта.

Фотографии загружаются из интернета, по заданным ссылкам в столбце (столбцах) «Фото / карта»,
и размещаются на создаваемых листах (слева - фото объекта, справа - его карта)

 

Самая сложная часть алгоритма программы - получение ссылок на изображения (фото и карты), имея в наличии только ссылку на страницу рекламной конструкции
(а, зачастую, имея только адрес сайта, и название конструкции)

Программа для регистрации, приема на работу и увольнения сотрудников

Внешний вид программы для облегчения регистрации, приема на работу и увольнения иностранных рабочих

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

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

В этой таблице содержится нужная информация, необходимая для заполнения шаблонов документов.

Программа заполняет следующие документы:

Заполнение шаблонов MS Word данными из файла MS Excel

Исходный файл с данными для заполнения шаблона MS Word

Программа предназначена для заполнения шаблонов MS Word для дальнейшей распечатке на этикеточном принтере

В качестве исходных данных для макроса используется файл MS Excel в котором находятся следующие поля:

  1. Индекс
  2. Город
  3. Улица
  4. Название организации

Макрос позволяет заполнять шаблоны с 24-мя и 10-ю ячейками на листе.

Скриншот результата работы макроса:

Выборки данных из текстовых файлов инвентаризационной программы

Пример обрабатываемого текстового файла, содержащего данные о компьютере

Программа предназначена для выборки данных из текстовых файлов, которые были сгенерированны инвентаризационной программой

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

Работу макроса можно разделить на следующие этапы:

Сбор данных из множества текстовых файлов с разделителями

К примеру, есть у вас несколько десятков (или сотен) текстовых файлов с подобным содержимым:
(количество файлов, и количество строк данных в каждом файле не ограничено)

1c04;1J0-698-151-G;1 комплект тормозных накладок;1J0698151G;1J0698151G;5;1
1c04;1H0698151A;Тормозные колодки;1H0698151A;1H0698151A;1;1
1c04;1K0-698-151-B;Тормозные колодки;1K0698151B;1K0698151B;2;1

А надо из всего этого сформировать табличку в Excel - приблизительно такого вида:

Пример таблицы в Excel

На помощь придёт функция DATfolder2Array

Sub ПримерИспользованияФункции_DATfolder2Array()
    Папка = "D:\Проекты\DATs\"    ' папка, в которой будет производиться поиск файлов DAT для обработки
    Dim ErrorsArray    ' пустой массив для ошибок

    ' считываем данные из все файлов .DAT в папке в двумерный массив
    DataArr = DATfolder2Array(Папка, 7, "1,2,4,5", ErrorsArray)
 
    ' результаты выводим на листы "errors" и "result" (они должны существовать)
    Array2worksheet Worksheets("errors"), ErrorsArray, _
                    Array("Имя файла", "Номер строки", "Данные из строки")
    Array2worksheet Worksheets("result"), DataArr, _
                    Array("Ячейка", "Штрих-Код", "Наименование", "код 1С", "код произв.", "кол-во", "счетовод")
End Sub

Выбор другой открытой книги для получения данных

Часто бывает, что надо получить данные из другой, открытой вместе с используемой, книги Excel.

Данная функция помогает получить ссылку на другую, открытую в текущий момент, книгу:

Sub ПримерИспользования_GetAnotherWorkbook()
    Dim WB As Workbook
    Set WB = GetAnotherWorkbook
    If Not WB Is Nothing Then
        MsgBox "Выбрана книга: " & WB.FullName, vbInformation
    Else
        MsgBox "Книга не выбрана", vbCritical: Exit Sub
    End If
    ' обработка данных из выбранной книги
    x = WB.Worksheets(1).Range("a2")
    ' ...
End Sub