Страницы: 1
RSS
SelectionChange. Кликая на любую яцейку в диапазоне вызывать процедуру
 
Добрый день еще раз. Извините за повтор, постараюсь исправиться.

Итак проблема. Нужно начиная с 15го столбца и интервалом 14 столбцов, кликая на любую яцейку в диапазоне вызывать процедуру. Предварительно, нет возможности знать, что таких кликатебельных столбцов будет известное значение. Желательно что бы до конца файла была такая возможность. Использовать ниже преведенный код 100500 раз можно, но если нужно будет не 14 а 15 интервал, переписывать буквы вручную долгое и ошибочное занятие.
Код
If Intersect(Target, Лист8.Range("D4:D10000")) Is Nothing Then
 
Код
if target.count = 1 and  (target.column - 15) mod 14 = 0 then ....

Проверяет, что выбрана одна ячейка (макрос же не должен работать при выделении строки/столбца/диапазона) и что (номер столбца - 15) делится без остатка на 14 (столбцы 15, 29, 43..)
Изменено: Wiss - 20.08.2019 22:02:23
Я не волшебник, я только учусь.
 
Условие
Код
(target.column -15) mod 14 =0
хотя название темы снова мимо
Изменено: БМВ - 20.08.2019 14:40:09
По вопросам из тем форума, личку не читаю.
 
на событие листа делаем проверку типа такой =ОСТАТ("тут определяем номер столбца кликнутой ячейки"-15;14)=0 если истина запускаем че хочем
Лень двигатель прогресса, доказано!!!
 
А первый столбец?
Владимир
 
Цитата
sokol92 написал:
А первый столбец?
а первый будет нулевым и поделится на 14 без остатка  :-)
По вопросам из тем форума, личку не читаю.
 
Wiss, БМВ - спасибо большое. Однозначный "+" Вам в карму. Решение простое и гениальное!
 
Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Cells(2, Target.Column + 1) <> "¹" Or Target.Count > 1 Then Exit Sub
r = Cells(Rows.Count, Target.Column + 1).End(xlUp).Row
If Not Intersect(Target, Range(Cells(3, Target.Column), Cells(r, Target.Column))) Is Nothing Then
MsgBox "Bingo!"
End If
End Sub
Страницы: 1
Наверх