Ведение журналов в excel

Если у вас нет системы электронного документооборота, то удобнее всего регистрировать документы в Excel. В статье мы рассмотрели не только вопросы создания журналов регистрации в Excel «с нуля», но и то, как работать с их содержимым: быстро найти, что и как можно отфильтровывать и сортировать, как можно изменять журнал в различных рабочих ситуациях, как распечатать в удобном виде, как «закрыть» в конце года. Порой одну и ту же операцию можно выполнить по-разному – мы ­предложили ­оптимальные ­алгоритмы, чтобы вам стало удобнее работать.

Об обязательности регистрации документов однозначно высказываются Методические рекомендации к ГОСТу Р 6.30-20031:

Фрагмент документа

«Организационно-распорядительная документация. Требования к оформлению документов. Методические рекомендации по внедрению ГОСТ Р 6.30-2003», п. 3.8

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

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

Итак, все документы организации должны быть учтены. Раньше это делалось в больших толстых тетрадях – книгах регистрации. Кстати, некоторые компании до сих пор пользуются подобным методом. Но большинство все же предпочитает вести электронные регистрационные ­формы.

На сегодняшний день существует несколько доступных возможностей создания электронных журналов регистрации:

  • в Microsoft Excel. Пожалуй, это самая простая и доступная программа для подобных целей. Даже пользователь, чей опыт общения с компьютером ограничивается только уроками информатики и бытовыми интернет-нуждами, может без труда создать здесь полноценный ­журнал регистрации документов;
  • в Microsoft Access – программа, уже требующая от пользователя подготовки и обучения, но и обладающая более широким функционалом, нежели Excel. Удобна, в частности, возможностью связывать между собой различные журналы и получить в конечном итоге общую базу данных;
  • с применением «облачных» сервисов, например, Google.Drive. В отличие от обычных «облачных» хранилищ данных, сервис позволяет создать табличный файл с теми же функциями, что и у Excel. Существенным достоинством «облачных» сервисов является возможность настроить доступ к ним пользователей из любой точки мира и с любого устройства. Не менее существенным недостатком – абсолютная зависимость от подключения к Интернету, которое не всегда и не везде идеально.

Таким образом, самой доступной программой для создания журнала регистрации в обычном российском офисе является Microsoft Excel. Далее рассмотрим вопросы создания журналов и работы с ними в версии Microsoft Excel 2010 на примере Журнала регистрации распорядительных документов.

Создадим файл в Excel и назовем его «Журнал регистрации распорядительных документов». Для этого можно использовать круглую кнопку «Office» в верхнем левом углу экрана (на Рисунке 1 отмечена цифрой 1), при нажатии на которую открывается меню, в нем выбираем первую команду – «Создать». Чтобы не потерять результаты своих дальнейших настроек, лучше сразу сохранить созданный файл; для этого подойдут команды «Сохранить» или «Сохранить как» того же меню.

Рисунок 1

Предположим, в нашей условной организации используются 2 вида подобных документов: приказ и распоряжение. Целесообразно регистрировать оба вида документов в одном файле, но в разных таблицах. В нижнем левом углу окна расположены по умолчанию три листа: Лист 1, Лист 2 и Лист 3. На каждом из них можно поместить по журналу учета одного вида документов. Программа позволяет создавать сколько угодно листов в одном файле, добавляя и удаляя их по ­усмотрению пользователя.

Переименуем листы. Для этого нужно щелкнуть правой кнопкой «мыши» по наименованию листа и выбрать опцию «Переименовать». Здесь же можно выбрать цвет ярлыка, ­установить пароль для защиты, удалить ненужный лист. В нашем Журнале регистрации распорядительных документов будет 2 листа: для приказов по основной деятельности и для распоряжений (Рисунок 2).

Рисунок 2

Рисунок 3

Определившись с наименованиями граф таблицы, создадим «шапку». Настроить внешний вид граф легко, используя верхнюю панель инструментов. В основном понадобятся группы команд «Шрифт» и «Выравнивание» на вкладке «Главная» (см. Рисунок 3).

Группа команд «Шрифт» знакома любому пользователю программы Word (цифра 1). Напомним их в порядке расположения иконок слева направо:

  • верхний ряд позволит вам:
    • выбирать шрифт,
    • его размер,
    • одним нажатием увеличивать размер шрифта,
    • одним нажатием уменьшать размер шрифта;
  • нижний ряд поможет назначить:
    • полужирное начертание,
    • курсив,
    • подчеркивание,
    • измененить границы выделенных ячеек и
    • цвет их фона,
    • изменить цвет текста.

Теперь посмотрим на набор команд «Выравнивание» (отмечено цифрой 2):

  • значения иконок верхнего ряда:
    • первые 3 – выравнивание текста по верхнему краю ячейки, по ­центру или по нижнему краю соответственно,
    • расположение текста по диагонали или по вертикали,
    • перенос текста (если пользователь не хочет менять ширину ячейки, чтобы уместился текст, можно нажать на эту кнопку, и текст будет выстроен в несколько строк по ширине ячейки);
  • вторая строка:
    • первые 3 иконки знакомы каждому пользователю Word – это выравнивание текста по левому краю ячейки, по центру или по правому краю соответственно;
    • следующие 2 иконки – уменьшение или увеличение отступа текста от левого края;
    • последняя иконка – объединение ячеек с помещением текста в центре.

Заполним «шапку» нашей таблицы названиями граф. Скорее всего, при этом понадобится увеличить ширину некоторых столбцов. Это нетрудно сделать, наведя курсор на линию между двумя ячейками в самой верхней серой строке, где обычно указаны буквенные обозначения столбцов (реже – цифровые). Появится значок с двумя стрелками, смотрящими в разные стороны. Кликнув «мышью» и перемещая значок в нужном направлении, можно делать столбец уже или шире. Так же можно установить желаемую высоту строки, используя крайний левый столбец с номерами. Мы немного усложним задачу и разделим графы на 2 группы: регистрационные данные о документе и контроль. Отформатируем внешний вид ячеек, используя изученные опции (на Рисунке 5 показана таблица, в которой не только создана «шапка», но уже заполнено…

Хитрости »

1 Май 2011              273536 просмотров


Ведение журнала сделанных в книге изменений

Проблема очень актуальна для больших организаций, когда одним файлом пользуются несколько человек. И каждый может сделать какие-то свои изменения. И конечно всегда наступает момент когда надо узнать — а кто сделал то или иное изменение? Возможно просто для информации, а бывает и хуже, когда необходимо узнать кто внес конкретное изменение, которое делать было нельзя и по возможности восстановить хоть часть того, что было.

  • Отслеживание изменений при помощи встроенных средств — Общий доступ к книге
  • Отслеживание изменений и ведение журнала при помощи кода

Отслеживание изменений при помощи встроенных средств — Общий доступ к книге
Есть относительно простой способ отслеживать изменения(если это можно так назвать): дать книге общий доступ
Excel 2007 и выше: вкладка Рецензирование(Review)Доступ к книге(Share workbook).
В более новых версиях(таких как Excel 2021 и выше, а так же Office 365) на вкладке Рецензирование(Review) нет команды Доступ к книге(Share workbook). Она спрятана, т.к. считается устаревшей и вместо неё Microsoft принуждает использовать общий доступ через OneDrive. Достать устаревшую возможность общего доступа можно через меню:
Файл(File) -Параметры(Options) -либо Панель быстрого доступа(Quick Access Toolbar) либо Настроить ленту(Customize ribbon) -в списке Выбрать команды из(Choose commands from) выбираем Все команды(All commands) и находим там пункт: Общий доступ к книге(старые версии)(Share workbook(Legacy) и Выделить исправления(Highlight changes). Перемещаем их либо на панель быстрого доступа(если она была выбрана изначально), либо на ту же вкладку Рецензирование(Review), если команда выбиралась в Настроить ленту(Customize ribbon).
После этого выбираем команду Общий доступ к книге(старые версии)(Share workbook(Legacy)
В появившемся окне поставить галочку разрешить изменять файл нескольким пользователям одновременно(Allow changes by more then one user at the same time):
Доступ к файлу
Далее можно настроить срок хранения лога изменений, конфликты и пр — вкладка Подробнее(Advanced):
Параметры доступа
Регистрация изменений(Track changes)

  • Хранить журнал в течение(keep change history for): — если необходимо вести журнал изменений(а нам необходимо!) то оставляем этот пункт включенным и устанавливаем количество дней, в течение которых необходимо сохранять историю. По умолчанию это 30 дней. Здесь имеются ввиду последние 30 дней от текущей даты. Т.е. по истечению этих 30 дней более ранние данные истории будут затерты
  • Не хранить журнал изменений(don’t keep change history): после выбора этого пункта и подтверждения журнал будет удален(если он был создан) и история вестись не будет

Обновлять изменения

  • При сохранении файла(When file is saved) — это самый оптимальный вариант. Данные об изменениях в файле будут обновляться только тогда, когда мы сами сохраним файл.
  • Каждые(Automatically every): указывается промежуток времени в минутах, через который книга сама автоматически будет сохраняться и регистрировать изменения. Не очень удобен данный пункт если в файле одновременно работает несколько человек. При этом необходимо будет обязательно выбрать какое действие будет производится по умолчанию:
    • сохранить мои изменения и просмотреть чужие(save my changes and see others’ changes)
    • только просмотреть чужие изменения(just see other users’ changes)

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

Для противоречивых изменений(Conflicting changes between users)

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

  • запрашивать чьи изменения имеют преимущество(ask me which changes win) — самый оптимальный вариант. Первый, открывший файл пользователь определяет какие изменения надо принять, а какие отклонить
  • ранее сохраненные имеют преимущество(the changes being saving win) — не очень правильный вариант, но все зависит от ситуации. По логике при данном пункте при возникновении конфликта автоматически будут приняты лишь те изменения, которые были сделаны ранее. Может сыграть нехорошую шутку, поэтому надо быть острожным с этим пунктом

Включить в личное представление(Include in personal view)

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

  • параметры печати(Print settings) — Обычно, в одном файле когда мы настраиваем параметры печати, они сохраняются внутри файла и при следующем открытии их не надо уже заново настраивать. Здесь тоже самое, но хранится для каждого пользователя отдельно. Т.е. даже если в этом файле один пользователь настроил одни параметры печати, а другой – иные, то для каждого пользователя эти параметры сохраняться. В обычной книге применились бы те параметры, которые были назначены перед последним сохранением книги.
  • фильтры(Filter settings) — если один пользователь отфильтровал данные по «Юго-Восточный округ», а другой тот же столбец по «Северный округ», то при установленном данном пункте у каждого пользователя файл откроется с отфильтрованными строками именно по установленным ими параметрам — для каждого свой
  • Но оба эти пункта имеют большой недостаток: в зависимости от количества пользователей и их действий они могут сильно «раздувать» файл и приводить к значительным его «тормозам». Поэтому без необходимости лучше их не использовать

Теперь самое главное: как увидеть все сделанные изменения
После того, как пользователи поработали с файлом и стало необходимо увидеть сделанные изменения необходимо перейти на вкладке Рецензирование(Review)Исправления(Track changes)Выделить исправления(Highlight changes)
Просмотреть изменения
Здесь можно выбрать какие изменения показывать

  • по времени(When) — если хотите увидеть только какие-то конкретные изменения, то надо установить галочку на этом пункте и выбрать нужное. Доступно выбрать: Со времени последнего сохранения, Все, Еще не просмотрено, С даты. Пункты достаточно красноречивы и понятны, расписывать каждый не вижу смысла. Если хотите просмотреть все изменения — галочку с этого пункта надо снять
  • пользователем(Who) можно показать изменения, сделанные конкретным пользователем, всеми пользователями, или всеми пользователями, кроме того, кто запросил отчет об изменениях(т.е. кроме себя любимого)
  • в диапазоне(Where) можно указать конкретный диапазон на листе и отчет об изменения будет выведен только для ячеек этого диапазона.

Выделять исправления на экране(Highlight changes on screen): если установить эту галочку, то изменения будут созданы в виде примечаний к ячейкам, изменения в которых были сделаны. В левом верхнем углу ячейки в этом случае появится черный треугольник, а при наведении на эту ячейку появится примечание с информацией о том кто изменил, когда и на что:
Изменения в примечании

Вносить изменения на отдельный лист(List changes on a new sheet): в этом случае будет создан новый лист с именем «Журнал», в котором будут перечислены ячейки, в которые были внесены изменения с указанием даты и времени изменения, пользователя сделавшего изменение, старое и новое значение измененной ячейки:
Изменения в отдельном листе

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

Но самый главный недостаток: книги в общем доступе имеют ряд ограничений, среди которых такие как:

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

Плюс невозможно не только использовать умные таблицы, но и сделать книгу общей, если в ней есть хоть одна умная таблица. Если будет попытка сделать общий доступ к книге с умной таблицей Excel покажет предупреждение, что этого делать нельзя и проинструктирует как преобразовать такую таблицу в диапазон для возможности использовать общий доступ.
Так же хочу отметить, что есть распространенное заблуждение о невозможности использования макросов в книгах с общим доступом. Это не так, коды Visual Basic for Applications разрешается применять и в большинстве случаев они будут работать корректно и как задумывались, если они только не пытаются произвести действия, перечисленные как запрещенные для книг с общим доступом. Плюс невозможно просматривать и изменять коды в книгах с общим доступом.


Отслеживание изменений и ведение журнала при помощи кода

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

  • Имя пользователя(учетная запись пользователя на компьютере), сделавшего изменения
  • адрес ячейки, в которую были внесены изменения
  • дата и время внесения изменений
  • имя листа, в котором были сделаны изменения
  • значение ячейки до изменения(старое значение)
  • значение ячейки после изменения(новое значение).

Итак, Вы решили реализовать данный процесс. Изначально необходимо разрешить макросы, без этого данный способ ведения журнала не сработает. Далее необходимо добавить в книгу новый лист с именем LOG и вставить приведенный код в модуль книги, изменения в которойнеобходимо отслеживать:

Option Explicit
Public sValue As String
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    If Sh.Name = "LOG" Then Exit Sub
    Dim sLastValue As String
    Dim lLastRow As Long
 
    With Sheets("LOG")
        lLastRow = .Cells.SpecialCells(xlLastCell).Row + 1
        If lLastRow = Rows.Count Then Exit Sub
        Application.ScreenUpdating = False: Application.EnableEvents = False
        .Cells(lLastRow, 1) = CreateObject("wscript.network").UserName
        .Cells(lLastRow, 2) = Target.Address(0, 0)
        .Cells(lLastRow, 3) = Format(Now, "dd.mm.yyyy HH:MM:SS")
        .Cells(lLastRow, 4) = Sh.Name
        .Cells(lLastRow, 5).NumberFormat = "@"
        .Cells(lLastRow, 5) = sValue
        If Target.Count > 1 Then
            Dim rCell As Range, rRng As Range
            On Error Resume Next
            Set rRng = Intersect(Target, Sh.UsedRange): On Error GoTo 0
            If Not rRng Is Nothing Then
                For Each rCell In rRng
                    If Not IsError(Target) Then sLastValue = sLastValue & "," & rCell Else sLastValue = sLastValue & "," & "Err"
                Next rCell
                sLastValue = Mid(sLastValue, 2)
            Else
                sLastValue = ""
            End If
        Else
            If Not IsError(Target) Then sLastValue = Target.Value Else sLastValue = "Err"
        End If
        .Cells(lLastRow, 6).NumberFormat = "@"
        .Cells(lLastRow, 6) = sLastValue
    End With
    Application.ScreenUpdating = True: Application.EnableEvents = True
End Sub
 
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
    If Sh.Name = "LOG" Then Exit Sub
    If Target.Count > 1 Then
        Dim rCell As Range, rRng As Range
        On Error Resume Next
        Set rRng = Intersect(Target, Sh.UsedRange): On Error GoTo 0
        If rRng Is Nothing Then Exit Sub
        For Each rCell In rRng
            If Not IsError(rCell) Then sValue = sValue & "," & rCell Else sValue = sValue & "," & "Err"
        Next rCell
        sValue = Mid(sValue, 2)
    Else
        If Not IsError(Target) Then sValue = Target.Value Else sValue = "Err"
    End If
End Sub

Что такое модуль книги и как туда вставить код подробно описано в этой статье. Если кратко: открываем редактор VBA(Alt+F11) -находим в списке объектов ЭтаКнига(ThisWorkbook) -двойной щелчок по ней и в окно редактора справа вставляется этот код.

Лист «LOG» рекомендую сделать скрытым, иначе смысла в отслеживании действий мало, т.к. любой сможет перейти на этот лист и стереть историю своих изменений. Надежно скрыть лист поможет эта статья: Как сделать лист очень скрытым.


Для того, чтобы хранить историю изменений в отдельном текстовом файле или отдельной книге Excel можно применить такой код:

Option Explicit
Public sValue As String
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    If Sh.Name = "LOG" Then Exit Sub
    Dim sLastValue As String
    Dim lLastRow As Long, wbLOG As Workbook
    Dim sPath as String
    Const sLOGName As String = "LOG.txt" '"LOG.xls"
    sPath = Application.DefaultFilePath
    Application.ScreenUpdating = False
    '==============   только для записи в текстовый файл   ======================
    If Dir(sPath & sLOGName, vbDirectory) = "" Then
        Open sPath & sLOGName For Output As #1: Close #1
    End If
    '==============   только для записи в отдельный файл Excel ======================
'    If Dir(sPath & sLOGName, vbDirectory) = "" Then
'        Set wbLOG = Workbooks.Add
'        wbLOG.SaveAs sPath & sLOGName, xlNormal
'    End If
    Set wbLOG = Workbooks.Open(sPath & sLOGName)
    '============================================================================
    With wbLOG.Sheets(1)
        lLastRow = .Cells.SpecialCells(xlLastCell).Row + 1
        If lLastRow = .Rows.Count Then Exit Sub
        Application.ScreenUpdating = False: Application.EnableEvents = False
        .Cells(lLastRow, 1) = CreateObject("wscript.network").UserName
        .Cells(lLastRow, 2) = Target.Address(0, 0)
        .Cells(lLastRow, 3) = Format(Now, "dd.mm.yyyy HH:MM:SS")
        .Cells(lLastRow, 4) = Sh.Name
        .Cells(lLastRow, 5).NumberFormat = "@"
        .Cells(lLastRow, 5) = sValue
        If Target.Count > 1 Then
            Dim rCell As Range, rRng As Range
            On Error Resume Next
            Set rRng = Intersect(Target, Sh.UsedRange): On Error GoTo 0
            If Not rRng Is Nothing Then
                For Each rCell In rRng
                    If Not IsError(Target) Then sLastValue = sLastValue & "," & rCell Else sLastValue = sLastValue & "," & "Err"
                Next rCell
                sLastValue = Mid(sLastValue, 2)
            Else
                sLastValue = ""
            End If
        Else
            If Not IsError(Target) Then sLastValue = Target.Value Else sLastValue = "Err"
        End If
        .Cells(lLastRow, 6).NumberFormat = "@"
        .Cells(lLastRow, 6) = sLastValue
    End With
    wbLOG.Close 1
    Application.ScreenUpdating = True: Application.EnableEvents = True
End Sub
 
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
    If Sh.Name = "LOG" Then Exit Sub
    If Target.Count > 1 Then
        Dim rCell As Range, rRng As Range
        On Error Resume Next
        Set rRng = Intersect(Target, Sh.UsedRange): On Error GoTo 0
        If rRng Is Nothing Then Exit Sub
        For Each rCell In rRng
            If Not IsError(rCell) Then sValue = sValue & "," & rCell Else sValue = sValue & "," & "Err"
        Next rCell
        sValue = Mid(sValue, 2)
    Else
        If Not IsError(Target) Then sValue = Target.Value Else sValue = "Err"
    End If
End Sub

Файл хранится в папке «Мои документы» пользователя. Имя файла — LOG.txt задается посредством константыConst sLOGName As String = «LOG.txt»

Чтобы вести изменения в отдельной книге Excel надо будет всего лишь закомментировать строки под «только для записи в текстовый файл» и раскомментировать строки под «только для записи в отдельный файл Excel» и поменять значение для константыConst sLOGName As String = «LOG.xls»
Не следует оставлять оба этих блока — они противоречат друг другу и если оставить оба, то будет создан текстовый файл, но изменения все равно будут заноситься в отдельную книгу Excel.
Если хотите, чтобы файл с историей изменений хранился в папке, отличной от Мои документы, то необходимо
Application.DefaultFilePath заменить на нужный путь, к примеру такой:sPath = «C:UsersThe_PristРабочий стол»

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


Все чаще стали появляться вопросы типа «А как отследить изменения только в конкретном диапазоне?». На самом деле не очень сложно. Надо добавить пару строк, которые будут определять в каких ячейках были изменения и какие отслеживать. Только добавить строки надо будет в обеих процедурах: Workbook_SheetChange и Workbook_SheetSelectionChange.
Например, код ниже будет отслеживать только те ячейки, для которых значение изменили только в диапазоне B:F:

Option Explicit
Public sValue As String
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    If Sh.Name = "LOG" Then Exit Sub
    Dim rCells As Range
    'если изменения произошли не в диапазоне "B:F" - ничего не делаем
    On Error Resume Next
    Set rCells = Intersect(Target, Range("B:F"))
    If rCells Is Nothing Then Exit Sub
    On Error GoTo 0
 
    Dim sLastValue As String
    Dim lLastRow As Long, wbLOG As Workbook
    Dim sPath as String
    Const sLOGName As String = "LOG.txt" '"LOG.xls"
    sPath = Application.DefaultFilePath
    Application.ScreenUpdating = False
    '==============   только для записи в текстовый файл   ======================
    If Dir(sPath & sLOGName, vbDirectory) = "" Then
        Open sPath & sLOGName For Output As #1: Close #1
    End If
    '==============   только для записи в отдельный файл Excel ======================
'    If Dir(sPath & sLOGName, vbDirectory) = "" Then
'        Set wbLOG = Workbooks.Add
'        wbLOG.SaveAs sPath & sLOGName, xlNormal
'    End If
    Set wbLOG = Workbooks.Open(sPath & sLOGName)
    '============================================================================
    With wbLOG.Sheets(1)
        lLastRow = .Cells.SpecialCells(xlLastCell).Row + 1
        If lLastRow = .Rows.Count Then Exit Sub
        Application.ScreenUpdating = False: Application.EnableEvents = False
        .Cells(lLastRow, 1) = CreateObject("wscript.network").UserName
        .Cells(lLastRow, 2) = Target.Address(0, 0)
        .Cells(lLastRow, 3) = Format(Now, "dd.mm.yyyy HH:MM:SS")
        .Cells(lLastRow, 4) = Sh.Name
        .Cells(lLastRow, 5).NumberFormat = "@"
        .Cells(lLastRow, 5) = sValue
        If rCells.Count > 1 Then
            Dim rCell As Range, rRng As Range
            On Error Resume Next
            Set rRng = Intersect(rCells, Sh.UsedRange): On Error GoTo 0
            If Not rRng Is Nothing Then
                For Each rCell In rRng
                    If Not IsError(Target) Then sLastValue = sLastValue & "," & rCell Else sLastValue = sLastValue & "," & "Err"
                Next rCell
                sLastValue = Mid(sLastValue, 2)
            Else
                sLastValue = ""
            End If
        Else
            If Not IsError(Target) Then sLastValue = Target.Value Else sLastValue = "Err"
        End If
        .Cells(lLastRow, 6).NumberFormat = "@"
        .Cells(lLastRow, 6) = sLastValue
    End With
    wbLOG.Close 1
    Application.ScreenUpdating = True: Application.EnableEvents = True
End Sub
 
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
    If Sh.Name = "LOG" Then Exit Sub
    Dim rCells As Range
    'если изменения произошли не в диапазоне "B:F" - ничего не делаем
    On Error Resume Next
    Set rCells = Intersect(Target, Range("B:F"))
    If rCells Is Nothing Then Exit Sub
    On Error GoTo 0
 
    If rCells.Count > 1 Then
        Dim rCell As Range, rRng As Range
        On Error Resume Next
        Set rRng = Intersect(rCells, Sh.UsedRange): On Error GoTo 0
        If rRng Is Nothing Then Exit Sub
        For Each rCell In rRng
            If Not IsError(rCell) Then sValue = sValue & "," & rCell Else sValue = sValue & "," & "Err"
        Next rCell
        sValue = Mid(sValue, 2)
    Else
        If Not IsError(Target) Then sValue = Target.Value Else sValue = "Err"
    End If
End Sub

Скачать пример

  Tips_Macro_LOG.xls (50,0 KiB, 8 023 скачиваний)

Так же см.:
Выделение сделанных изменений
Запись изменений на листе в примечания


Статья помогла? Поделись ссылкой с друзьями!

  Плейлист   Видеоуроки


Поиск по меткам



Access
apple watch
Multex
Power Query и Power BI
VBA управление кодами
Бесплатные надстройки
Дата и время
Записки
ИП
Надстройки
Печать
Политика Конфиденциальности
Почта
Программы
Работа с приложениями
Разработка приложений
Росстат
Тренинги и вебинары
Финансовые
Форматирование
Функции Excel
акции MulTEx
ссылки
статистика

Журнал учета заявок Excel

Если театр начинается с вешалки, то бизнес в сфере предоставления услуг начинается с регистрации заявок. Журнал учета заявок excel — автоматизированная табличная форма регистрации и ведения заявок на предоставление услуг, созданная в среде Microsoft Excel. Удобный инструмент учета входящего потока клиентов, обеспечивающий сопровождение заказа от этапа поступления заявки до момента его завершения и получения обратной связи. Применение данного инструмента позволит отойти от устаревшей бумажной формы журнала, что позволит увеличить эффективность работы: отслеживание статуса заявки, назначение исполнителей, ведение единой клиентской базы. Также электронная версия журнала учета заявок обладает всеми возможностями стандартного документа Excel, такими как форматирование данных, фильтрация, сортировка, что существенно повышает скорость обработки заказов.

Ссылка для скачивания:

— Скачать журнал учета заявок Excel (архив 410 КБ)

Журнал учета заявок

Как начать работу с журналом учета заявок в excel:

1. Скачайте архив с файлом по ссылке выше и разархивируйте с помощью программы 7zip или WinRar.

2. При появлении баннера предупреждения закройте программу, кликните правой кнопкой мыши на файле, выберите «Свойства», далее установите галочку в разделе «Разблокировать».
сообщение безопасности платежного календаряразблокировать платежный календарь

3. Если в Вашем Microsoft Office запуск макросов по умолчанию выключен, то в данном предупреждении необходимо кликнуть «Включить содержимое».включить содержимое

4. Для полноценной работы с программой также необходимо нажать кнопку «Разрешить редактирование» при появлении сообщения, как на рисунке ниже.разрешить редактирование

Инструкция по настройке журнала учета заявок

Журнал учета заявок представляет из себя стандартную рабочую книгу Excel в формате поддержки макросов xlsm. При открытии файла по умолчанию вам будут доступны три листа:

  • Инструкция — перечень действий для первого запуска и настройки программы;
  • Настройки — справочники для автозаполнения полей со списком на листе журнала учета заявок;
  • Январь гггг — непосредственно сам журнал учета заявок, построенный на основе тестовых данных для ознакомления с функционалом и возможностями программы.

Перейдем к более детальному рассмотрению листа с настройками.настройка журнала учета заявок

Данный лист состоит из следующих основных элементов:

  • Справочник исполнителей — список сотрудников в формате [ФИО | Должность], ответственных за выполнение заявки;
  • Справочник статусов заявок — перечень статусов/состояний заявки. Можно отредактировать на свое усмотрение;
  • Справочник диспетчеров — сотрудники, которые отвечают за прием и регистрацию входящего потока клиентов.
  • Кнопка «Создать журнал» — запуск процедуры построения чистого шаблона журнала за определенный месяц и год (выбираются во всплывающем диалоговом окне).

журнал учета заявок - окно выбора

Для построения журнала учета заявок заполните справочные таблицы своими данными и нажмите кнопку «Создать журнал». Далее выберите месяц и год построения.

Ведение журнала учета заявок

После того как журнал учета заявок будет сформирован, в Вашем распоряжении окажется пустой лист — шаблон документа. Каждый новый лист имеет наименование [месяц_год], для того чтобы упорядочить учет по периодам. Рассмотрим основные правила заполнения таблицы на основе заполненного тестового примера.

Первая часть таблицы представлена на рисунке ниже:

заполнение журнала учета заявок

Вторая часть таблицы:

учет заявок клиентов

Дата поступления заявки заполняется с помощью встроенного календаря. Вызовите его кликнув правой кнопкой мыши на ячейке с датой. Время поступления заявки заполняется вручную. Далее идет блок данных заявителя: ФИО, телефон, адрес. Также заполняется вручную диспетчером (менеджером) при поступлении заявки. Блок №6 «Описание заявки» — краткий перечень основных работ. Следом идет колонка «Назначенный исполнитель» — выберите сотрудника из выпадающего списка (подтягивается с листа Настройки), который ответственен за выполнение работ по заявке. Статус заявки аналогично заполняется с помощью выбора одного из предложенных вариантов. По умолчанию на листе настроек указаны следующие статусы: В работе, Ожидание, Выполнена, Не выполнена, Отменена, Перенесена. При смене статуса, для наглядности, строка заявки окрашивается в соответствующий цвет посредством условного форматирования. Замените или удалите статусы на листе настроек при необходимости. В блоке №9 «Комментарий по заявке» можно оставлять актуальные заметки о ходе выполнения заказа.

Формат таблицы имеет рекомендательных характер и может быть изменен / доработан в соответствии с потребностями Вашего бизнеса. Контакты для связи со мной приведены ниже.

Заказать разработку или доработку программы

Доброго времени суток, дорогие читатели!

Надеюсь, Вам понравилась моя статья и данное ПО окажется полезным для Вашего дела. Более 10 лет работаю в сфере автоматизации бизнес процессов на ежедневной основе. За эти годы накоплен огромный опыт решения рутинных задач, на которые менеджеры тратят часы, а порой и дни! Готов взяться за реализацию любого продукта, дать совет по автоматизации Ваших бизнес потребностей. Занимаюсь индивидуальной разработкой программ учета для организаций и предприятий, а также настройкой и доработкой представленных продуктов. Среди моих клиентов как крупные российские компании, так и огромное количество представителей малого бизнеса. Гарантирую качество и индивидуальный подход к любой задаче. Ну, и приятное общение, само собой разумеется!) Для связи со мной можно использовать WatsApp +79507094770, сайт excellab.ru или написать мне на почту: goryaninov@bk.ru, профиль вк.

Ссылка для скачивания:

— Скачать журнал учета заявок Excel (архив 410 КБ)

Другие популярные программы и продукты Excellab.ru

Здесь можно ознакомиться с другими программами автоматизации, которые представлены на моем сайте:

— Дневной табель учета рабочего времени в excel
— Почасовой табель учета рабочего времени в excel
— Табель учета рабочего времени в днях по форме Т-13
— Табель расчет и планирование вахты
— Табель учета рабочего времени с учетом ночных смен
— Учет доходов и расходов
— Автоматизированное формирование документов

— Платежный календарь в excel

Содержание

  • 1 Получите полные комплекты
    • 1.1 1. Создаем три уровня простоев
    • 1.2 2. Кодируем простои 3-го уровня
    • 1.3 3. Создаем журнал учета простоев (файл в формате Excel)

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

Итак, давайте разберем процесс создания электронного журнала. Создаем документ excel и сохраняем его под каким-то, удобным для вас, именем. Каждый класс у нас будет на отдельном листе (это видно внизу рисунка, сейчас открыт лист 7г). Делим класс на подгруппы и можем помечать месяц и число так, как показано на рисунке.
Отметку за полугодие вы можете вывести по формуле среднего значения всех отметок. Так же появляется возможность ведения различных статистик, т. е. различные рейтинги. Для каждого класса на листе рейтинг отображаются диаграммы успеваемости, что является дополнительной мотивацией при показе их учащимся.

Так же я планирую сделать диаграмму рейтингов для каждого ученика на листе соответствующего класса, что будет являться дополнительным мотивирующим фактором, т.к. учащимся будет наглядно представлено как кто успевает, кто лидирует и кому необходимо подтянуться. В классе вырастает конкуренция, что заставляет учащихся стремиться к самосовершенству на подсознательном уровне, хотя на самом деле они почему-то демонстрируют свое безразличие. Это довольно таки спорный вопрос.
Каждый из нас знает, что, совершая опрос, возникает необходимость помечать ответы, т. е. ставить плюсы или минусы. Это запрещается делать в классном журнале, поэтому возникает необходимость в составлении какого то дополнительного списка. У учителя информатики преимущество в том, что у него в кабинете стоят компьютеры и можно делать все эти пометки в электронном журнале. Я, например, если ученик получает минус — ставлю точку, если плюс то ставлю звездочку. Все эти пометки влияют на последующую отметку и учащиеся, понимая это, начинают стараться не заработать минус (хотя жаль, что не все).
У нас всегда есть все отметки, и вся статистика в электронном виде, как следствие, вводя обыкновенные формулы, мы можем высчитывать все что хотим и все, что требуется.
Как видим, у электронного журнала есть куча плюсов, но все же есть большой недостаток — дополнительные временные затраты, хотя они все окупаются когда вы без ошибок и без особых проблем переносите отметки в классный журнал.

Получите полные комплекты

«Создание электронного журнала в Microsoft Office Excel»

Разработчик:

преподаватель информатики:

Ласкин В.О.

e-mail: LaskinVitaly@mail.ru

1 Оформление главной страницы

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

Главную страницу удобнее всего сделать в виде раскрывающегося списка, в котором будут присутствовать две группы: журналы и календарно-тематические планы, а так же два вида отчетов: отчет по часам и отчет по успеваемости (рисунок 1).

Рисунок 1. Главная страница электронного журнала

Для того чтобы структурировать предметы и календарно-тематические планы по группам нужно:

  1. выделить все предметы;

  2. перейти на вкладку Данные, выбрать инструмент Структура → Группировать → Строки.

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

Для перехода между страницами внутри журнала необходима навигация. Навигацию осуществляем с помощью макросов.

Создадим страницы журнала, календарно-тематического плана, отчетов и назовем их соответственно: математика, информатика, КТП математика и т.д.

Рисунок 2. Создание страниц электронного журнала

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

Sub Перейти_в_математика()

Worksheets(«Математика»).Visible = True

Worksheets(«Информатика»).Visible = False

Worksheets(«Русский язык»).Visible = False

Worksheets(«Физика»).Visible = False

Worksheets(«Химия»).Visible = False

Worksheets(«История»).Visible = False

Worksheets(«КТП Математика»).Visible = False

Worksheets(«КТП Информатика»).Visible = False

Worksheets(«КТП Русский язык»).Visible = False

Worksheets(«КТП Физика»).Visible = False

Worksheets(«КТП Химия»).Visible = False

Worksheets(«КТП История»).Visible = False

Worksheets(«Отчет по часам»).Visible = False

Worksheets(«Содержание»).Visible = False

End Sub

Команда Worksheets(«Лист»).Visible = False, скрывает лист, команда Worksheets(«Лист»).Visible = True показывает лист. Присвоив кнопке данный макрос, мы осуществим переход на лист Математика и скроем все остальные листы. Таким образом, присвоив подобный код каждой кнопке, мы осуществим навигацию по данному журналу.

2 Создание страниц электронного журнала

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

Рисунок 3. Примерное оформление страниц электронного журнала

Для подсчета пропусков необходимо ввести в ячейку следующую формулу =СЧЁТЕСЛИ(E3:BD3;»н»). Данная формула считает все ячейки с диапазона E3 по BD3, которые удовлетворяют условию «в ячейке содержится запись н».

Для подсчета среднего бала может использоваться формула =СРЗНАЧ(E3:BD3). Но так как при наличии пропусков по предмету более чем 30% ученик не аттестуется, считать средний бал не имеет смысла, поэтому имеет место следующая формула:

=ЕСЛИ((C3/52)

Она анализирует количество пропусков и если их будет меньше 30%, то формула считает среднее значение. В противном случае в ячейку записывается н, что означает, не аттестован.

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

Для навигации по электронному журналу предусмотрены две кнопки: Изменить темы и Содержание. Первая кнопка будет отправлять нас на страницу с календарно-тематическим планом по данному предмету, вторая на главную страницу электронного журнала. Кнопки создаются способом, описанным в пункте 2.

3 Оформление календарно-тематического плана

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

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

Приблизительный вид страницы календарно-тематического плана показан на рисунке 4.

Рисунок 4. Оформление календарно-тематического плана

Рассмотрим процесс создания кнопки записать изменения. Данная кнопка содержит в себе следующий макрос.

Sub Записать_в_Математика() {Название процедуры}

Dim B, L As Integer {Переменным B и L назначаем вещественный тип. Переменная B используется для подсчета количества тем, L – используется для обращения к определенным ячейкам}

Worksheets(«Математика»).Visible = True {Показывает лист Математика}

B = Range(Cells(2, 2), Cells(53, 2)).Count {Переменной B присваивается значение равное количеству тем}

For L = 2 To B + 1 {Цикл, записывающий значения тем из КТП Математика на страницу журнала Математика. Выполняется столько раз, сколько существует тем в календарно-тематическом плане}

Range(Cells(L, 2), Cells(L, 2)).Select {Выделение ячеек с темами КТП Математика}

A = ActiveCell.FormulaR1C1 {Переменной A присваиваются значения ячеек КТП Математика}

Sheets(«Математика»).Select {Переход на страницу Математика}

Range(Cells(1, L + 3), Cells(1, L + 3)).Select {Выделение ячеек строки для ввода числа занятия}

Range(Cells(1, L + 3), Cells(1, L + 3)).ClearComments {Удаление примечания}

Range(Cells(1, L + 3), Cells(1, L + 3)).AddComment {Добавление примечания}

Range(Cells(1, L + 3), Cells(1, L + 3)).Comment.Visible = False {Примечание будет видимым только при наведении мыши}

Range(Cells(1, L + 3), Cells(1, L + 3)).Comment.Text Text:=A {В примечание записывается содержимое переменной A}

Sheets(«КТП Математика»).Select {Переход на страницу КТП Математика}

Next L {Конец цикла}

Worksheets(«Математика»).Visible = False {Делает лист Математика скрытым}

End Sub

Кнопки служащие для перехода по страницам журнала создаются способом, описанным в пункте 2)

4 Создание отчета по проведенным часам

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

Примерный вид данной таблицы показан на рисунке 5.

Формула в ячейках столбца Провел будет иметь следующий вид:

=СЧЁТ(Лист!E1:BD1),

где вместо слова Лист будет имя листа с соответствующим предметом. Функция счет считает количество непустых ячеек из диапазона строки с числами занятий.

Формула в ячейках столбца Осталось имеет вид =B5-C5. Из ячейки По плану вычитаем значение ячейки Провел.

В последнюю строку вставляем формулу =СУММ(B5:B10), которая считает сумму значений ячеек по всем предметам.

Рисунок 5. Отчет по проведенным часам

Кнопка Содержание осуществляет переход на главную страницу. Оформляется способом, описанным в пункте 2.

5 Создание отчета успеваемости

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

Примерный вид данного отчета показан на рисунке 6.

Рассмотрим этап создания раскрывающегося меню:

  1. Выбираем инструмент элементы управления → раскрывающееся меню и вставляем данный элемент на страницу.

  2. Добавим в меню список учащихся. Щелчком правой кнопки выбираем пункт формат объекта. В открывшимся окне в поле формировать список по диапазону вводим Математика!$B$3:$B$25, то есть формируем список из списка учеников. В поле Связь с ячейкой вводим $J$1. Данная связь понадобиться нам в написании макроса. Но чтобы пользователь не видел дополнительную надпись, нужно ее замаскировать, изменив цвет текста на белый.

Рисунок 6. Отчет по успеваемости

Создадим кнопку Сформировать отчет и назначим ей следующий макрос.

Sub Отчет_по_успеваемости()

S = Range(Cells(1, 11), Cells(1, 11)).Text {Переменной S присваиваем значение замаскированной ячейки}

Worksheets(«Математика»).Visible = True {Показывает лист Математика}

Sheets(«Математика»).Select {Переход на лист Математика}

DDD = «» {Переменная DDD будет хранить оценки по предмету}

A = 0 {A считает количество пропусков}

B = Range(Cells(3, 2), Cells(53, 2)).Count {Переменной B присваивается значение равное количеству учащихся}

For i = 3 To B + 2 {Данный цикл перебирает фамилии учащихся и когда находит нужную фамилию перебирает его оценки и пропуски. Оценки заносятся в переменную DDD, пропуски в A. Данных циклов в программе будет несколько и равно количеству предметов}

If Range(Cells(i, 2), Cells(i, 2)).Text = S Then

For j = 5 To 60

If Range(Cells(i, j), Cells(i, j)).FormulaR1C1 = «н» Then

A = A + 1

ElseIf Range(Cells(i, j), Cells(i, j)).FormulaR1C1 = «» Then

Else

DDD = DDD + Range(Cells(i, j), Cells(i, j)).FormulaR1C1 + «, «

End If

Next j

Sheets(«Отчет по успеваемости»).Select

Range(Cells(4, 2), Cells(4, 2)).FormulaR1C1 = DDD {Запись оценок по первому предмету в отчет}

End If

Next i

Worksheets(«Информатика»).Visible = True

Worksheets(«Математика»).Visible = False

Sheets(«Информатика»).Select

DDD = «» {Очищаем переменную DDD для записи в нею оценок по второму предмету}

For i = 3 To B + 2

If Range(Cells(i, 2), Cells(i, 2)).Text = S Then

For j = 5 To 60

If Range(Cells(i, j), Cells(i, j)).FormulaR1C1 = «н» Then

A = A + 1

ElseIf Range(Cells(i, j), Cells(i, j)).FormulaR1C1 = «» Then

Else

DDD = DDD + Range(Cells(i, j), Cells(i, j)).FormulaR1C1 + «, «

End If

Next j

Sheets(«Отчет по успеваемости»).Select

Range(Cells(5, 2), Cells(5, 2)).FormulaR1C1 = DDD

End If

Next i

Worksheets(«Русский язык»).Visible = True

Worksheets(«Информатика»).Visible = False

Sheets(«Русский язык «).Select

DDD = «»

For i = 3 To B + 2

If Range(Cells(i, 2), Cells(i, 2)).Text = S Then

For j = 5 To 60

If Range(Cells(i, j), Cells(i, j)).FormulaR1C1 = «н» Then

A = A + 1

ElseIf Range(Cells(i, j), Cells(i, j)).FormulaR1C1 = «» Then

Else

DDD = DDD + Range(Cells(i, j), Cells(i, j)).FormulaR1C1 + «, «

End If

Next j

Sheets(«Отчет по успеваемости»).Select

Range(Cells(6, 2), Cells(6, 2)).FormulaR1C1 = DDD

End If

Next i

Worksheets(«Физика»).Visible = True

Worksheets(«Русский язык»).Visible = False

Sheets(«Физика»).Select

DDD = «»

For i = 3 To B + 2

If Range(Cells(i, 2), Cells(i, 2)).Text = S Then

For j = 5 To 60

If Range(Cells(i, j), Cells(i, j)).FormulaR1C1 = «н» Then

A = A + 1

ElseIf Range(Cells(i, j), Cells(i, j)).FormulaR1C1 = «» Then

Else

DDD = DDD + Range(Cells(i, j), Cells(i, j)).FormulaR1C1 + «, «

End If

Next j

Sheets(«Отчет по успеваемости»).Select

Range(Cells(7, 2), Cells(7, 2)).FormulaR1C1 = DDD

End If

Next i

Worksheets(«Химия»).Visible = True

Worksheets(«Физика»).Visible = False

Sheets(«Химия»).Select

DDD = «»

For i = 3 To B + 2

If Range(Cells(i, 2), Cells(i, 2)).Text = S Then

For j = 5 To 60

If Range(Cells(i, j), Cells(i, j)).FormulaR1C1 = «н» Then

A = A + 1

ElseIf Range(Cells(i, j), Cells(i, j)).FormulaR1C1 = «» Then

Else

DDD = DDD + Range(Cells(i, j), Cells(i, j)).FormulaR1C1 + «, «

End If

Next j

Sheets(«Отчет по успеваемости»).Select

Range(Cells(8, 2), Cells(8, 2)).FormulaR1C1 = DDD

End If

Next i

Worksheets(«История»).Visible = True

Worksheets(«Химия»).Visible = False

Sheets(«История»).Select

DDD = «»

For i = 3 To B + 2

If Range(Cells(i, 2), Cells(i, 2)).Text = S Then

For j = 5 To 60

If Range(Cells(i, j), Cells(i, j)).FormulaR1C1 = «н» Then

A = A + 1

ElseIf Range(Cells(i, j), Cells(i, j)).FormulaR1C1 = «» Then

Else

DDD = DDD + Range(Cells(i, j), Cells(i, j)).FormulaR1C1 + «, «

End If

Next j

Sheets(«Отчет по успеваемости»).Select

Range(Cells(10, 2), Cells(10, 2)).FormulaR1C1 = A {Запись пропусков в отчет}

Range(Cells(9, 2), Cells(9, 2)).FormulaR1C1 = DDD

End If

Next i

Worksheets(«История»).Visible = False

End Sub

Кнопка Содержание осуществляет переход на главную страницу. Оформляется способом, описанным в пункте 2.

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

  1. Microsoft Office Excel 2003. Учебный курс / В. Кузьмин,  СПб.: Питер; Киев: Издательская группа BHV, 2004  493 с

  2. Гарнаев А. Ю., Использование MS Excel и VBA в экономике и финансах.  СПб.: БХВ — Санкт-Петербург, 2000  336 с

  3. Информатика. Базовый курс. 2-е издание / Под. Ред. С.В. Симоновича.  СПб.: Питер, 2005 – 640 с.: ил.

  4. Информатика: Общий курс: учебник / под. ред. академика РАН В.И. Колесникова.  М.: Наука  Пресс, 2007  400 с.

  5. Использование макросов в Excel. 2-е изд. / С. Роман.  СПб.: Питер, 2004  507 с

  6. Камминг С., VВА для «чайников», 3-е издание. : Пер. с англ.  М. : Издательский дом «Вильямc», 2001  448 с

  7. Куприянова А.В., Корнеев В.Н., Excel 2007. Просто о сложном / Наука и техника, СПб. – 2008

  8. Струченков В.И. Методы оптимизации в прикладных задачах / Солон-Пресс, Москва – 2009

  9. Хелдман К., Хелдман У., Excel 2007. Руководство менеджера проекта / Ким Хелдман, Уильям Хелдман.  М.: Эксмо, 2008  448 с.

  10. Хорев В. Д., Самоучитель программирования на VBA в Microsoft Office /  К.: Юниор/2001  320 с.

Автор: Андрей Дата: 13.09.2014 Рубрика:

Учет простоев и потерь

Учет и анализ простоев – это одна из основополагающих в формуле повышения эффективности производства. Адекватный учет простоев оборудования позволит увидеть реальные узкие места в производстве. Правильная организация учета и анализа простоев позволит повысить эффективность производства и, в конечном итоге, минимизировать затраты и увеличить прибыль.

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

1. Создаем три уровня простоев

Уровень 1 – самый верхний уровень простоев. Это самая вершина пирамиды и состоит она буквально из нескольких пунктов (например: простой производственной линии; общезаводской простой; ненадлежащее снабжение ТМЦ и т.д.).

Уровень 2 – более расширенный список простоев. Это список, который расшифровывает простои уровня 1 (например: общезаводской простой 1-го уровня состоит из таких простоев 2-го уровня: аварийное отключение электроэнергии; аварийность ЖД; аварийность автотранспорта и т.д.).

Уровень 3 – детальный список простоев. Это самый детальный список поломок и простоев. Но, исходя из личного опыта, хочу предупредить, что список простоев 3-го уровня всё-таки не стоит делать слишком большим. Список в 500 пунктов уже будет довольно тяжел в работе и рискует не прижиться. В нашем случае был разработан список из 200 таких позиций, и, поверьте, даже с таким списком на первых порах было затруднительно работать. Итак, список простоев 3-го уровня – это именно тот список, с которым придется работать конечному пользователю (работнику, который будет на своем рабочем месте фиксировать простои). Но все же, необходимо сделать его максимально полным, при этом сохранив его компактность, и попытаться максимально избежать таких пунктов, как «прочие» (например: простой 2-го уровня «аварийное отключение электроэнергии» может состоять из таких пунктов: выход из строя центральной трансформаторной подстанции; повреждение линий электропередач; выход из строя одного ввода; аварийное отключение электроэнергии из-за погодных условий (гроза) и т.д.).

Почему, как указано выше, нужно прилагать максимальные усилия для исключения из списка простоев 3-го уровня пункт «прочие»? Всё очень просто. Имея в перечне из 100 или 300 позиций простоев пункт «прочие», человек при фиксации простоев может перестать пользоваться списком как таковым и все его простои станут «прочими», что значительно затруднит анализ. И таких пользователей, поверьте, будет не мало.

2. Кодируем простои 3-го уровня

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

Внимание! Для корректной работы журнала учета простоев в Excel, коды простоев не должны повторяться, т.е. каждый простой 3-го уровня должен иметь свой индивидуальный код.

Пример кодирования простоев 3-го уровня:

Код 1 уровень 2 уровень 3 уровень
1 Общезаводской простой Аварийное отключение электроэнергии Выход из строя центральной трансформаторной подстанции
2 Общезаводской простой Аварийное отключение электроэнергии Повреждение высоковольтных линий электропередач
3 Общезаводской простой Аварийное отключение электроэнергии Выход из строя одного ввода
4 Общезаводской простой Аварийное отключение электроэнергии Аварийное отключение электроэнергии из-за погодных условий (гроза)
5 Общезаводской простой Аварийное отключение электроэнергии Свободный (запасной)
6 Общезаводской простой Аварийность ЖД Отсутствие порожних ЖД вагонов
7 Общезаводской простой Аварийность ЖД Выход из строя ЖД весов
8 Общезаводской простой Аварийность ЖД Выход из строя маневровой лебедки на пункте погрузки
9 Общезаводской простой Аварийность ЖД Отсутствие сотрудников на пункте погрузки
10 Общезаводской простой Аварийность ЖД Свободный (запасной)

Самым последним пунктом можно включить пункт типа «Для информации». Он будет служить для фиксирования информации, которая простой за собой не повлекла, но может быть важной для производства (например: при работе конвейера 1Л-120 греется подшипник на приводном барабане).

3. Создаем журнал учета простоев (файл в формате Excel)

Самый простой журнал учета простоев будет иметь вид (пример):

Столбцы B, C, E, I заполняются пользователем.

Рассмотрим заполнение журнала простоев более детально. Мы решили, что фиксируются все простои длительностью более одного часа (пересменки и прочие технологически необходимые простои мы учитывать не будем). Файл мы отдали диспетчеру нашей производственной линии, если нет возможности вести пользователю данный файл на компьютере, можно отдать его в бумажном режиме, при этом, для простоты работы, исключив столбцы, которые будут вычисляться автоматически. Вместе с файлом или журналом учета простоя на бумажном носителе у пользователя должен быть распечатанный перечень кодов простоев 3-го уровня с их текстовым пояснением. Для удобства пользования простои 1-го и 2-го уровня в этот список лучше не включать, чтобы не усложнять работу сотрудника при фиксации факта простоя. Список простоев 1-го и 2-го уровня он нужен уже непосредственно для анализа возникших простоев.

Итак, Столбец A – это обыкновенный порядковый номер записи простоя (этот столбец совсем не обязателен в журнале). Столбец D – время начала простоя, которое заноситься сотрудником при возникновении такового. Столбец C – время окончания простоя опять же заноситься сотрудником. Столбец D – расчетное значение времени простоя (его мы вычисляем по формуле «Столбец C» – «Столбец B»), если предприятие работает круглосуточно и производственные сутки считаются, скажем, с 8:00 до 8:00, то применяем формулу =ЕСЛИ(C2

Рассматриваются вопросы создания электронного журнала:

  • Оформление главной страницы
  • Создание страниц электронного журнала
  • Оформление календарно-тематического плана
  • Создание отчета по проведенным часам
  • Создание отчета успеваемости студентов

Полный текст материала Электронный журнал в Excel смотрите в скачиваемом файле.
На странице приведен фрагмент.

Автор: Ласкин Виталий Олегович →  Vitaly1987
03.04.2011 6 30232 7941
Комментировать

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

Вход

|

Регистрация

Есть мнение?
Оставьте комментарий

Cоздадим рабочую книгу Journal.xls и разобьем ее на рабочие листы с закладками соответствующих журналов: Прием, Перевод, Увольнение, Отпуск, Командировка, Договоры, СУП (система управления предприятием) и Обложка. Количество журналов зависит от документооборота предприятия. При большом объеме документооборота можно вести отдельно журналы регистрации по приему на работу, увольнению и переводам работников (их будет отличать номер с обязательным реквизитом – датой регистрации). Это позволяет быстро получить данные о количестве принятых или уволенных за определенный период. Также данная форма книги позволяет систематизировать издаваемые на предприятии приказы (распоряжения) по срокам хранения1, отследить дату издания того или иного приказа, а также сохранить непрерывность текущих номеров приказов в случае, если необходимо по каким-либо причинам изъять приказ из места их общего хранения.

Журнал приема на работу служит для регистрации приказов (распоряжений), изданных по унифицированным формам № Т-1 или № Т-1а. Срок хранения – 75 лет. Выделим следующие графы указанного журнала: порядковый номер в пределах регистрируемого массива (как правило, за год), дата издания приказа, Ф.И.О. работника, наименование должности работника, наименование отдела (цеха), номер трудового договора, примечание. Можно также указать место хранения приказа (наименование папки) в случае, если необходим быстрый поиск приказов по их содержанию. Пример рабочего листа журнала приема на работу показан на рис. 1.

Рисунок 1

Журнал учета приема на работу

Воспользуемся возможностью электронной таблицы Excel, позволяющей выбрать записи, удовлетворяющие определенному условию, и временно скрыть все остальные с помощью фильтра. Для этого необходимо выбрать пункты меню Данные > Фильтр > Автофильтр. В меню Фильтр:

  • пункт Все не применяется для ограничения набора отображаемых записей и используется по умолчанию для каждого поля;
  • пункт Первые 10 используется в числовых полях, чтобы отобразить первые или последние десять, пять или любое другое количество (или долю) записей;
  • пункт Условие позволяет задать произвольное условие, не входящее в список.

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

Журнал переводов на работу служит для регистрации приказов (распоряжений), изданных по унифицированным формам № Т-5 или № Т-5а. Срок хранения – 75 лет. В указанном журнале имеет смысл создать следующие графы: порядковый номер (может дополняться буквенным индексом), дата издания приказа, Ф.И.О. работника, наименование должности (прежнее место и новое место), наименование отдела или цеха (прежнее место и новое место), примечание. В графе «Примечание» контролируется движение документа (подписан / не подписан). Для этого можно использовать пункты меню Вид > Примечание. Пример рабочего листа журнала переводов на работу показан на рис. 2.

Рисунок 2

Журнал учета переводов на работу

Журнал увольнений служит для регистрации приказов (распоряжений) по унифицированным формам № Т-8 или № Т-8а. Срок хранения – 75 лет. Для него можно использовать следующие графы указанного журнала: порядковый номер, дата издания приказа, Ф.И.О. работника, наименование должности, наименование отдела (цеха), дата увольнения, основание прекращения трудовых отношений. Пример рабочего листа журнала увольнений на работу приведен на рис. 3.

Рисунок 3

Журнал учета увольнений

Срок хранения журнала учета трудовых договоров составляет 75 лет. Он может потребоваться в том случае, если предприятие заключает с работниками срочные трудовые договоры. При этом необходимо четко отслеживать не только дату заключения, но и истечение срока действия, иначе, согласно ч. 4 ст. 58 ТК РФ, такой срочный трудовой договор может стать трудовым договором, заключенным на неопределенный срок. Обычно в данном журнале указываются порядковый номер записи и год заключения договора, дата заключения трудового договора, Ф.И.О. поступающего на работу, должность, срок действия и дата прекращения трудового договора (для срочных трудовых договоров), номер изменения к трудовому договору. Пример рабочего листа журнала учета трудовых договоров показан на рис. 4.

Рисунок 4

Журнал учета трудовых договоров

Журнал учета отпусков служит для регистрации приказов (распоряжений), изданных по унифицированным формам № Т-6 или № Т-6а. Он имеет краткий срок хранения – 3 года (ст. 358 Перечня типовых управленческих документов, образующихся в деятельности организаций, с указанием сроков хранения, утв. Росархивом 06.10.2000). В этом журнале можно создать следующие графы: порядковый номер, дата издания приказа, Ф.И.О. работника, наименование должности работника, даты отпуска, вид отпуска, основание его предоставления. Пример рабочего листа показан на рис. 5.

Рисунок 5

Журнал учета отпусков

Журнал учета командировок служит для регистрации приказов (распоряжений) по унифицированным формам № Т-9 или № Т-9а, а также командировочных удостоверений по унифицированной форме № Т-10. Назовем следующие его графы: порядковый номер, дата, Ф.И.О. командируемого, наименование и номер документа, страна пребывания (важно для срока хранения), даты начала и окончания командировки. Пример рабочего листа журнала командировок показан на рис. 6.

Рисунок 6

Журнал учета командировок

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

Для защиты рабочих листов от исправлений можно использовать команду меню Сервис > Защита > Защитить лист. Если количество строк в рабочей тетради по высоте соответствует формату А4 (около 30 строк), необходимо распечатать лист журнала приказов.

Рисунок 7

Журнал учета приказов по основной деятельности

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

Для защиты от несанкционированного доступа журналы регистрации приказов (распоряжений) необходимо пронумеровать, прошнуровать и скрепить печатью предприятия и подписью руководителя. Таким образом, редактор таблиц Excel предоставляет мощный инструментарий для создания, форматирования и редактирования документов. HR-менеджеры смогут самостоятельно систематизировать работу с журналами, что позволит сэкономить время и силы при работе с учетной информацией.

Рисунок 8

Форма заполнения обложки журнала регистрации приказов

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

Like this post? Please share to your friends:
  • Вебслужба excel не работает
  • Ведение домашнего бюджета в excel шаблон скачать бесплатно
  • Вебслужба excel не обновляет
  • Ведение документооборота в excel
  • Вебинары по excel бесплатно