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

Вход

Регистрация

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

 

= Мир MS Excel/Много кнопок - 1 макрос. Как опредеть какая кнопка нажата? - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Много кнопок - 1 макрос. Как опредеть какая кнопка нажата?
master88911 Дата: Пятница, 08.08.2014, 08:22 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 7
Репутация: 0 ±
Замечаний: 20% ±

Excel 2010
Здравствуйте.

Составляю программку по составлению смет для личного пользования.
Суть проблемы.
Есть упорядоченные данные (несколько строк). Напротив этих данных висит кнопка "Внести".
Макрос должен делать типовую операцию - определить каким либо образом на какую кнопку нажали, в зависимости от этого выделить по нужным координатам необходимые строки и скопировать в новую книгу.

Т.к. макрос типовой, прописывать одно и тоже, к каждой кнопке глупо.

Прошу подсказать решение или предложить альтернативные варианты.
К сообщению приложен файл: 9107689.xlsx (14.9 Kb)
 
Ответить
СообщениеЗдравствуйте.

Составляю программку по составлению смет для личного пользования.
Суть проблемы.
Есть упорядоченные данные (несколько строк). Напротив этих данных висит кнопка "Внести".
Макрос должен делать типовую операцию - определить каким либо образом на какую кнопку нажали, в зависимости от этого выделить по нужным координатам необходимые строки и скопировать в новую книгу.

Т.к. макрос типовой, прописывать одно и тоже, к каждой кнопке глупо.

Прошу подсказать решение или предложить альтернативные варианты.

Автор - master88911
Дата добавления - 08.08.2014 в 08:22
anvg Дата: Пятница, 08.08.2014, 08:37 | Сообщение № 2
Группа: Друзья
Ранг: Ветеран
Сообщений: 581
Репутация: 271 ±
Замечаний: 0% ±

2016, 365
Доброе время суток
Цитата
определить каким либо образом на какую кнопку нажали

Вас выручит Application.Caller в коде Кнопка1_Щелчок
Успехов.
 
Ответить
СообщениеДоброе время суток
Цитата
определить каким либо образом на какую кнопку нажали

Вас выручит Application.Caller в коде Кнопка1_Щелчок
Успехов.

Автор - anvg
Дата добавления - 08.08.2014 в 08:37
Rioran Дата: Пятница, 08.08.2014, 09:40 | Сообщение № 3
Группа: Авторы
Ранг: Ветеран
Сообщений: 903
Репутация: 290 ±
Замечаний: 0% ±

Excel 2013
master88911, здравствуйте.

Можно объявить Public числовую переменную Х. Пусть каждая кнопка будет в эту переменную складывать свой номер. Если кнопки будут идти по очереди, то можно будет установить прямое соответствие между номером кнопки и строкой, откуда надо брать данные. Каждая кнопка после изменения переменной Х будет вызывать макрос из модуля, т.е. код каждой кнопки будет одинаковый.

В Вашем файле уравнение для номера строки будет:

[Номер строки] = Х*5 - 2


Роман, Москва, voronov_rv@mail.ru
Яндекс-Деньги: 41001312674279
 
Ответить
Сообщениеmaster88911, здравствуйте.

Можно объявить Public числовую переменную Х. Пусть каждая кнопка будет в эту переменную складывать свой номер. Если кнопки будут идти по очереди, то можно будет установить прямое соответствие между номером кнопки и строкой, откуда надо брать данные. Каждая кнопка после изменения переменной Х будет вызывать макрос из модуля, т.е. код каждой кнопки будет одинаковый.

В Вашем файле уравнение для номера строки будет:

[Номер строки] = Х*5 - 2

Автор - Rioran
Дата добавления - 08.08.2014 в 09:40
anvg Дата: Пятница, 08.08.2014, 10:28 | Сообщение № 4
Группа: Друзья
Ранг: Ветеран
Сообщений: 581
Репутация: 271 ±
Замечаний: 0% ±

2016, 365
Цитата
Каждая кнопка после изменения переменной Х будет
...
А как? На нажатие кнопки написать свою процедуру? ТС же, насколько понял, хочет иметь одну процедуру для всех кнопок
Цитата
Т.к. макрос типовой, прописывать одно и тоже, к каждой кнопке глупо.

Application.Caller же в коде одиночной процедуры, вызываемой разными кнопками, возвращает имя кнопки, что собственно и хочет ТС
Цитата
определить каким либо образом на какую кнопку нажали


Сообщение отредактировал anvg - Пятница, 08.08.2014, 10:29
 
Ответить
Сообщение
Цитата
Каждая кнопка после изменения переменной Х будет
...
А как? На нажатие кнопки написать свою процедуру? ТС же, насколько понял, хочет иметь одну процедуру для всех кнопок
Цитата
Т.к. макрос типовой, прописывать одно и тоже, к каждой кнопке глупо.

Application.Caller же в коде одиночной процедуры, вызываемой разными кнопками, возвращает имя кнопки, что собственно и хочет ТС
Цитата
определить каким либо образом на какую кнопку нажали

Автор - anvg
Дата добавления - 08.08.2014 в 10:28
master88911 Дата: Пятница, 08.08.2014, 10:53 | Сообщение № 5
Группа: Пользователи
Ранг: Прохожий
Сообщений: 7
Репутация: 0 ±
Замечаний: 20% ±

Excel 2010
Спасибо за подсказки. Но почесав голову решил танцевать от координат ячейки на которой стоит курсор.

[vba]
Код
stroka1 = ActiveCell.Row
For I = 3 To 10000 Step 11
If stroka >= I And stroka <= I + 11 Then
stroka = I
Exit For
End If
Next I
[/vba]
 
Ответить
СообщениеСпасибо за подсказки. Но почесав голову решил танцевать от координат ячейки на которой стоит курсор.

[vba]
Код
stroka1 = ActiveCell.Row
For I = 3 To 10000 Step 11
If stroka >= I And stroka <= I + 11 Then
stroka = I
Exit For
End If
Next I
[/vba]

Автор - master88911
Дата добавления - 08.08.2014 в 10:53
RAN Дата: Пятница, 08.08.2014, 11:16 | Сообщение № 6
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
<_<
К сообщению приложен файл: 9107689.xlsb (16.1 Kb)


Быть или не быть, вот в чем загвоздка!
 
Ответить
Сообщение<_<

Автор - RAN
Дата добавления - 08.08.2014 в 11:16
master88911 Дата: Пятница, 08.08.2014, 12:23 | Сообщение № 7
Группа: Пользователи
Ранг: Прохожий
Сообщений: 7
Репутация: 0 ±
Замечаний: 20% ±

Excel 2010
RAN, просто офигеть. shock

Всего 3 строки кода. Я восхищен.

Спасибо!!!
 
Ответить
СообщениеRAN, просто офигеть. shock

Всего 3 строки кода. Я восхищен.

Спасибо!!!

Автор - master88911
Дата добавления - 08.08.2014 в 12:23
  • Страница 1 из 1
  • 1
Поиск:

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