Подскажите кто-нить
Модератор: Naeel Maqsudov
- BlackFoxVart
- Сообщения: 4
- Зарегистрирован: 27 ноя 2007, 15:13
- Контактная информация:
Как в Excel сделать так, чтобы при удалении строки или столбца в таблице выполнялся макрос? Навроде Worksheet_BeforedoubleClick для двойного клика
Zachem TEBE sdelaj tak
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address = "$A$1" Then
UserForm1.Show (0)
End If
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address = "$A$1" Then
UserForm1.Show (0)
End If
End Sub
Ser Artur
- Aent
- Сообщения: 1129
- Зарегистрирован: 01 окт 2006, 14:52
- Откуда: Saratov,Russia
- Контактная информация:
BlackFoxVart,
Код: Выделить всё
Private Sub Worksheet_Change(ByVal Target As Range)
if Target.Rows.Count = 65536 then 'для 2003 Excel
debug.print "изменение целых столбцов"
end id
if Target.Columns.Count = 256 then 'для 2003 Excel
debug.print "изменение целых строк"
end id
End Sub
- BlackFoxVart
- Сообщения: 4
- Зарегистрирован: 27 ноя 2007, 15:13
- Контактная информация:
Вот то. что нужно. Всем спасибо, кто откликнулсяAent писал(а):BlackFoxVart,Код: Выделить всё
Private Sub Worksheet_Change(ByVal Target As Range) if Target.Rows.Count = 65536 then 'для 2003 Excel debug.print "изменение целых столбцов" end id if Target.Columns.Count = 256 then 'для 2003 Excel debug.print "изменение целых строк" end id End Sub
- Aent
- Сообщения: 1129
- Зарегистрирован: 01 окт 2006, 14:52
- Откуда: Saratov,Russia
- Контактная информация:
В общем случае (что бы работало и в 2007)
Количество строк и столбцов - ActiveSheet.Rows.Count и ActiveSheet.Columns.Count, соответственно. Обращаю Ваше внимание что при использовании данного метода мы
перехватываем помимо удаления - вставку и заполнение строк и столбцов
Решать что именно произошло нужно дополнительно. Cкажем по адресу (номеру)последней заполненной строки.
Количество строк и столбцов - ActiveSheet.Rows.Count и ActiveSheet.Columns.Count, соответственно. Обращаю Ваше внимание что при использовании данного метода мы
перехватываем помимо удаления - вставку и заполнение строк и столбцов
Решать что именно произошло нужно дополнительно. Cкажем по адресу (номеру)последней заполненной строки.
- BlackFoxVart
- Сообщения: 4
- Зарегистрирован: 27 ноя 2007, 15:13
- Контактная информация:
Еще вопрос. Не знаю там пишу или нет?
Как запустить макрос при выборе (выделении) того или иного листа? Пока пытаюсь пробить сам, может кто и знает)))
Как запустить макрос при выборе (выделении) того или иного листа? Пока пытаюсь пробить сам, может кто и знает)))
Правый клик не ярлыке листа вызывает контекстное меню.. в нем выбераете "Исходный текст" - Открывается окно модуля этого листа. Создаете макрос под именем Private Sub Worksheet_Activate (можно выбрать из выпадающих списков вверху окна модуля). И этот макрос будет запускаться всякий раз, как только этот лист будет активизирован/выбран.
Подобное можно сделать для всей книги - в модуле книги - Private Sub Workbook_SheetActivate(ByVal Sh As Object) - будет выполняться всякий раз, когда какой-либо лист будет выбираться/активизироваться.
Подобное можно сделать для всей книги - в модуле книги - Private Sub Workbook_SheetActivate(ByVal Sh As Object) - будет выполняться всякий раз, когда какой-либо лист будет выбираться/активизироваться.
Всякое решение плодит новые проблемы.
- BlackFoxVart
- Сообщения: 4
- Зарегистрирован: 27 ноя 2007, 15:13
- Контактная информация:
Спасибо. Работает. Век живи, век учись, как грится... 
