Добрый день знатокам программирования. Будьте добры - помогите с макросом.
Макрос будет включаться с кнопки. Нужно чтобы он начал действие от выделенной пользователем ячейки. Действия: 1. Снять защиту листа с паролем. 2. Ушёл на 5 ячеек влево (от выделенной перед началом макроса ячейки) и поставил там сегодняшнюю дату. 3. Ушёл на 2 ячейки влево (от выделенной перед началом макроса ячейки) и удалил там значение (если оно там имеется) 4. Поставил защиту листа обратно.
Private Sub Worksheet_Change(ByVal Target As Range)
Application.ScreenUpdating = False
Application.EnableEvents = False
On Error Resume Next
For Each cell In Target
With cell
If Not Intersect(cell, Range("AE:AE")) Is Nothing Then
Me.Unprotect Password:="лфкфе1708159357"
.Offset(0, -1).Value = Now
Me.Protect Password:="лфкфе1708159357", DrawingObjects:=True, Contents:=True, Scenarios:=True _
, AllowFormattingCells:=True
ElseIf Not Intersect(cell, Range("AF:AF")) Is Nothing Then
Me.Unprotect Password:="лфкфе1708159357"
.Offset(0, -11).Value = Date
.Offset(0, -20).Value = Date + 30
.Offset(0, -22).Value = .Offset(0, -7).Value
.Locked = True
Me.Protect Password:="лфкфе1708159357", DrawingObjects:=True, Contents:=True, Scenarios:=True _
, AllowFormattingCells:=True
ElseIf Not Intersect(Target, Range("Y:Y")) Is Nothing Then
Me.Unprotect Password:="лфкфе1708159357"
Target.Offset(0, -17) = Target
.Offset(0, -18).Value = Now
Me.Protect Password:="лфкфе1708159357", DrawingObjects:=True, Contents:=True, Scenarios:=True _
, AllowFormattingCells:=True
ElseIf Not Intersect(Target, Range("AI:AI")) Is Nothing Then
Me.Unprotect Password:="лфкфе1708159357"
.Offset(0, 1).Value = Now
Me.Protect Password:="лфкфе1708159357", DrawingObjects:=True, Contents:=True, Scenarios:=True _
, AllowFormattingCells:=True
End If
End With
Next
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub
Помогите пожалуйста поправить макрос, сейчас при изменении значения в диапазоне "Y:Y" в ячейку (0,-17) вставляется то что туда вводят, а в ячейку (0,-18) - дата и время изменения.
Но при удалении значения из ячейки "Y:Y", мой макрос так же удаляет в ячейке (0,-17) значение которое там было. Вот нужно сделать так, чтобы именно при удалении он не трогал ячейку (0,-17). Дату изменения (0,-18) пусть вставляет, а значение в ячейке (0,-17) нужно оставить, которое было до удаления.
Здравствуйте. Подскажите пожалуйста, как сделать чтобы правила условного форматирования при копировании данных с другого листа не копировались вместе с данными... Не знаю понятно или нет... Скажем есть лист с данными в n-столбов, в каждом столбце свои правила форматирования. При копировании строки например в другой лист - вместе со строкой копируются все правила. Как сделать чтобы форматирование не копировалось... А еще лучше, чтобы сам формат копировался в ячейках а правила нет)
P.S. страницы в макросах, когда копирую на другой лист 100% срабатывает макрос, поэтому параметры вставки не канают
Здравствуйте, форумчане. Подскажите пожалуйста как сделать... http://www.planetaexcel.ru/techniques/6/44/ Как в этом макросе сделать так, чтобы при вводе значения в ячейку дата вставлялась в одну ячейку (как например в этом макросе - в следующую справа), а при удалении значения из этой же ячйеки (del) в другую. (например через одну вправо).
Код
Private Sub Worksheet_Change(ByVal Target As Range)
For Each cell In Target 'проходим по всем измененным ячейкам
If Not Intersect(cell, Range("A2:A100")) Is Nothing Then 'если изменененная ячейка попадает в диапазон A2:A100
With cell.Offset(0, 1) 'вводим в соседнюю справа ячейку дату
.Value = Now
.EntireColumn.AutoFit 'выполняем автоподбор ширины для столбца B, чтобы дата умещалась в ячейке
End With
End If
Next cell
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
Application.ScreenUpdating = False
Application.EnableEvents = False
On Error Resume Next
For Each cell In Target
With cell
If Not Intersect(cell, Range("P:P")) Is Nothing Then
Me.Unprotect Password:="êàðàò1708159357"
.Offset(0, -1).Value = Now
Me.Protect Password:="êàðàò1708159357", DrawingObjects:=True, Contents:=True, Scenarios:=True _
, AllowFormattingCells:=True
ElseIf Not Intersect(cell, Range("Q:Q")) Is Nothing Then
Me.Unprotect Password:="êàðàò1708159357"
.Offset(0, -12).Value = Day(Date + 30)
.Offset(0, -11).Value = Month(Date + 30)
.Offset(0, -14).Value = .Offset(0, -6).Value
.Locked = True
Me.Protect Password:="êàðàò1708159357", DrawingObjects:=True, Contents:=True, Scenarios:=True _
, AllowFormattingCells:=True
End If
End With
Next
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub
Подскажите пожалуйста, куда и что добавить чтобы при изменении или вводе в столбик К, в ячейку справа вставилось значение ячейки K деленное на 11... т.е. что то типа такого)
Код
If Not Intersect(cell, Range("K:K")) Is Nothing Then
Me.Unprotect Password:="êàðàò1708159357"
.Offset(0, 1).Value = .Offset(0, 0).Value/11
Me.Protect Password:="êàðàò1708159357", DrawingObjects:=True, Contents:=True, Scenarios:=True _
, AllowFormattingCells:=True
Application.ScreenUpdating = False
Application.EnableEvents = False
On Error Resume Next
For Each cell In Target
With cell
If Not Intersect(cell, Range("N:N")) Is Nothing Then
Me.Unprotect Password:="123"
.Offset(0, 1).Value = Now
Me.Protect Password:="123", DrawingObjects:=True, Contents:=True, Scenarios:=True _
, AllowFormattingCells:=True
ElseIf Not Intersect(cell, Range("Q:Q")) Is Nothing Then
Me.Unprotect Password:="123"
.Offset(0, -12).Value = Day(Date + 30)
.Offset(0, -11).Value = Month(Date + 30)
.Offset(0, -13).Value
.Locked = True
Me.Protect Password:="123", DrawingObjects:=True, Contents:=True, Scenarios:=True _
, AllowFormattingCells:=True
End If
End With
Next
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub
помогите пожалуйста уже три часа экспериментирую ничего не помогает) Что нужно вставить после Value где .Offset(0, -13). (15строка) Что вставить чтобы в -13 столбе вписывалось ЗНАЧЕНИЕ формулы, которая находится от столбца Q:Q в -6 столбце? что ни пробовал, то ложь, то ссылку на формулу вставляет....
Здравствуйте. Подскажите. Можно ли как нибудь вывести сортировку отдельной кнопкой с уже забитыми параметрами?
Т.е. Есть таблица, в которой столбы: номер, фио, дата. Хотелось бы вывести на страницу отдельную кнопку сортировки в виде уже запрограммированного списка... чтоб к примеру работник не смог допустить ошибки при сортировке... Например выделил не все столбы или еще что... т.е. одним нажатием включить сортировку таблицы либо по фио либо по номеру либо по дате...
P.s. пожалуйста не надо отвечать что это и так просто делается или еще что нибудь в этом роде... Я это прекрасно знаю, хочу сделать это для работников, нужен конкретный ответ на конкретный вопрос. Можно ли сделать так или нет. Если можно то буду очень признателен если подскажете как
Здравствуйте. Подскажите. Как защитить отдельную ячейку. Я начитался на форуме про защиту листа и все такое. НО! После того как я ставлю защиту листа, я не могу вставлять, удалять со сдвигом, ячейки в таблице... А мне это нужно... В общем. Я хочу чтоб только определенные ячейки защищались от редактирования, но в остальном вся функциональность оставалась...