Изменения в реестре для excel

Excel для Microsoft 365 Excel 2021 Excel 2019 Excel 2016 Excel 2013 Еще…Меньше

Корпорация Майкрософт выпустила улучшение безопасности для Excel в обновлении за август 2022 г. Это улучшение безопасности блокирует надстройки Excel XLL с неправильным или отсутствующим расширением файла.

Требования к расширению файлов надстройки XLL для Excel

Допустимыми расширениями файлов для файлов надстроек XLL для Excel являются XLL и .dll . Файлы надстроек Excel XLL с другими расширениями файлов или расширение файла не является недопустимым, и после применения августовского обновления эти недопустимые файлы надстроек Excel XLL будут заблокированы.

Если надстройка Excel XLL заблокирована, пользователи увидят следующее оповещение:

Диалоговое окно с сообщением о том, что Excel обнаружил проблему с этим файлом, и его невозможно открыть.

Временное восстановление старого поведения

Существует способ временно отключить это улучшение безопасности для пользователей и организаций, использующих надстройки XLL Для Excel с отсутствующими или неправильными расширениями файлов. Он предоставляется для помощи пользователям, пока их надстройки XLL Excel и связанные решения обновляются для использования правильного расширения файла. Этот механизм будет удален в обновлении за январь 2023 г., после чего пользователи должны использовать допустимое расширение файла для надстроек XLL для Excel.

Чтобы восстановить старое поведение и разрешить надстройки XLL Excel с отсутствующими или неправильными расширениями файлов:

  1. Открытие редактора реестра

    Внимание: 
    Неправильное изменение реестра может привести к серьезному повреждению системы. Прежде чем вносить изменения в реестр, создайте резервные копии всех важных данных на компьютере.

  2. Добавить следующее значение реестра в качестве DWORD:

    1. Office 2013: ComputerHKEY_CURRENT_USERSoftwareMicrosoftOffice15.0ExcelSecurityEnforceXllExtension

    2. Office 2016, 2019, 2021, 365: ComputerHKEY_CURRENT_USERSoftwareMicrosoftOffice16.0ExcelSecurityEnforceXllExtension

  3. Установить значение 0

  4. Перезапустить Excel

Чтобы повторно включить исправление безопасности, удалите значение реестра, созданное на шаге 2.

Нужна дополнительная помощь?

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

   В данной статье пойдет речь о приложении Microsoft Excel 2007, который входит в пакет приложений Microsoft Office 2007. Речь пойдёт о небольшом недостатке данного приложения и как этот недочёт исправить.

   По умолчанию файлы Excel в Microsoft Office 2007 открываются в одном окне.

excel dva okna1   

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

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

     Проводим необходимые изменения в реестре           

   Прежде всего закрываем программу Microsoft Excel 2007. Для изменения ситуации, когда в «эксель» открывается только одно окно, необходимо открыть редактор реестра (все изменения в реестре вы проводите на свой страх и риск, будьте предельно аккуратны):

  1. Для открытия редактора реестра нажимаем Пуск и в окне поиска набираем команду regedit, затем нажимаем клавишу «Enter».
    excel dva okna2
  2. Открываем HKEY_CLASSES_ROOT/Excel.Sheet.12/shell/Open/command/
  3. Справа необходимо изменить ключ по умолчанию REG_SZ, для этого дважды нажимаем на строку ключа и в открывшемся окне в поле «Значение» дописываем в конце %1 и нажимаем «ОК». Т.е. «Значение» было:

“C:Program Files (x86)Microsoft Office Office 12 EXCEL.EXE” /e

станет:

“C:Program Files (x86)Microsoft Office Office 12 EXCEL.EXE” /e “%1”

excel dva okna3

  1. Необходимо переименовать в этом же окне ключ реестра command на command2
    excel dva okna4
  2. Переименуем папку в левом окне ddeexec на ddeexec2
    excel dva okna5
  3. Закрываем редактор реестра

   Можно снова открывать программу Microsoft Excel 2007 и уже при открытии новых окон проблем как раньше не будет, окна будут двигаться как вам нужно (возможно для применения новых настроек реестра придётся перезагрузить компьютер).

excel dva okna6

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

Также можно посмотреть короткое видео:

 

Читайте также: 
Microsoft Office 2013 — продление триал периода
Удаление лишних пробелов в тексте с помощью макроса

Хитрости »

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


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

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

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

Отслеживание изменений при помощи встроенных средств — Общий доступ к книге
Есть относительно простой способ отслеживать изменения(если это можно так назвать): дать книге общий доступ
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
ссылки
статистика

Хотя Microsoft Excel позволяет пользователям отменить действие 6 раз, вы можете увеличить или уменьшить это число с помощью этого руководства. Можно изменить количество уровней отмены в Excel с помощью редактора реестра. Вот что вам нужно сделать в реестре Windows, чтобы добиться цели.

Как и в некоторых других программах, которые позволяют пользователям редактировать файлы, вы можете отменить изменения в соответствии с вашими требованиями. Предположим, вы внесли несколько неверных изменений в свою электронную таблицу. Лучший способ избавиться от них — использовать опцию «Отменить». Однако проблема начинается, когда вам нужно отменить изменения более шести раз.

Даже если вы используете последнюю версию Microsoft Excel, вы не сможете отменить изменения более шести раз. Это связано с тем, что Microsoft Excel выделяет оперативную память для хранения только шести предыдущих изменений. Если вы увеличите это число, Microsoft Excel начнет использовать больше оперативной памяти, чем установлено по умолчанию. Другими словами, если у вас мало оперативной памяти, у вас будут отставания при использовании Microsoft Excel.

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

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

  1. Нажимать Win+R чтобы открыть приглашение «Выполнить».
  2. Тип regedit > ударил Войти кнопка.
  3. Нажми на Да кнопка.
  4. Перейдите к Майкрософт в HKCU.
  5. Щелкните правой кнопкой мыши Майкрософт > Создать > Ключ и установить имя как офис.
  6. Повторите эти шаги, чтобы создать следующие подразделы: 16.0 > excel > options.
  7. Щелкните правой кнопкой мыши параметры> Создать> Значение DWORD (32-разрядное).
  8. Установите имя как история отмены.
  9. Дважды щелкните по нему и выберите Десятичный вариант.
  10. Выберите значение от 0 до 100.
  11. Нажмите на ХОРОШО кнопка.

Чтобы узнать больше об этих шагах, продолжайте читать.

Во-первых, вам нужно открыть редактор реестра на вашем компьютере. Для этого нажмите Win + R> введите regedit> нажмите кнопку «Ввод» и нажмите «Да» в приглашении UAC.

Затем перейдите по этому пути:

HKEY_CURRENT_USERПрограммное обеспечениеПолитикиМайкрософт

Здесь вам нужно создать несколько подразделов. Для этого щелкните правой кнопкой мыши ключ Microsoft, выберите «Создать»> «Ключ» и назовите его офисом.

Как изменить количество уровней отмены в Excel

Затем повторите те же шаги и создайте подраздел под офис ключ и назовите его 16.0.0. После этого создайте следующие подразделы и назовите их excel и options.

Когда следующий путь будет готов, вам нужно создать значение REG_DWORD:

HKEY_CURRENT_USERSoftwarePoliciesMicrosoftoffice16.0exceloptions

Для этого щелкните правой кнопкой мыши параметры> Создать> Значение DWORD (32-разрядное) и установите имя как UndoHistory.

Как изменить количество уровней отмены в Excel

Затем щелкните правой кнопкой мыши значение REG_DWORD и выберите параметр «Десятичный». Затем установите значение данных от 0 до 100.

Как изменить количество уровней отмены в Excel

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

Наконец, нажмите кнопку «ОК» и перезагрузите компьютер, чтобы изменения вступили в силу.

Сколько раз вы можете отменить в Excel?

По умолчанию Excel позволяет пользователям отменять изменения до 6 раз. Однако в Excel можно изменить количество уровней отмены. Для этого вам нужно использовать реестр Windows. Здесь упоминается подробное руководство, и рекомендуется следовать ему, чтобы добиться цели.

Читайте: увеличьте или уменьшите максимальное количество отмен в PowerPoint.

Можно отменить только один раз в Excel?

Нет, настройка по умолчанию позволяет пользователям отменять изменения до шести раз. Тем не менее, вы можете изменить этот параметр с помощью редактора реестра. Для этого вам нужно создать значение REG_DWORD в ключе HKEY_CURRENT_USERSoftwarePoliciesMicrosoftoffice16.0exceloptions и установить данные значения от 0 до 100.

Как изменить количество уровней отмены в Excel

Здравствуйте, друзья сайта itswat.ru. Людям определённых профессий приходится работать с большим количеством всевозможных документов – внутренних, входящих, исходящих и других. В крупных организациях, где число документов гигантское, система их учёта чётко отлажена. Для создания электронных реестров используются профессиональные программы, лицензия на которые стоит прилично. Но что делать небольшой, только родившейся и ещё не раскрученной компании, или скромному предпринимателю? Документов не слишком много, но они есть и все очень важные. Их потеря может выйти боком, а платить ежемесячно за профессиональное ПО – лишние и пока неуместные траты. Мой ответ – используйте Excel и с помощью нескольких функций систематизируйте и учитывайте свои «важные бумажки». Итак, тема данного материала — как создать реестр документов в Excel. Дело не сложное, но муторное и с множеством нюансов, поэтому расскажу пошагово с картинками.

Содержание

1. Что можно поместить в реестр?
2. Пошаговая инструкция
2.1. Папка
2.2. Название
2.3. Документ

Что можно поместить в реестр?

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

Вы можете сделать также реестр платежей. Тоже прикреплю фото примера, может, кому-нибудь пригодится.

Я же буду создавать реестр текстовых документов, содержащих описания товаров, которые я когда-то составлял по просьбе одной бизнесвумен, по чистой случайности, завалявшиеся на моём ноутбуке. Делаю я это не по необходимости, а для того, чтобы наглядно продемонстрировать вам весь процесс. Это и будет пошаговая инструкция. Уяснив принципы, вы легко сможете адаптировать её под себя, изменив шапку таблицы и выбрав только те действия, которые понадобятся именно вам. Я использую Excel 2007, но версия не принципиальна. Вы можете работать в Excel 2010 или более поздних годов выпуска, ничего не потеряете, так как во всех редакциях используемые мной функции также присутствуют, а разделы меню и команды находятся там же, где и раньше.

Пошаговая инструкция

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

  1. Создаём новый документ, задаём ему имя и сохраняем как «Книга с поддержкой макросов».

  1. Выделяем примерную область значений, выбираем раздел «Вставка», элемент «Таблица», подтверждаем наличие заголовков.

  1. Заполняем названия заголовков. В моём случае это «Номер», «Заказчик», «Папка», «Название», «Документ» и «Директория».

  1. Приступаем к заполнению столбцов.
  2. Столбец «Номер» заполняется просто. Необходимо ввести в первую строку значение 1, а во вторую – 2, выделить обе заполненные ячейки, зацепиться за маленький чёрный квадратик в правом нижнем углу выделенной области и протащить его вниз на нужное количество строк. В нижних ячейках автоматически проставятся значения от 1 до …(зависит от нас).

  1. Столбец «Заказчик» можно заполнить вручную или способом, описанным для столбца «Название» при условии, что имена заказчиков – это по совместительству названия папок в общей директории.

  1. В столбце «Папка» я хочу видеть адрес папки, в которой располагается конкретный документ и при этом сделать его ссылкой, при нажатии на которую Excel будет перебрасывать меня в эту папку. Для этого я воспользуюсь функцией «ГИПЕРССЫЛКА». Подробнее опишу ниже.
  2. В столбце «Название» мне нужно отобразить имена документов, но вводить их все вручную очень долго. В Excel существует небольшая хитрость, позволяющая в разы ускорить процесс и автоматически заполнить ячейки названиями всех документов, находящихся в указанной папке. Это возможно благодаря функции «Файлы», ищите алгоритм чуть ниже.
  3. Столбец «Документ» будет содержать рабочую ссылку на нужный файл, нажатие на которую спровоцирует его открытие. Как это сделать, ищите чуть ниже.
  4. Столбец «Директория» — это всё тот же адрес папки, но без гиперссылки. Он нужен для того, чтобы заполнить предыдущие столбцы.

Папка

Чтобы получить активный адрес папки, где расположен нужный документ, воспользуемся функцией «Гиперссылка»:

  1. Ставим курсор в первую ячейку соответствующего столбца.
  2. Копируем адрес нужной папки.

  1. Вставляем его сразу в «Директорию», он пригодится в дальнейшем.

  1. Нажимаем в строке значений на fx и находим нужную функцию или вписываем вручную =ГИПЕРССЫЛКА(«адрес папки»).

  1. Ещё один способ, на мой взгляд, самый удобный – щёлкаем в нужной ячейке ПКМ (правой кнопкой мыши), в меню выбираем команду «Гиперссылка», в открывшемся мастере отыскиваем нужную папку и подтверждаем действие.

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

Название

С названием немного сложнее:

  1. Добавляем к адресу, помещённому нами в «Директорию» ещё один обратный слеш и звёздочку, то есть *.

  1. Выбираем раздел меню «Формулы», функцию «Диспетчер имён».

  1. А в её мастере команду «Создать».

  1. Задаём имя, в моём случае это будет «Название».

  1. В строке «Диапазон» пишем =ФАЙЛЫ( и щёлкаем курсором по соответствующей ячейке в столбце «Директория», закрываем скобку).

  1. Нажимаем ОК и «Закрыть».
  2. Ставим курсор в первую ячейку столбца.
  3. Вписываем туда формулу =ИНДЕКС(Название;СТРОКА()-1), где Название – это имя, заданное нами на четвёртом шаге данного алгоритма, а -1 обозначает, что данная ячейка стоит второй в столбце.
  4. Нажимаем «Энтер» и видим, что в столбце появились имена всех файлов, расположенных в указанной папке.

  1. Таким методом можно поместить в реестр названия не всех файлов, а выборочно в зависимости от формата. Для этого предварительно в адресе папке, указываемом в столбце «Директория», после звёздочки следует написать расширение файла, например, *docx, xls или jpeg. Это актуально, когда в одной папке находятся вперемешку файлы разных форматов – таблицы, картинки, текстовые документы и любые другие.

Если что-то вам по моим картинкам и описанию не понятно, то посмотрите следующую подробную инструкцию в формате видео.

Документ

Друзья, столбец «Документ» содержит то же название, но являющееся ссылкой. Чтобы этого добиться, следует проделать все те же действия, что и в предыдущем алгоритме до шага 8. Мы их опустим, так как повторно делать одно и то же не нужно. Теперь немного усложняем формулу. Она примет вид =ГИПЕРССЫЛКА(ИНДЕКС(Название;СТРОКА()-1)). После её размещения и ввода строки заполнятся теми же названиями, но являющими собой активные ссылки.

Вот, кажется, и всё. Старался описать алгоритм наиболее подробно. Меня ещё недавно спросили, как создать реестр сведений о доходах физических лиц, то есть формировать справки 2-НДФЛ и вести их учёт в программе «Налогоплательщик ЮЛ». Тема, в общем, та же, но программа другая, поэтому я решил посвятить ей отдельный материал. До скорых встреч.

Читайте также:

 

Nickolaich

Пользователь

Сообщений: 11
Регистрация: 01.01.1970

#1

02.03.2014 09:55:29

Всем привет.
Очень нужна ваша помощь.
Мне через макрос в Excel необходимо внести изменения в реестр, чтобы отключить предупреждение об отправке письма в Outlook.

На просторах интернета нашел такой код по добавлению записей в реестр:

Код
Key$ = "HKEY_CURRENT_USERSoftwareMicrosoftOffice" & Application.Version & "ExcelSecurity"
CreateObject("WScript.Shell").RegWrite Key$ & "AccessVBOM", 1, "REG_DWORD"

Он работает замечательно, но только для ветки «HKEY_CURRENT_USER».
Мне нужно внести изменения в ветку «HKEY_LOCAL_MACHINE», а с ней такой код работать не хочет.

Также пробовал использовать функцию «regcreatekeyex», но она ругается при декларировании.  У меня windows 8, x64.  Может кто знает, как добавлять данные в реестр в нужной мне ветке? Или иной способ решения основного вопроса?   Просто зайти в реестр и руками сделать не могу, т.к. на работе, естественно, админами закрыт доступ, а через макрос VBA можно работать с реестром)

 

Sanja

Пользователь

Сообщений: 14838
Регистрация: 10.01.2013

Первая же ссылка в Яндексе привела на

это обсуждение

Согласие есть продукт при полном непротивлении сторон.

 

Nickolaich

Пользователь

Сообщений: 11
Регистрация: 01.01.1970

Спасибо большое.

Примерно на такое натыкался, тогда и возникала ошибка декларирования. Сейчас попробовал поискать решение —

тут нашел

.
Но не могу понять в описанном во втором сообщении примере, LONGLONG менять только в тех местах, где функция через Declare объявляется? Или везде? А где там на LongPrt менять?  

И как воспользоваться этими функциями? Не очень понятно, какие параметры задавать.

 

Sanja

Пользователь

Сообщений: 14838
Регистрация: 10.01.2013

По Вашей ссылке вроде все понятно написано, а конкретику надо на Вашем примере смотреть

Согласие есть продукт при полном непротивлении сторон.

 

Nickolaich

Пользователь

Сообщений: 11
Регистрация: 01.01.1970

Сейчас сижу пробую, если не получится выложу пример с конкретными ошибками.

 

The_Prist

Пользователь

Сообщений: 14182
Регистрация: 15.09.2012

Профессиональная разработка приложений для MS Office

LongLong и LongPtr — это для 64-битных систем.
Для офиса с VBA7(2010 и новее 32/64 бита, но на 64-битной Windows).
LongLong для офиса 64бита и Win64.
Для всех других — Long.

Следует помнить, что это касается не только объявлений — но и параметров, которые передаете в функцию API. Т.е. если объявили в API как  LongLong, то и при вызове этой функции передавать переменную надо такого же типа. иначе функция не вернет нужный результат.

Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы…

 

Nickolaich

Пользователь

Сообщений: 11
Регистрация: 01.01.1970

Не получается разобраться, какие именно функции использовать и какие параметры передавать: SaveString? SaveDWord? SaveKey?
Константы типа «HKEY_LOCAL_MACHINE», объявленные в файле, не определяются если их в качестве параметра передавать.
Второй день сижу, глаза уже замозолились.
Если несложно, может кто может явно указать, как получить результат, как на картинке (это я вручную создал раздел «Security» и параметр «ObjectModelGuard».
Это последнее ,что мне нужно в моем мега макросе сделать — никак не могу разобраться, хоть ты тресни.

Скриншот
Файл

 

The_Prist

Пользователь

Сообщений: 14182
Регистрация: 15.09.2012

Профессиональная разработка приложений для MS Office

Если у Вас нет прав админа — то можете и треснуть и провалиться, но запись не создадите.

В

этой статье

я приводил код, который 100% изменяет параметр.

Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы…

 

Nickolaich

Пользователь

Сообщений: 11
Регистрация: 01.01.1970

Я уже создавал запись в реестре через макрос, только в другой ветке — «HKEY_CURRENT_USER» — параметры, которые я вносил, не имея прямого доступа к реестру, отключали сообщения от Excel о предупреждении запуска макросов.
Теперь хочу сделать отключение предупреждающего окна от Outlook при отправке сообщения пользователем, чтобы оно отправлялось без каких-либо запросов.
Дома попробовал вручную создать раздел и параметр в реестре, чтобы отключить предупреждения в Outlook (это то, что на скринщоте) — работает. А программно не получается создать.

 

Nickolaich

Пользователь

Сообщений: 11
Регистрация: 01.01.1970

Именно так, как написано в Вашей статье я открывал доступ к беспрепятственному включению макросов — работает)
Но тут, видимо, проблема в том, что с помощью данного метода нельзя создавать разделы в ветке HKEY_LOCAL_MACHINE, а только в HKEY_CURRENT_USER

 

Sanja

Пользователь

Сообщений: 14838
Регистрация: 10.01.2013

#11

02.03.2014 17:35:37

Что-то похожее есть

здесь.

Там правда про VB речь, но может на что натолкнет.

Согласие есть продукт при полном непротивлении сторон.

На чтение 3 мин Опубликовано 26.04.2020

Excel содержит очень полезный инструмент, который позволяет отслеживать исправления, вносимые в рабочую книгу. Например, Вы можете отдать свою работу другому пользователю на рецензирование, а затем забрав ее обратно, посмотреть какие изменения были внесены. В этом уроке мы научимся отслеживать исправления в рабочей книге Excel, а также создавать Журнал изменений.

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

Содержание

  1. Общие сведения об отслеживании исправлений в Excel
  2. Как включить режим отслеживания исправлений
  3. Вынесение всех исправлений на отдельный лист

Общие сведения об отслеживании исправлений в Excel

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

Отслеживание исправлений в Excel

Существует ряд исправлений, которые Excel не может отслеживать. Перед использованием данной опции советуем Вам ознакомиться на сайте компании Microsoft со списком изменений, которые не отслеживаются и не выделяются.

Вы не сможете использовать режим отслеживания исправлений, если рабочая книга включает в себя таблицы. Чтобы удалить таблицу: выделите её, перейдите на вкладку Конструктор, а затем выберите команду Преобразовать в диапазон.

Как включить режим отслеживания исправлений

  1. На вкладке Рецензирование нажмите команду Исправления, а затем в выпадающем меню выберите пункт Выделить исправления.Отслеживание исправлений в Excel
  2. В появившемся диалоговом окне Исправления установите флажок Отслеживать исправления. Убедитесь, что выбран пункт Выделять исправления на экране, а затем нажмите OK.Отслеживание исправлений в Excel
  3. Если появится запрос для подтверждения сохранения книги, нажмите ОК.Отслеживание исправлений в Excel
  4. Режим отслеживания исправлений будет включен. Теперь любая отредактированная ячейка будет помечаться цветной границей и треугольником в верхнем левом углу. Если рецензентов несколько, каждому из них будет присвоен свой цвет.
  5. Выберите любую отредактированную ячейку, чтобы увидеть перечень внесенных изменений. В следующем примере мы изменили содержимое ячейки E6 с «?» на «Андрей».Отслеживание исправлений в Excel

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

Вынесение всех исправлений на отдельный лист

В Excel есть возможность просматривать изменения на отдельном листе, который называется Журнал изменений. В данном журнале приводится список всех изменений в книге, включая Старое значение (прежнее содержимое ячейки) и Значение (текущее содержимое ячейки).

  1. Сохраните рабочую книгу.
  2. На вкладке Рецензирование выберите команду Исправления, а затем в выпадающем меню нажмите Выделять исправления.Отслеживание исправлений в Excel
  3. В появившемся диалоговом окне Исправления установите флажок Вносить изменения на отдельный лист, затем нажмите OK.Отслеживание исправлений в Excel
  4. Исправления будут приводиться на отдельном листе с названием Журнал.Отслеживание исправлений в Excel

Чтобы удалить Журнал изменений из рабочей книги Excel, можно либо сохранить книгу, либо снять флажок Вносить изменения на отдельный лист в диалоговом окне Исправления.

Оцените качество статьи. Нам важно ваше мнение:

Содержание

  • 1 Ведение реестра документов
  • 2 Создание печатной формы
  • 3 Заполнение печатной формы
  • 4  Списки для сортировки и заполнения
  • 5 Создание выпадающих списков
    • 5.1 Создание выпадающего списка с источником на этом же листе
    • 5.2 Создание выпадающего списка с источником на другом листе
    • 5.3 Как скрыть лист с источником списка

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

  1. Ведение реестра документов
  2. Создание печатной формы
  3. Заполнение печатной формы

Ведение реестра документов

Реестр документов удобно заполнять в «Умной таблице» Excel, если не предполагается использование объединенных ячеек.

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

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

как сделать реестр документов в excelПример реестра документов в «Умной таблице» Excel

Для заполнения реестра данными можно использовать автоформу, подробнее о которой можно прочитать в разделе Работа с «Умной таблицей».

Создание печатной формы

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

В нашем примере используется печатная форма Договора о материальной ответственности, текст которого скопирован на рабочий лист Excel из документа Word:

как сделать реестр документов в excelДоговор о материальной ответственности

Если печатная форма на рабочем листе Excel готова, остается переместить (или скопировать) ее в книгу с реестром. Если реестр еще не создан, можно просто добавить новый лист в книгу с печатной формой и назвать его «Реестр…».

Заполнение печатной формы

Для заполнения печатной формы данными из реестра будем использовать встроенную функцию Excel — «ВПР». Ориентиром поиска по таблице будет номер записи в реестре по порядку, поэтому ячейку с номером договора укажем в формулах «ВПР» печатной формы как «Искомое_значение».

как сделать реестр документов в excelАргументы функции «ВПР»

В мастере функций набраны аргументы для формулы в ячейке «L4», которая после ввода примет следующий вид: =ВПР('Печать ДМО'!G1;'Реестр ДМО'!A2:J102;2;ЛОЖЬ)

Во все остальные ячейки с переменными значениями копируется эта формула, и в ней заменяется только «Номер_столбца».

Теперь при записи в ячейку «G1» номера нужной строки реестра, печатная форма Договора о материальной ответственности заполнится данными соответствующего работника.

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

Отчет «Универсальный реестр документов» позволяет формировать реестры с произвольным набором группировок и произвольными настройками отборов. Отчет вызывается из пункта «Учет документов» — «Универсальный реестр документов» главного меню программы или с рабочего стола «Учет документов» по одноименной ссылке.

Отбор, сортировка и группировка строк настраиваются на специальной панели, вызываемой по кнопке «Настройка».

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

Новый документ можно зарегистрировать прямо из отчета, нажав на кнопку «Ввести документ» на верхней командной панели.

Пример реестра документов представлен ниже:

Универсальный реестр документов

как сделать реестр документов в excel Реквизиты отчета, обязательные для заполнения

Для формирования отчета необходимо указать:

  • Период формирования реестра. Ограничивает собственную дату документов (может отличаться от даты регистрации). При открытии формы отчета устанавливается период «по умолчанию», равный текущему месяцу.
  • Организацию, для которой формируется реестр документов. По умолчанию значение реквизита соответствует основной организации, которая указана в персональных настройках пользователя.

Доступные аналитические разрезы, возможности группировки строк и колонок

При формировании отчета пользователь может самостоятельно настроить группировки строк по аналитическим разрезам, аналогичным тем, что используются в отчете «Реестр документов по типам»: организация, подразделение, контрагент (или физ.лицо), договор контрагента, контактное лицо, тип документа, деловая классификация, гриф доступа, ответственное лицо, автор.

Дополнительная информация по использованию отчета

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

Отчет «Универсальный реестр документов» доступен пользователям с наборами прав «Учет документов» или полным набором прав.

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

 Списки для сортировки и заполнения

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

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

как сделать реестр документов в excel

Изменять параметры такого списка можно в меню списки, которое открывается в основных параметрах Excel. Находим кнопку «Изменить списки» и нажимаем ее. В появившемся окне видны имеющиеся списки, также можно задавать новые. Для этого в окне «Элементы списка» нужно последовательно указать его части и «добавить» в списки. Также можно импортировать списки прямо с листа Excel, предварительно выделив необходимый диапазон.

как сделать реестр документов в excel

Создание выпадающих списков

Выпадающие списки дают возможность не только вставлять в ячейку только заранее определенные значения, но и не дают возможности допустить ошибки при написании элементов этого списка. Чтобы в выпадающем окошке появлялся список нужно его предварительно создать. Это можно сделать как на открытом, так и на другом листе книги Excel.

Создание выпадающего списка с источником на этом же листе

Чтобы пользоваться выпадающим списком нужно сначала этот список создать. Создаем список на этом же (открытом) листе и проверяем правильность написания его составляющих. Затем выделяем ячейку или несколько ячеек, куда будем вставлять эти данные, открываем окошко «Проверка вводимых значений», которое открывается по прохождении следующего пути: данные/работа с данными/проверка данных.

как сделать реестр документов в excel

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

Создание выпадающего списка с источником на другом листе

Использование списка-источника, расположенного на том же активном листе, не совсем удобно, поскольку можно «нечаянно» изменить его содержимое. Поэтому предпочтительнее этот список «спрятать»  на другом листе, а доступ к нему заблокировать.

В этом случае, описанным выше способом не обойтись, так как при открытом окне «Проверки…» мы не сможем попасть на другой лист, чтобы выделить или определить диапазон ячеек исходного списка. В этом случае пользуются назначением имени первоначальному списку.

Выполняем это так: создаем список данных на одном листе, затем выделяем его и присваиваем ему имя, кликаем последовательно вкладка формулы/присвоить имя (в разделе определенные имена), в открывшемся окне задаем имя списка. Если, предварительно мы не выделили список, то задаем диапазон его ячеек.

как сделать реестр документов в excel

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

как сделать реестр документов в excel

Как скрыть лист с источником списка

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

как сделать реестр документов в excel

Таким образом Excel представляет большие возможности по созданию списков, даже по сравнению с текстовым процессором Word Office.

Like this post? Please share to your friends:
  • Изменения в листе отобразить следующий компонент excel
  • Изменения в документе word на vba
  • Изменения в документе word 2007
  • Изменения в word 2003
  • Изменение шрифта формул в word