Найти в Дзене
Мой помощник: Excel

Комментарии для Автофильтра.

Зачастую, в моей работе, приходится иметь дело со счетами, спецификациями и т.п. документами, которые по эл. почте присылают поставщики.
Что бы не потеряться в этом "море" и иметь возможность отслеживать динамику поступления тех или иных материалов и их цены, я поступаю следующим образом (возможно, мой опат кому то будет полезен):
Для начала, учитывая, то, что, большинство поставщиков любит отправлять документы в формате .pdf, а мне учет и анализ, информации из них, удобнее вести в таблице. Я установил ABBYY FineReader на свой комп. Одна из функций этой программы, позволяет конвертировать любой .pdf - файл в формат Excel.
Отконвертированный файл, я сохраняю в папку с наименованием поставщика. Это, так сказать - для истории. В этой же папке находится файл с именем "свод", в который из каждого отконвертированного файла переносится имя документа, например: "Спецификация №АБВГ-000007 от 12.07.2022" и его табличная часть:

Рис. 1 Так выглядит скопированная часть информации из отконвертированного документа.
Рис. 1 Так выглядит скопированная часть информации из отконвертированного документа.

В текущей работе, мне нужна информация: наименование закупаемой продукции (дальше: - продукции); стоимость 1 м.п. (метр погонный) наименования продукции, а так же стоимость ТЗР (Транспортно-заготовительных расходов) приходящихся на 1 м.п. наименования продукции.
Поэтому слева от скопированной части (скопированного информационного блока) достраиваю расчетную таблицу, позволяющую получить нужные параметры из имеющейся информации:

Рис. 2 "Достраиваемая" часть таблицы.
Рис. 2 "Достраиваемая" часть таблицы.

Ясное дело, что "достройка" содержит формулы и, позволяет копировать ее на вновь копированные информационные блоки.

Рис. 3 Формулы в "Достраимаемой" части таблицы.
Рис. 3 Формулы в "Достраимаемой" части таблицы.
Рис 3.1 Вот так выглядит "Свод" для двоих информационных блоков
Рис 3.1 Вот так выглядит "Свод" для двоих информационных блоков

На Рис 3.1 для удобства цветом выделены строки с наименованиями материалов и для автофильтра введена отдельная строка.

И теперь, если мы установим на поля таблицы Автофильтр, то получим возможность, отслеживать динамику поступления того или иного материала и изменение его цены визуально:

Рис 4. Пример выборки по материалу: Труба оц. 57*3,5
Рис 4. Пример выборки по материалу: Труба оц. 57*3,5

Как видим, "потерялся" параметр: номер и дата документа основания, в данном случае это Спецификация № ... от .../.../..... г.

Что бы этого не произошло, этот параметр следует внести в комментарий к ячейке, содержащей наименование материала. Можно это сделать вручную, но - это долго! И тут мне на помощь приходит VBA! Что это и кто это - в инете и на Дзене, тонны постов. Повторять не буду. Расскажу лишь о конкретных его "проделках":
По Alt+F11переходим в редактор и в Модуль 1

Рис. 5.
Рис. 5.

вставляем следующий код:
Sub
addCommentToPozis()

Dim celComm As Range

Dim CellsCommVal As Object, RangeCommAdd As Object

On Error Resume Next

Set CellsCommVal = Application.InputBox("Укажите ячейку с текстом для комментария:", "Запрос данных:", "", Type:=8)

If CellsCommVal Is Nothing Then Exit Sub

Set RangeCommAdd = Application.InputBox("Укажите ячейку или диапазон" & Chr(10) & "для вставки комментария:", "Запрос данных:", "", Type:=8)

If RangeCommAdd Is Nothing Then Set CellsCommVal = Nothing: Exit Sub

If RangeCommAdd.Cells.Count > 1 Then

For Each celComm In RangeCommAdd

'добавляем комментарий в ячейку

addCommToCell celComm, CellsCommVal.Value

Next

Else

'добавляем комментарий в ячейку

addCommToCell RangeCommAdd, CellsCommVal.Value

End If

End Sub

Function addCommToCell(RngeCommAdd As Range, CellCommVal As String)

'добавляем комментарий в ячейку

With RngeCommAdd

.ClearComments

.AddComment

.Comment.Text CellCommVal

' 'и меняем его шрифт

' With .Comment.Shape.TextFrame.Characters.Font

' .Name = "Times New Roman"

' .Size = 14

' .Bold = True

' End With

End With

End Function

на лист "Свод" размещаем кнопку и на нее цепляем макрос addCommentToPozis Вот и все.
Нажимаем кнопку и внимательно читаем, что написано в диалоговых окнах.

Шаг А
Шаг А
Шаг Б
Шаг Б
Результат.
Результат.

Если все сделали правильно, то каждая ячейка Наименование материала, вновь скопированного информационного блока, будет снабжена комментарием, содержащим: номер и дата документа основания, в данном случае это Спецификация № ... от .../.../..... г.

-10

Если будут вопросы, задавайте в комментариях. Всем спасибо!