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

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
Вопрос по событию Change в макросе (Excel)
    #37448483
Philosopher
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сорь, имел ввиду не ДАТЫ протянуть, а значение "застеклен"
...
Рейтинг: 0 / 0
Вопрос по событию Change в макросе (Excel)
    #37448568
Philosopher
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В общем сам подкрутил таким образом:

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


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