Я подготовил форму Excel для моей команды по продажам. Я использовал проверку данных, защиту ячеек и т.д., Чтобы убедиться, что форма надежна. (Я не смог добиться успеха в конце.) Я поместил раздел "заметок", чтобы они могли написать то, что они должны сказать, что я не мог предвидеть. Некоторые из них начали писать свои заметки в верхний и нижний колонтитулы вместо использования поля "заметки". Как я могу ограничить их редактировать верхний и нижний колонтитулы?

2 ответа2

0

Вот вариант, который вернет верхний и нижний колонтитулы к значениям, которые вы определяете, когда пользователь нажимает "Сохранить". По сути, код VBA указывает Excel установить содержимое верхнего и нижнего колонтитула в соответствии с определенными критериями до сохранения документа.

Сначала вам нужно открыть редактор VBA. Открыв рабочую книгу, нажмите Alt+F11.

Пример редактора VBA

Дважды щелкните "ThisWorkbook" слева, чтобы открыть новое окно. Затем просто скопируйте / вставьте информацию ниже.

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim ws As Worksheet
For Each ws In ActiveWorkbook.Worksheets
    With ws.PageSetup
        'Replace the information after the equals sign with what you want.
        .LeftHeader = ActiveSheet.Range("A100").Value
        '.CenterHeader is the middle of the header. Put any text you want in quotes ""
        .CenterHeader = "Header Text"
        .RightHeader = ws.Name
        .LeftFooter = ActiveWorkbook.Name
        'To leave a section blank, just use two quotes like in .CenterFooter
        .CenterFooter = ""
        .RightFooter = Date & "  " & Time
    End With
Next ws
'No need to change any of the comments beginning with a '. These will not affect your code
End Sub

В этом примере.CenterHeader = "Текст заголовка" вернет центральный раздел заголовка к тому, что вы вводите между "".

WS.Имя помещает имя листа в нижний колонтитул. ActiveWorkbook.Имя помещает имя файла в левый нижний колонтитул. Дата & "" & Время заполняет дату и время в правый нижний колонтитул. Это обновит дату и время, когда пользователь сохранит документ.

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

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

0

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .