Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Вопрос по событию Change в макросе (Excel) / 3 сообщений из 3, страница 1 из 1
20.09.2011, 17:15
    #37448479
Philosopher
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по событию Change в макросе (Excel)
Есть такая задача:
если в определенном столбце, в моём случае в седьмом, значение становится равно "застеклен", то в следующем столбце должна фиксироваться текущая дата. Реализовал так:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 7 And Target.Value = "застеклен" Then Cells(Target.Row, 8).Value = Date
End Sub

если вписывать вручную, либо вставлять по одной, то все работает, если попробовать вставить >1 ячейки, или протянуть даты, то вылетает ошибка: Type mismatch (Error 13). Подскажите, как можно решить эту проблему?
...
Рейтинг: 0 / 0
20.09.2011, 17:17
    #37448483
Philosopher
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по событию Change в макросе (Excel)
Сорь, имел ввиду не ДАТЫ протянуть, а значение "застеклен"
...
Рейтинг: 0 / 0
20.09.2011, 17:50
    #37448568
Philosopher
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по событию Change в макросе (Excel)
В общем сам подкрутил таким образом:

Private Sub Worksheet_Change(ByVal Target As Range)

Dim t_count, t_row, rr1
t_count = Target.Rows.Count
t_row = Target.Row

If Target.Column = 7 And Cells(t_row, 7).Value = "застеклен" Then
For rr1 = t_row - 1 To t_count + t_row - 1
Cells(rr1, 8).Value = Date
Next
End If

End Sub

не знаю на сколько это красиво, но работает
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Вопрос по событию Change в макросе (Excel) / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]