Имя пользователя:
Пароль:
 

Название темы: Макрос в Excel
Показать сообщение отдельно

Динохромный


Contributor


Сообщения: 712
Благодарности: 322

Профиль | Отправить PM | Цитировать


Цитата nipopadyuk:
что не так со скриптом »
nipopadyuk, не касаясь вопросов оптимизации кода - должно быть "I", а не "J"
Код: Выделить весь код
If Not Intersect(cell, Range("I3:J65536")) Is Nothing Then
Updated:
В коде Вы дважды перебираете ячейки, значения которых единовременно изменились. Логично было бы делать все за один цикл, например так:
код
Код: Выделить весь код
Private Sub Worksheet_Change(ByVal Target As Range)
    For Each cell In Target
        If cell.Row > 2 And cell.Row <= 65536 And cell.Value <> "" Then
            Select Case cell.Column
                Case 5
                    If cell.Offset(0, 5).Value = "" Then cell.Offset(0, 5).Value = Now
                Case 9
                    If cell.Offset(0, 2).Value = "" Then cell.Offset(0, 2).Value = Now
            End Select
        End If
    Next cell
End Sub

Последний раз редактировалось a_axe, 18-11-2015 в 17:25.

Это сообщение посчитали полезным следующие участники:

Отправлено: 16:36, 18-11-2015 | #2

Название темы: Макрос в Excel