Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
SelectionChange. Кликая на любую яцейку в диапазоне вызывать процедуру
 
Wiss, БМВ - спасибо большое. Однозначный "+" Вам в карму. Решение простое и гениальное!
SelectionChange. Кликая на любую яцейку в диапазоне вызывать процедуру
 
Добрый день еще раз. Извините за повтор, постараюсь исправиться.

Итак проблема. Нужно начиная с 15го столбца и интервалом 14 столбцов, кликая на любую яцейку в диапазоне вызывать процедуру. Предварительно, нет возможности знать, что таких кликатебельных столбцов будет известное значение. Желательно что бы до конца файла была такая возможность. Использовать ниже преведенный код 100500 раз можно, но если нужно будет не 14 а 15 интервал, переписывать буквы вручную долгое и ошибочное занятие.
Код
If Intersect(Target, Лист8.Range("D4:D10000")) Is Nothing Then
О погоде
 
Лето, а погода холодная
[ Закрыто] SelectionChange
 
Проблема в том, что я не понимаю, как понять програмно, как не указывая адреса столбцов, можно это сделать.  
[ Закрыто] SelectionChange
 
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы... Вот тут вы правы.

Мой вопрос: Можно как то циклом или другим приемом сделать вызов процедуры (одной и той же), нажимая на  15, 29, 43 и т.д. столбец с шагом 14 столбцов?
Код
 If Intersect(Target, Лист8.Range("O4:O10000")) Is Nothing Then

    If Intersect(Target, Лист8.Range("AB4:AB10000")) Is Nothing Then

      If Intersect(Target, Лист8.Range("AQ4:AQ10000")) Is Nothing Then
Изменено: 01111983 - 20 авг 2019 13:56:43
Подсчет количества у повторяющихся значений.
 
Код
Private Sub CommandButton1_Click()

  Dim i, j, Summa As Integer

  i = 2: j = 3: Summa = 0


  Do While Лист2.Range("A" & i).Value <> ""

    Do While Лист1.Range("A" & j).Value <> ""

      If Лист2.Range("A" & i).Value = Лист1.Range("A" & j).Value Then

        Summa = Summa + Лист1.Range("C" & j).Value

      End If

      j = j + 1

    Loop

    Лист2.Range("B" & i).Value = Summa

    Summa = 0

    j = 3

    i = i + 1

  Loop

End Sub

Хоть и корявый код, но так же работает
Изменено: 01111983 - 20 авг 2019 13:49:05
[ Закрыто] SelectionChange
 
Добрый день всем. я обычно использую код такого типа. Все работает, претензий нет. Подробнее в файле. Спасибо.
Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  If Intersect(Target, Лист8.Range("D4:D10000")) Is Nothing Then
    If Intersect(Target, Лист8.Range("A4:A10000")) Is Nothing Then
      If Intersect(Target, Лист8.Range("A1")) Is Nothing Then
        Exit Sub
       Else
        frmSverka.Show
      End If
     Else
      Nom = 8 + 1
      Call PlusMinus
    End If
   Else
    Call Malocenka
  End If
End Sub
Изменено: 01111983 - 20 авг 2019 13:37:42
Страницы: 1
Наверх