Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Событие на изменение столбца. Каждого по отдельности. - Мир MS Excel

  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_, DrMini  
Событие на изменение столбца. Каждого по отдельности.
ant6729 Дата: Пятница, 02.02.2018, 22:39 | Сообщение № 1
Группа: Проверенные
Ранг: Ветеран
Сообщений: 533
Репутация: 2 ±
Замечаний: 40% ±

Excel 2010
Всем, привет!

Есть три столбика с данными. Произвольно.
На изменение в каждом отдельном столбике я хочу в дальнейшем прописать отдельную процедуру.

[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)

Dim KeyCells As Range
Dim KeyCells2 As Range
Dim KeyCells3 As Range

lr = Sheets("Лист1").Cells(Rows.Count, 6).End(xlUp).Row
lr2 = Sheets("Лист1").Cells(Rows.Count, 7).End(xlUp).Row
lr3 = Sheets("Лист1").Cells(Rows.Count, 8).End(xlUp).Row

Set KeyCells = Range("F1:H1" & lr)
Set KeyCells2 = Range("E1:E" & lr2)
Set KeyCells3 = Range("H1:H" & lr3)

If Not Application.Intersect(KeyCells, Range(Target.Address)) _
Is Nothing Then
MsgBox "1"
End If

If Not Application.Intersect(KeyCells2, Range(Target.Address)) _
Is Nothing Then
MsgBox "2"
End If

If Not Application.Intersect(KeyCells3, Range(Target.Address)) _
Is Nothing Then
MsgBox "3"
End If

End Sub
[/vba]

То есть меняется:

1 столбик - выполняется процедура1
2 столбик - выполняется процедура2
3 столбик - выполняется процедура3

Подскажите, пожалуйста, как это сделать?


Сообщение отредактировал ant6729 - Пятница, 02.02.2018, 23:06
 
Ответить
СообщениеВсем, привет!

Есть три столбика с данными. Произвольно.
На изменение в каждом отдельном столбике я хочу в дальнейшем прописать отдельную процедуру.

[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)

Dim KeyCells As Range
Dim KeyCells2 As Range
Dim KeyCells3 As Range

lr = Sheets("Лист1").Cells(Rows.Count, 6).End(xlUp).Row
lr2 = Sheets("Лист1").Cells(Rows.Count, 7).End(xlUp).Row
lr3 = Sheets("Лист1").Cells(Rows.Count, 8).End(xlUp).Row

Set KeyCells = Range("F1:H1" & lr)
Set KeyCells2 = Range("E1:E" & lr2)
Set KeyCells3 = Range("H1:H" & lr3)

If Not Application.Intersect(KeyCells, Range(Target.Address)) _
Is Nothing Then
MsgBox "1"
End If

If Not Application.Intersect(KeyCells2, Range(Target.Address)) _
Is Nothing Then
MsgBox "2"
End If

If Not Application.Intersect(KeyCells3, Range(Target.Address)) _
Is Nothing Then
MsgBox "3"
End If

End Sub
[/vba]

То есть меняется:

1 столбик - выполняется процедура1
2 столбик - выполняется процедура2
3 столбик - выполняется процедура3

Подскажите, пожалуйста, как это сделать?

Автор - ant6729
Дата добавления - 02.02.2018 в 22:39
Апострофф Дата: Пятница, 02.02.2018, 23:02 | Сообщение № 2
Группа: Проверенные
Ранг: Обитатель
Сообщений: 468
Репутация: 129 ±
Замечаний: 0% ±

Excel 1997
ant6729, алфавит подучите...
[vba]
Код
lr = Sheets("Ñïèñêè").Cells(Rows.Count, 6).End(xlUp).Row 'F
lr2 = Sheets("Ñïèñêè").Cells(Rows.Count, 7).End(xlUp).Row 'G
lr3 = Sheets("Ñïèñêè").Cells(Rows.Count, 8).End(xlUp).Row 'H

Set KeyCells = Range("F1:F" & lr)
Set KeyCells2 = Range("G1:G" & lr2)
Set KeyCells3 = Range("H1:H" & lr3)

If Not Application.Intersect(KeyCells, Target) Is Nothing Then
процедура1 'MsgBox "1"
End If
'и т.д.
[/vba]
 
Ответить
Сообщениеant6729, алфавит подучите...
[vba]
Код
lr = Sheets("Ñïèñêè").Cells(Rows.Count, 6).End(xlUp).Row 'F
lr2 = Sheets("Ñïèñêè").Cells(Rows.Count, 7).End(xlUp).Row 'G
lr3 = Sheets("Ñïèñêè").Cells(Rows.Count, 8).End(xlUp).Row 'H

Set KeyCells = Range("F1:F" & lr)
Set KeyCells2 = Range("G1:G" & lr2)
Set KeyCells3 = Range("H1:H" & lr3)

If Not Application.Intersect(KeyCells, Target) Is Nothing Then
процедура1 'MsgBox "1"
End If
'и т.д.
[/vba]

Автор - Апострофф
Дата добавления - 02.02.2018 в 23:02
ant6729 Дата: Пятница, 02.02.2018, 23:31 | Сообщение № 3
Группа: Проверенные
Ранг: Ветеран
Сообщений: 533
Репутация: 2 ±
Замечаний: 40% ±

Excel 2010
Как-то так

[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)

lr = Sheets("Ñïèñêè").Cells(Rows.Count, 6).End(xlUp).Row
lr2 = Sheets("Ñïèñêè").Cells(Rows.Count, 7).End(xlUp).Row
lr3 = Sheets("Ñïèñêè").Cells(Rows.Count, 8).End(xlUp).Row

    If Not Application.Intersect(Target, Range("F1:F" & lr)) Is Nothing Then
          MsgBox "1"
    End If

    If Not Application.Intersect(Target, Range("G1:G" & lr2)) Is Nothing Then
          MsgBox "2"
    End If

    If Not Application.Intersect(Target, Range("H1:H" & lr3)) Is Nothing Then
          MsgBox "3"
    End If

End Sub
[/vba]
 
Ответить
СообщениеКак-то так

[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)

lr = Sheets("Ñïèñêè").Cells(Rows.Count, 6).End(xlUp).Row
lr2 = Sheets("Ñïèñêè").Cells(Rows.Count, 7).End(xlUp).Row
lr3 = Sheets("Ñïèñêè").Cells(Rows.Count, 8).End(xlUp).Row

    If Not Application.Intersect(Target, Range("F1:F" & lr)) Is Nothing Then
          MsgBox "1"
    End If

    If Not Application.Intersect(Target, Range("G1:G" & lr2)) Is Nothing Then
          MsgBox "2"
    End If

    If Not Application.Intersect(Target, Range("H1:H" & lr3)) Is Nothing Then
          MsgBox "3"
    End If

End Sub
[/vba]

Автор - ant6729
Дата добавления - 02.02.2018 в 23:31
Апострофф Дата: Суббота, 03.02.2018, 08:29 | Сообщение № 4
Группа: Проверенные
Ранг: Обитатель
Сообщений: 468
Репутация: 129 ±
Замечаний: 0% ±

Excel 1997
[offtop] ant6729, неужели сам придумал hands [/offtop]
 
Ответить
Сообщение[offtop] ant6729, неужели сам придумал hands [/offtop]

Автор - Апострофф
Дата добавления - 03.02.2018 в 08:29
ant6729 Дата: Воскресенье, 04.02.2018, 00:11 | Сообщение № 5
Группа: Проверенные
Ранг: Ветеран
Сообщений: 533
Репутация: 2 ±
Замечаний: 40% ±

Excel 2010
Бывает, что получается, но когда есть у кого свериться и поучиться, еще лучше.
 
Ответить
СообщениеБывает, что получается, но когда есть у кого свериться и поучиться, еще лучше.

Автор - ant6729
Дата добавления - 04.02.2018 в 00:11
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2026 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!