Страницы: 1
RSS
Объединить два макроса событий листа
 
Код
Private Sub Worksheet_Change(ByVal Target As Range)
     
    For Each cell In Target
       If Not Intersect(cell, Range("O2:O200")) Is Nothing Then
            With cell.Offset(0, -14)
               .Value = Now
               .EntireColumn.AutoFit
            End With
       End If
    Next cell
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Dim n As Integer
    If Target.Count > 1 Then Exit Sub
    On Error Resume Next
    n = Target.Validation.Type
    If n = 3 Then Application.SendKeys "%{DOWN}"
    On Error GoTo 0
End Sub

Мной в разное время найдено два макроса, а объединить не смог. В таком виде они работают с ошибкой - при выделении всех столбцов система выводит окно -, а порознь работают нормально. Помогите упаковать эти макросы в один, если это возможно
 
Опишите саму ЗАДАЧУ, а не способ, которым ее пытаетесь решить. Это два событийных макроса, причем на разные события.
Согласие есть продукт при полном непротивлении сторон
 
Вот так должно работать без конфликтов
Код
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
Application.ScreenUpdating = False
Application.EnableEvents = False
For Each cell In Target
   If Not Intersect(cell, Range("O2:O200")) Is Nothing Then
        With cell.Offset(0, -14)
           .Value = Now
           .EntireColumn.AutoFit
        End With
   End If
Next cell
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub
 
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim n As Integer
If Target.Count > 1 Then Exit Sub
On Error Resume Next
n = Target.Validation.Type
If n = 3 Then Application.SendKeys "%{DOWN}"
On Error GoTo 0
End Sub
Согласие есть продукт при полном непротивлении сторон
 
К сожалению это не так. При выделении всей таблицы продолжает всплывать окно неработающего макроса
Задача такая: макрос 1 в ячейку Аxx вставляет текущую дату, а макрос 2 раскрывает проверку данных
Изменено: axlgart - 17.06.2018 13:39:01
 
Цитата
axlgart написал: К сожалению это не так
Что ЭТО? И что с ним НЕ ТАК? У меня именно так и работает, как Вы описали
Согласие есть продукт при полном непротивлении сторон
 
Все должно было работать без конфликтов, но конфликты были и есть те же самые: при выделении всей страницы всплывает окно неработающего макроса
Изменено: axlgart - 17.06.2018 14:12:54
 
Во втором макросе строку
Код
On Error Resume Next
поставьте сразу после
Код
Dim n As Integer
Согласие есть продукт при полном непротивлении сторон
 
Благодарю за труд, получилось.
Изменено: axlgart - 17.06.2018 14:40:54
Страницы: 1
Наверх