Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.12.2009, 17:10   #1
Connector
Пользователь
 
Регистрация: 16.12.2009
Сообщений: 12
По умолчанию +1 кликом

Предложите формулу, что бы по клику по ячейке значение в соседней прибавлялось (или вычиталось) на еденицу. И так во всём столбце.
Connector вне форума Ответить с цитированием
Старый 17.12.2009, 18:14   #2
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

предложу метод.
в любую ячейку пишете 1, отмечаете необходимые ячейки, правая кнопка, "специальная вставка", операция "сложить", Ок.
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 17.12.2009, 19:31   #3
пасечник
Заблокирован
 
Регистрация: 24.06.2009
Сообщений: 28
По умолчанию

Формулы в ячейках – хоть какая-то автоматизация.
Да и автор писал: «кликом» (а не пятью кликами).
Но формулы тут не помогут.
События листа, хоть и противная на мой взгляд вещь, помогут запросто.
Worksheet_BeforeRightClick, Worksheet_SelectionChange – и если плюнуть на условие «кликом»,
еще Worksheet_BeforeDoubleClick.
Вот для Worksheet_BeforeRightClick:
Код:
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
Dim R As Range
Set R = Intersect(Target, Range("a:a"))
If R Is Nothing Then Exit Sub
Cancel = True
Set R = Target.Offset(, 1)
R = R + 1 ' R = R - 1
End Sub
Предполагалось, речь идет о ячейке в смежном столбце, поэтому в примере правый клик в столбе А будет менять значение в столбе B. Хотя Offset(row, column) справится и с другими вариантами. Есть и нюансы – слишком часто кликать не выйдет, но это уже другая, более запутанная история.
пасечник вне форума Ответить с цитированием
Старый 18.12.2009, 09:25   #4
Connector
Пользователь
 
Регистрация: 16.12.2009
Сообщений: 12
По умолчанию

Спасибо, друзья, за подсказки.
Однако, не удалось воспользоваться предложенным макросом. Не прибавляет, ни убавляет. В чём может быть засада?
Connector вне форума Ответить с цитированием
Старый 18.12.2009, 09:38   #5
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Макрос работает прекрасно.
Автор забыл подсказать,что все справедливо для первого столбца(А:А)
Это по тексту макроса видно
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 18.12.2009, 11:23   #6
Connector
Пользователь
 
Регистрация: 16.12.2009
Сообщений: 12
По умолчанию

Цитата:
Сообщение от пасечник Посмотреть сообщение
...правый клик в столбе А будет менять значение в столбе B....
Странно, клацал по всем ячейкам вокруг и правой кнопкой и левой по-всякому, ничего не происходит
Connector вне форума Ответить с цитированием
Старый 18.12.2009, 11:36   #7
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Еще вариант с простым выделением ячейки в столбце "A" и защитой от возможных ошибок. Код должен находиться в модуле листа.
Код:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Column <> 1 Then Exit Sub
    If Target.Cells.Count > 1 Then Exit Sub
    Target.Next = Target.Next + 1
End Sub
Пример файла во вложении.
Вложения
Тип файла: rar Книга1.rar (5.7 Кб, 35 просмотров)
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 18.12.2009, 11:51   #8
Connector
Пользователь
 
Регистрация: 16.12.2009
Сообщений: 12
По умолчанию

Друзья, большое спасибо, всё работает, просто не туда совал код ))
Отсутствие опыта, однако
Connector вне форума Ответить с цитированием
Старый 18.12.2009, 12:28   #9
Connector
Пользователь
 
Регистрация: 16.12.2009
Сообщений: 12
По умолчанию

Не сочтите за труд подсказать, как сделать, чтобы клик на А прибавляла, клик на В убавляла значение в С.
Connector вне форума Ответить с цитированием
Старый 18.12.2009, 12:39   #10
FormAlDeGid
Пользователь
 
Аватар для FormAlDeGid
 
Регистрация: 21.10.2009
Сообщений: 58
По умолчанию

Суперский макрос!!!
FormAlDeGid вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как кликом мышки выделить букву в слове? bagish Общие вопросы Delphi 7 24.06.2009 10:05