Зачастую, в моей работе, приходится иметь дело со счетами, спецификациями и т.п. документами, которые по эл. почте присылают поставщики.
Что бы не потеряться в этом "море" и иметь возможность отслеживать динамику поступления тех или иных материалов и их цены, я поступаю следующим образом (возможно, мой опат кому то будет полезен):
Для начала, учитывая, то, что, большинство поставщиков любит отправлять документы в формате .pdf, а мне учет и анализ, информации из них, удобнее вести в таблице. Я установил ABBYY FineReader на свой комп. Одна из функций этой программы, позволяет конвертировать любой .pdf - файл в формат Excel.
Отконвертированный файл, я сохраняю в папку с наименованием поставщика. Это, так сказать - для истории. В этой же папке находится файл с именем "свод", в который из каждого отконвертированного файла переносится имя документа, например: "Спецификация №АБВГ-000007 от 12.07.2022" и его табличная часть:
В текущей работе, мне нужна информация: наименование закупаемой продукции (дальше: - продукции); стоимость 1 м.п. (метр погонный) наименования продукции, а так же стоимость ТЗР (Транспортно-заготовительных расходов) приходящихся на 1 м.п. наименования продукции.
Поэтому слева от скопированной части (скопированного информационного блока) достраиваю расчетную таблицу, позволяющую получить нужные параметры из имеющейся информации:
Ясное дело, что "достройка" содержит формулы и, позволяет копировать ее на вновь копированные информационные блоки.
На Рис 3.1 для удобства цветом выделены строки с наименованиями материалов и для автофильтра введена отдельная строка.
И теперь, если мы установим на поля таблицы Автофильтр, то получим возможность, отслеживать динамику поступления того или иного материала и изменение его цены визуально:
Как видим, "потерялся" параметр: номер и дата документа основания, в данном случае это Спецификация № ... от .../.../..... г.
Что бы этого не произошло, этот параметр следует внести в комментарий к ячейке, содержащей наименование материала. Можно это сделать вручную, но - это долго! И тут мне на помощь приходит VBA! Что это и кто это - в инете и на Дзене, тонны постов. Повторять не буду. Расскажу лишь о конкретных его "проделках":
По Alt+F11переходим в редактор и в Модуль 1
вставляем следующий код:
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 Вот и все.
Нажимаем кнопку и внимательно читаем, что написано в диалоговых окнах.
Если все сделали правильно, то каждая ячейка Наименование материала, вновь скопированного информационного блока, будет снабжена комментарием, содержащим: номер и дата документа основания, в данном случае это Спецификация № ... от .../.../..... г.
Если будут вопросы, задавайте в комментариях. Всем спасибо!