Excel нажмите кнопку добавить

Добавление строк при нажатии кнопки

lebensvoll

Дата: Пятница, 15.04.2016, 17:20 |
Сообщение № 1

Группа: Проверенные

Ранг: Старожил

Сообщений: 1002


Репутация:

30

±

Замечаний:
0% ±


Excel 2010

Продолжение темы кросс:My WebPage
Макрос №2:
Если оператору потребуется добавить (№ п/п) то он нажимает кнопку (ДОБАВИТЬ ПОЗИЦИЮ) и макрос №2 копирует диапазон строк 39:58 (со всеми данными) и вставляет ниже (как бы добавляет). Оператор потом перебивает значения (данные) показания по другому конструктиву. С каждым добавлением он должен добавлять ниже предыдущего.
Макрос №4:
Если оператору потребуется добавить (№ п/п) в таблице №2 то он нажимает кнопку (ДОБАВИТЬ ПОЗИЦИЮ) и макрос №4 копирует диапазон строк 80:82 (со всеми данными) и вставляет ниже (как бы добавляет). Оператор потом перебивает значения (данные) показания по другому конструктиву. С каждым добавлением он должен добавлять ниже предыдущего.
Возможно ли прописать подобные макросы??? Просто уже надоели КУЧИ файлов на 7 и 28 сутки да еще и на разные схемы и приборы (((( посидел по объединял показания и свел все в едино, осталось лишь прописать эти макросы чтоб еще и облегчить работу операторам (ускорить процесс так сказать). После чего еще пропишу формулы в зависимости от выбранных схем расчеты и получится самый безумный проект )))).
Заранее вам спасибо огромное!!!

К сообщению приложен файл:

8564320.zip
(98.4 Kb)


Кто бы ты ни был, мир в твоих руках

Сообщение отредактировал lebensvollПятница, 15.04.2016, 17:26

 

Ответить

lebensvoll

Дата: Пятница, 15.04.2016, 19:30 |
Сообщение № 2

Группа: Проверенные

Ранг: Старожил

Сообщений: 1002


Репутация:

30

±

Замечаний:
0% ±


Excel 2010

Что я сделал не так??? КРОСС: My WebPage
Также попросил на другом форуме решить данную задачу (((
[vba]

Код

Sub CommandButton1()

‘ Макрос1 Макрос

  ‘
    Rows(«39:58»).Select
    Selection.Copy
    Rows(«59:59»).Select
    ActiveSheet.Paste
End Sub

[/vba]
И не получается ((((


Кто бы ты ни был, мир в твоих руках

 

Ответить

lebensvoll

Дата: Пятница, 15.04.2016, 19:40 |
Сообщение № 3

Группа: Проверенные

Ранг: Старожил

Сообщений: 1002


Репутация:

30

±

Замечаний:
0% ±


Excel 2010

Попытался сам записать как показывают ролики (типа учат)
вот что получилось (((( тож не работает ((((
[vba]

Код

Sub ДобавитьПозицию()

‘ ДобавитьПозицию Макрос
‘ При нажатии кнопки ДОБАВИТЬ ПОЗИЦИЮ копирует диапазон ячеек и вставляет их ниже


    ActiveWindow.SmallScroll Down:=0
    Rows(«39:58»).Select
    Selection.Copy
    Rows(«59:59»).Select
    Selection.Insert Shift:=xlDown
End Sub

[/vba]
Я то с этим не могу справиться не говоря уже о том что при каждом нажатии оператором добавление должно происходить после предыдущего (т.е. ниже каждого вставленного добавленного ранее)


Кто бы ты ни был, мир в твоих руках

 

Ответить

lebensvoll

Дата: Пятница, 15.04.2016, 21:30 |
Сообщение № 4

Группа: Проверенные

Ранг: Старожил

Сообщений: 1002


Репутация:

30

±

Замечаний:
0% ±


Excel 2010

Вроде бы я малость понимаю что у меня не так ((((
В одной теме ТЕЗКА мне пояснял My WebPage

Цитата

Дата: Вторник, 22.03.2016, 12:51 | Сообщение № 8

Цитата

Тезка, там все просто — если первая строка кода содержит Private Sub Workbook…, то код должен находиться в модуле «ЭтаКнига» (розовый), иначе ищем Private Sub Worksheet…, если оно есть, то этот макрос должен быть в модуле листа (зеленый), а если нет и этого слова, то макрос может находиться где угодно (и в обычном модуле (голубой) тоже).
Это все в общем случае и не учитывает «особо продвинутые» названия макросов типа Private Sub Worksheet_Moy_Makros, которые нормальные люди макросам не дают.

может я тут что путаю (((( ПРИ ПИСАНИИ???


Кто бы ты ни был, мир в твоих руках

 

Ответить

Pelena

Дата: Пятница, 15.04.2016, 22:35 |
Сообщение № 5

Группа: Админы

Ранг: Местный житель

Сообщений: 18797


Репутация:

4284

±

Замечаний:
±


Excel 2016 & Mac Excel

Может, так подойдёт
[vba]

Код

Public Sub Add39_58()
    Dim r
    Application.ScreenUpdating = False
    r = Range(«B:B»).Find(What:=»Примечание:», LookAt:=xlWhole).Row — 1
    Range(«A» & r & «:A» & r + 19).EntireRow.Insert
    Range(«B39:B58»).EntireRow.Copy Range(«A» & r)
    Application.ScreenUpdating = True
End Sub

[/vba]
Файл заменила

К сообщению приложен файл:

5413455.rar
(91.9 Kb)


«Черт возьми, Холмс! Но как??!!»
Ю-money 41001765434816

Сообщение отредактировал PelenaСуббота, 16.04.2016, 23:30

 

Ответить

lebensvoll

Дата: Суббота, 16.04.2016, 23:13 |
Сообщение № 6

Группа: Проверенные

Ранг: Старожил

Сообщений: 1002


Репутация:

30

±

Замечаний:
0% ±


Excel 2010

Pelena, Добрый вечер!!! Макрос ваш сработал, но как то что не то.
Смотрите
[img][/img]
после нажатия кнопки, получается вот так вот ((((
[img][/img]
А куда изначально делись эти данные которые должны были добавляться после нажатия кнопки???
[img][/img]
Подскажите мне нужно просто к своему файлу использовать макрос ВАШ МАКРОС и тогда они будут работать???


Кто бы ты ни был, мир в твоих руках

Сообщение отредактировал lebensvollСуббота, 16.04.2016, 23:17

 

Ответить

Pelena

Дата: Суббота, 16.04.2016, 23:29 |
Сообщение № 7

Группа: Админы

Ранг: Местный житель

Сообщений: 18797


Репутация:

4284

±

Замечаний:
±


Excel 2016 & Mac Excel

Прошу прощения, не доглядела, не тот файл вложила. Заменила файл в предыдущем посте


«Черт возьми, Холмс! Но как??!!»
Ю-money 41001765434816

 

Ответить

lebensvoll

Дата: Суббота, 16.04.2016, 23:34 |
Сообщение № 8

Группа: Проверенные

Ранг: Старожил

Сообщений: 1002


Репутация:

30

±

Замечаний:
0% ±


Excel 2010

Pelena, ПРОСТО СУПЕР!!! hands СПАСИБО ВАМ ОГРОМНОЕ!!!


Кто бы ты ни был, мир в твоих руках

 

Ответить

lebensvoll

Дата: Понедельник, 18.04.2016, 16:35 |
Сообщение № 9

Группа: Проверенные

Ранг: Старожил

Сообщений: 1002


Репутация:

30

±

Замечаний:
0% ±


Excel 2010

Pelena, добрый день!!!
Скопировал ваш макрос и изменил копируемые строки для таблицы №2
[vba]

Код

Public Sub Add39_58()
    Dim r
    Application.ScreenUpdating = False
    r = Range(«B:B»).Find(What:=»Примечание:», LookAt:=xlWhole).Row — 1
    Range(«A» & r & «:A» & r + 19).EntireRow.Insert
    Range(«B39:B58»).EntireRow.Copy Range(«A» & r)
    Application.ScreenUpdating = True
End Sub

[/vba]
[img][/img]
И у меня не получилось (((
[vba]

Код

Public Sub Add39_58()
    Dim r
    Application.ScreenUpdating = False
    r = Range(«B:B»).Find(What:=»Примечание:», LookAt:=xlWhole).Row — 1
    Range(«A» & r & «:A» & r + 3).EntireRow.Insert
    Range(«B80:B82»).EntireRow.Copy Range(«A» & r)
    Application.ScreenUpdating = True
End Sub

[/vba]
Я так понимаю что скорее всего именно эта кнопка не привязана к данному макросу??? Или я вообще ни че не понимаю (((( что я не так сделал???


Кто бы ты ни был, мир в твоих руках

 

Ответить

Pelena

Дата: Понедельник, 18.04.2016, 16:42 |
Сообщение № 10

Группа: Админы

Ранг: Местный житель

Сообщений: 18797


Репутация:

4284

±

Замечаний:
±


Excel 2016 & Mac Excel

Не надо просто копировать, попробуйте разобраться. В первом макросе я привязалась к слову Примечание под таблицей. Во втором макросе привяжитесь к слову Заключение


«Черт возьми, Холмс! Но как??!!»
Ю-money 41001765434816

 

Ответить

lebensvoll

Дата: Понедельник, 18.04.2016, 16:45 |
Сообщение № 11

Группа: Проверенные

Ранг: Старожил

Сообщений: 1002


Репутация:

30

±

Замечаний:
0% ±


Excel 2010

Pelena, Это я понял. Я боюсь что кнопка как то привязывается к самому макросу или нет??? это не наименование кнопки


Кто бы ты ни был, мир в твоих руках

 

Ответить

Pelena

Дата: Понедельник, 18.04.2016, 16:47 |
Сообщение № 12

Группа: Админы

Ранг: Местный житель

Сообщений: 18797


Репутация:

4284

±

Замечаний:
±


Excel 2016 & Mac Excel

Правая кнопка мыши — Назначить макрос
Правая кнопка мыши — исходный текст — между [vba]

Код

Private Sub CommandButton3_Click()

[/vba] и [vba][/vba] прописать название макроса


«Черт возьми, Холмс! Но как??!!»
Ю-money 41001765434816

 

Ответить

lebensvoll

Дата: Понедельник, 18.04.2016, 16:48 |
Сообщение № 13

Группа: Проверенные

Ранг: Старожил

Сообщений: 1002


Репутация:

30

±

Замечаний:
0% ±


Excel 2010

Я привязался к ЗАКЛЮЧЕНИЮ
[vba]

Код

Public Sub Add39_58()
    Dim r
    Application.ScreenUpdating = False
    r = Range(«B:B»).Find(What:=»Заключение:», LookAt:=xlWhole).Row — 1
    Range(«A» & r & «:A» & r + 3).EntireRow.Insert
    Range(«B80:B82»).EntireRow.Copy Range(«A» & r)
    Application.ScreenUpdating = True
End Sub

[/vba]
[img][/img]


Кто бы ты ни был, мир в твоих руках

 

Ответить

Pelena

Дата: Понедельник, 18.04.2016, 16:50 |
Сообщение № 14

Группа: Админы

Ранг: Местный житель

Сообщений: 18797


Репутация:

4284

±

Замечаний:
±


Excel 2016 & Mac Excel

Так макрос-то назовите по-другому. Не может быть двух макросов с одинаковыми названиями


«Черт возьми, Холмс! Но как??!!»
Ю-money 41001765434816

 

Ответить

lebensvoll

Дата: Понедельник, 18.04.2016, 17:03 |
Сообщение № 15

Группа: Проверенные

Ранг: Старожил

Сообщений: 1002


Репутация:

30

±

Замечаний:
0% ±


Excel 2010

Pelena, Все равно не получается ((((
Смотрите что я заметил еще на самом листе «СКЛЕРОМЕТР» вы указали наименование своего макроса (если я правильно понял).
[img][/img]
Далее вы создаете модуль 1 и там прописываете его действие
[vba]

Код

Public Sub Add39_58()
    Dim r
    Application.ScreenUpdating = False
    r = Range(«B:B»).Find(What:=»Примечание:», LookAt:=xlWhole).Row — 1
    Range(«A» & r & «:A» & r + 19).EntireRow.Insert
    Range(«B39:B58»).EntireRow.Copy Range(«A» & r)
    Application.ScreenUpdating = True
End Sub

[/vba]
Я должен просто продолжить в модуле 1 следующий макрос для другой кнопки
[vba]

Код

Public Sub CommandButton3_Click()
    Dim r
    Application.ScreenUpdating = False
    r = Range(«B:B»).Find(What:=»Заключение:», LookAt:=xlWhole).Row — 1
    Range(«A» & r & «:A» & r + 3).EntireRow.Insert
    Range(«B80:B82»).EntireRow.Copy Range(«A» & r)
    Application.ScreenUpdating = True
End Sub

[/vba]
Но должен ли я на листе «СКЛЕРОМЕТР» указать CommandButton3
[img][/img]


Кто бы ты ни был, мир в твоих руках

 

Ответить

Pelena

Дата: Понедельник, 18.04.2016, 17:19 |
Сообщение № 16

Группа: Админы

Ранг: Местный житель

Сообщений: 18797


Репутация:

4284

±

Замечаний:
±


Excel 2016 & Mac Excel

Проще было бы сделать по аналогии: создать в модуле макрос с названием, скажем ADD80_82 и вызвать его из процедуры CommandButton3_Click() (из модуля листа)

Так как кнопка находится на листе, то и процедура CommandButton3_Click() должна быть в модуле листа, а не в модуле1

Моё сообщение №12 прочитали?


«Черт возьми, Холмс! Но как??!!»
Ю-money 41001765434816

 

Ответить

lebensvoll

Дата: Понедельник, 18.04.2016, 17:29 |
Сообщение № 17

Группа: Проверенные

Ранг: Старожил

Сообщений: 1002


Репутация:

30

±

Замечаний:
0% ±


Excel 2010

Pelena, Сейчас попробую. Но, я не прощаюсь )))) постараюсь учесть все ваши наставления. Спасибо огромное


Кто бы ты ни был, мир в твоих руках

 

Ответить

lebensvoll

Дата: Понедельник, 18.04.2016, 17:41 |
Сообщение № 18

Группа: Проверенные

Ранг: Старожил

Сообщений: 1002


Репутация:

30

±

Замечаний:
0% ±


Excel 2010

Pelena, что означает данная формулировка???
[img][/img]

Цитата

Ошибка во время выполнения 91 Объектная переменная или переменная блока with не задана

яндекс переводчик гласит это


Кто бы ты ни был, мир в твоих руках

 

Ответить

Pelena

Дата: Понедельник, 18.04.2016, 19:25 |
Сообщение № 19

Группа: Админы

Ранг: Местный житель

Сообщений: 18797


Репутация:

4284

±

Замечаний:
±


Excel 2016 & Mac Excel

Забыла сказать, там надо объединение ячеек снять


«Черт возьми, Холмс! Но как??!!»
Ю-money 41001765434816

 

Ответить

Wasilich

Дата: Понедельник, 18.04.2016, 19:35 |
Сообщение № 20

Группа: Друзья

Ранг: Старожил

Сообщений: 1232


Репутация:

326

±

Замечаний:
0% ±


2003

Я привязался к ЗАКЛЮЧЕНИЮ

Особо не вникал, но заметил, в скрине сообщения №9 слово ЗАКЛЮЧЕНИЕ заглавными, а в макросе… ?
Или в 2010-м значения не имеет?

 

Ответить

На чтение 1 мин

По умолчанию в Excel нет горячей клавиши для вставки значений.

Часто используют сочетание клавиш CTRL+ALT+V для вызова окна Специальная вставка:

1️⃣ В окне выбирают пункт Значения

Горячая клавиша для вставки значений в Excel

2️⃣ Нажимают ОК

Но есть лайфхак как создать горячую клавишу для вставки значений!

1️⃣ Щелкните на панели быстрого доступа по кнопке настройки

Горячая клавиша для вставки значений в Excel

2️⃣ В контекстном меню выберите Другие команды

3️⃣ В настройках панели выберите Все команды

Горячая клавиша для вставки значений в Excel

Telegram Logo Больше лайфхаков в нашем Telegram Подписаться

4️⃣ В списке найдите и выберите Вставить значения

5️⃣ Добавьте команду на панель быстрого доступа нажав кнопку Добавить

6️⃣ На панели быстрого доступа появилась команда Вставка значений

Горячая клавиша для вставки значений в Excel

7️⃣ Нажатие на эту иконку активирует Вставку значений

А как же горячие клавиши?

8️⃣ Нажмите клавишу Alt и рядом с командами панели быстрого доступа появятся цифры

Горячая клавиша для вставки значений в Excel

9️⃣ Нажмите нужную вам цифру для вызова команды Вставить значения

✅ В моём примере горячие клавиши Alt и 1 активируют Вставку значений

Поделитесь, пожалуйста, в комментариях, был ли полезен этот лайфхак для вас 👇

Содержание

  • Процедура добавления ячеек
    • Способ 1: Контекстное меню
    • Способ 2: Кнопка на ленте
    • Способ 3: Горячие клавиши
  • Вопросы и ответы

Добавление ячейки в Microsoft Excel

Как правило, для подавляющего большинства пользователей добавление ячеек при работе в программе Excel не представляет сверхсложной задачи. Но, к сожалению, далеко не каждый знает все возможные способы, как это сделать. А ведь в некоторых ситуациях применение именно конкретного способа помогло бы сократить временные затраты на выполнение процедуры. Давайте выясним, какие существуют варианты добавления новых ячеек в Экселе.

Читайте также: Как добавить новую строку в таблице Эксель
Как вставить столбец в Excel

Процедура добавления ячеек

Сразу обратим внимание на то, как именно с технологической стороны выполняется процедура добавления ячеек. По большому счету то, что мы называем «добавлением», по сути, является перемещением. То есть, ячейки просто сдвигаются вниз и вправо. Значения, которые находятся на самом краю листа, таким образом, при добавлении новых ячеек удаляются. Поэтому нужно за указанным процессом следить, когда лист заполняется данными более, чем на 50%. Хотя, учитывая, что в современных версиях Excel имеет на листе 1 миллион строк и столбцов, на практике такая необходимость наступает крайне редко.

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

Итак, теперь перейдем к конкретным способам добавления элементов на лист.

Способ 1: Контекстное меню

Одним из самых распространенных способов добавления ячеек в Экселе является использование контекстного меню.

  1. Выделяем элемент листа, куда хотим вставить новую ячейку. Кликаем по нему правой кнопкой мыши. Запускается контекстное меню. Выбираем в нем позицию «Вставить…».
  2. Переход к добавлению ячеек через контекстное меню в Microsoft Excel

  3. После этого открывается небольшое окошко вставки. Так как нас интересует именно вставка ячеек, а не целых строк или столбцов, то пункты «Строку» и «Столбец» мы игнорируем. Производим выбор между пунктами «Ячейки, со сдвигом вправо» и «Ячейки, со сдвигом вниз», в соответствии со своими планами по организации таблицы. После того, как выбор произведен, жмем на кнопку «OK».
  4. Окошко добавления ячеек в Microsoft Excel

  5. Если пользователь выбрал вариант «Ячейки, со сдвигом вправо», то изменения примут примерно такой вид, как на таблице ниже.
    Ячейка добавлена через контекстное меню со сдвигом вправо в Microsoft Excel

    Если был выбран вариант и «Ячейки, со сдвигом вниз», то таблица изменится следующим образом.

Ячейка добавлена через контекстное меню со сдвигом вниз в Microsoft Excel

Аналогичным образом можно добавлять целые группы ячеек, только для этого перед переходом в контекстное меню нужно будет выделить соответствующее число элементов на листе.

Переход к добавлению группы ячеек через контекстное меню в Microsoft Excel

После этого элементы будут добавлены по тому же алгоритму, который мы описывали выше, но только целой группой.

Группа ячеек добавлена через контекстное меню со сдвигом вниз в Microsoft Excel

Lumpics.ru

Способ 2: Кнопка на ленте

Добавить элементы на лист Excel можно также через кнопку на ленте. Посмотрим, как это сделать.

  1. Выделяем элемент на том месте листа, где планируем произвести добавление ячейки. Перемещаемся во вкладку «Главная», если находимся в данный момент в другой. Затем кликаем по кнопке «Вставить» в блоке инструментов «Ячейки» на ленте.
  2. Вставка ячейки через кнопку на ленте в Microsoft Excel

  3. После этого элемент будет добавлен на лист. Причем, в любом случае он будет добавлен со смещением вниз. Так что данный способ все-таки менее гибок, чем предыдущий.

Ячейка вставлена через кнопку на ленте в Microsoft Excel

С помощью этого же способа можно производить добавление групп ячеек.

  1. Выделяем горизонтальную группу элементов листа и жмем на знакомую нам иконку «Вставить» во вкладке «Главная».
  2. Вставка горизонтальной группы ячеек через кнопку на ленте в Microsoft Excel

  3. После этого группа элементов листа будет вставлена, как и при одиночном добавлении, со сдвигом вниз.

Горизонтальная группа ячеек вставлена через кнопку на ленте в Microsoft Excel

А вот при выделении вертикальной группы ячеек мы получим несколько иной результат.

  1. Выделяем вертикальную группу элементов и жмем на кнопку «Вставить».
  2. Вставка вертикальной группы ячеек через кнопку на ленте в Microsoft Excel

  3. Как видим, в отличие от предыдущих вариантов, в этом случае была добавлена группа элементов со сдвигом вправо.

Вертикальная группа ячеек вставлена через кнопку на ленте в Microsoft Excel

Что же будет, если мы этим же способом добавим массив элементов, имеющий как горизонтальную, так и вертикальную направленность?

  1. Выделяем массив соответствующей направленности и жмем на уже знакомую нам кнопку «Вставить».
  2. Вставка массива ячеек через кнопку на ленте в Microsoft Excel

  3. Как видим, при этом в выделенную область будут вставлены элементы со сдвигом вправо.

Массив ячеек вставлен через кнопку на ленте в Microsoft Excel

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

  1. Выделяем элемент или группу элементов, на место которой хотим произвести вставку. Щелкаем не по знакомой нам кнопке «Вставить», а по треугольнику, который изображен справа от неё. Открывается список действий. Выбираем в нем пункт «Вставить ячейки…».
  2. Переход к вставке ячеек через кнопку на ленте в Microsoft Excel

  3. После этого открывается уже знакомое нам по первому способу окошко вставки. Выбираем вариант вставки. Если мы, как было сказано выше, хотим произвести действие со сдвигом вниз, то ставим переключатель в позицию «Ячейки, со сдвигом вниз». После этого жмем на кнопку «OK».
  4. Настройка вставки ячеек со сдвигом вниз в Microsoft Excel

  5. Как видим, элементы были добавлены на лист со сдвигом вниз, то есть, именно так, как мы задали в настройках.

Массив ячеек добавлен со сдвигом вниз через кнопку на ленте в Microsoft Excel

Способ 3: Горячие клавиши

Самый быстрый способ добавить элементы листа в Экселе – это воспользоваться сочетанием горячих клавиш.

  1. Выделяем элементы, на место которых хотим произвести вставку. После этого набираем на клавиатуре комбинацию горячих клавиш Ctrl+Shift+=.
  2. Выделение группы ячеек в Microsoft Excel

  3. Вслед за этим откроется уже знакомое нам небольшое окошко вставки элементов. В нем нужно выставить настройки смещения вправо или вниз и нажать кнопку «OK» точно так же, как мы это делали уже не раз в предыдущих способах.
  4. окно добавления ячеек вызванное комбинацией горячих клавиш в Microsoft Excel

  5. После этого элементы на лист будут вставлены, согласно предварительным настройкам, которые были внесены в предыдущем пункте данной инструкции.

Ячейки добавлены с помощью горячих клавиш в Microsoft Excel

Урок: Горячие клавиши в Excel

Как видим, существуют три основных способа вставки ячеек в таблицу: с помощью контекстного меню, кнопок на ленте и горячих клавиш. По функционалу эти способы идентичные, так что при выборе, прежде всего, учитывается удобство для самого пользователя. Хотя, безусловно, наиболее быстрый способ – это применения горячих клавиш. Но, к сожалению, далеко не все пользователи привыкли держать существующие комбинации горячих клавиш Экселя у себя в памяти. Поэтому далеко не для всех этот быстрый способ будет удобен.

Как сделать кнопку в Excel? Войдите в раздел «Разработчик», откройте меню «Вставить», выберите изображение и назначьте макрос, гиперссылку, переход на другой лист или иную функцию. Ниже подробно рассмотрим все способы создания клавиш в Эксель, а также приведем функции, которые им можно присвоить.

Как создать кнопку: базовые варианты

Перед тем как сделать кнопку в Эксель, убедитесь в наличии режима разработчика. Если такой вкладки нет, сделайте следующие шаги:

  1. Жмите по ленте правой клавишей мышки (ПКМ).
  2. В появившемся меню кликните на пункт «Настройка ленты …».
  3. В окне «Настроить ленту» поставьте флажок возле «Разработчик».
  4. Кликните «ОК».

После того, как сделана подготовительная работа, можно вставить кнопку в Excel. Для этого можно использовать один из рассмотренных ниже способов.

Через ActiveX

Основной способ, как создать кнопку в Excel — сделать это через ActiveX. Следуйте такому алгоритму:

  1. Войдите в раздел «Разработчик».
  2. Жмите на кнопку «Вставить».
  3. В появившемся меню выберите интересующий элемент ActiveX.
  4. Нарисуйте его нужного размера.

Через элемент управления

Второй вариант — создание кнопки в Excel через элемент управления. Алгоритм действий такой:

  1. Перейдите в «Разработчик».
  2. Откройте панель «Вставить».
  3.  Выберите интересующий рисунок в разделе «Элемент управления формы».
  4. Нарисуйте нужный элемент.
  5. Назначьте макрос или другую функцию.

Через раздел фигур

Следующий способ, как добавить кнопку в Excel на лист — сделать это с помощью раздела «Фигуры». Алгоритм действий такой:

  1. Перейдите в раздел «Вставка».
  2. Войдите в меню «Иллюстрации», где выберите оптимальную фигуру.
  3. Нарисуйте изображение необходимой формы и размера.
  4. Кликните ПКМ по готовой фигуре и измените оформление.

В качестве рисунка

Вставка кнопки Excel доступна также в виде рисунка. Для достижения результата пройдите такие шаги:

  1. Перейдите во вкладку «Вставка».
  2. Кликните в категорию «Иллюстрации».
  3. Выберите «Рисунок».
  4. Определитесь с типом клавиши, который предлагается программой.

Какие кнопки можно создать

В Excel возможно добавление кнопки двух видов:

  1. Command Button — срабатывает путем нажатия, запускает определенное действие (указывается индивидуально). Является наиболее востребованным вариантом и может играть роль ссылки на страницу, таблицу, ячейку и т. д.
  2. Toggle Button — играет роль переключателя / выключателя. Может нести определенные сведения и скрывать в себе два параметра — Faste и True. Это соответствует двум состояниям — нажато и отжато.

Также перед тем как поставить кнопку в Эксель, нужно определиться с ее назначением. От этого напрямую зависят дальнейшие шаги. Рассмотрим разные варианты.

Макрос

Часто бывают ситуации, когда необходимо создать кнопку макроса в Excel, чтобы она выполняла определенные задачи. В обычном режиме для запуска нужно каждый раз переходить в раздел разработчика, что требует потери времени. Проще создать рабочую клавишу и нажимать ее по мере неободимости.

Если вы решили сделать клавишу с помощью ActiveX, алгоритм будет таким:

  • Войдите в «Режим конструктора».

  • Кликните дважды по ней.
  • В режиме Visual Basic между двумя строками впишите команду, необходимую для вызова макроса., к примеру, Call Макрос1.

  • Установите назначение для остальных графических объектов, если они есть.

Зная, как назначить кнопку в Excel, вы легко справитесь с задачей. Но можно сделать еще проще — жмите на рисунок ПКМ и в списке внизу перейдите в раздел «Назначить макрос». Здесь уже задайте интересующую команду.

Переход на другой лист / ячейку / документ

При желании можно сделать кнопку в Excel, которая будет отправлять к другому документу, ячейке или листу. Для этого сделайте следующее:

  • Подготовьте клавишу по схеме, которая рассмотрена выше.
  • Выделите ее.
  • На вкладке «Вставка» отыщите «Гиперссылка».

  • Выберите подходящий вариант. Это может быть файл, веб-страница, e-mail, новый документ или другое место.
  • Укажите путь.

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

Существует и другой способ, как сделать кнопку в Excel для перехода к определенному листу. Алгоритм такой:

  1. Создайте рисунок по рассмотренной выше схеме.
  2. В окне «Назначить макрос» введите имя макроса, а после жмите на клавишу входа в диалоговое окно Microsoft Visual Basic.
  3. Вставьте код для перехода к другому листу — ThisWorkbook.Sheets(«Sheet1»).Activate. Здесь вместо Sheet1 укажите путь к листу с учетом запроса.
  4. Сохраните код и закройте окно.

Сортировка таблиц

При желании можно сделать клавишу для сортировки таблиц Excel. Алгоритм действий такой:

  • Создайте текстовую таблицу.
  • Вместо заголовков добавьте автофигуры, которые в дальнейшем будут играть роль клавиш-ссылок на столбцах таблицы.

  • Войдите в Visual Basic режим, где в папке Modules вставьте модуль Module1.
  • Кликните ПКМ по папке и жмите на Insert Module.
  • Сделайте двойной клик по Module1 и введите код.
  • Назначьте каждой фигуре индивидуальный макрос.

После выполнения этих шагов достаточно нажать по заголовку, чтобы таблица сортировала данные в отношении определенного столбца.

По рассмотренным выше принципам несложно разобраться, как в Экселе сделать кнопки выбора и решения других задач. В комментариях расскажите, какой из приведенных методов вам подошел, и как проще всего самому сделать клавишу в программе.

Отличного Вам дня!

Вставка командной кнопки на рабочий лист для начинающих программировать с нуля. Кнопки из коллекций «Элементы управления формы» и «Элементы ActiveX».

Начинаем программировать с нуля
Часть 3. Первая кнопка
[Часть 1] [Часть 2] [Часть 3] [Часть 4]

Добавление вкладки «Разработчик»

Вкладка с инструментами, связанными с VBA Excel, называется «Разработчик». Если этой вкладки нет на вашей ленте, добавьте ее через окно «Параметры»:

Окно «Параметры Excel»

Порядок действий:

  • Откройте окно «Параметры» через меню «Файл».
  • Выберите вкладку «Настроить ленту».
  • В правой колонке установите галочку у пункта «Разработчик» и нажмите «OK».

Кнопка – элемент управления формы

Вставка кнопки на лист

  1. Выберите вкладку «Разработчик» и нажмите на кнопку «Вставить».
  2. Нажмите на значок кнопки в коллекции «Элементы управления формы».

Добавление кнопки на рабочий лист (элемент управления формы)

  1. Кликните в любом месте на рабочем листе Excel.
  2. Откроется окно «Назначить макрос объекту». Нажмите «Отмена», так как макрос для этой кнопки еще не готов.
  3. После нажатия кнопки «Отмена», на рабочем листе появится новая кнопка из коллекции «Элементы управления формы» в режиме редактирования.

Кнопка (элемент управления формы)

Ухватив мышкой за один из кружочков, можно изменить размер кнопки. Ухватив кнопку за границу, можно перетащить ее в другое место. Также, в режиме редактирования, можно изменить название кнопки прямо на ее поверхности.

Чтобы выйти из режима редактирования кнопки из коллекции «Элементы управления формы», кликните в любом месте на рабочем листе.

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

Создание процедуры для кнопки

Кнопке из коллекции «Элементы управления формы» можно назначить макрос (процедуру), размещенную в стандартном программном модуле.

Создайте или откройте файл Excel с расширением .xlsm (Книга Excel с поддержкой макросов) и перейдите в редактор VBA, нажав сочетание клавиш «Левая_клавиша_Alt+F11».

Если вы не создавали ранее в этом проекте VBA стандартный программный модуль, нажмите кнопку «Module» во вкладке «Insert» главного меню. То же подменю откроется при нажатии на вторую кнопку (после значка Excel) на панели инструментов.

Вставка модуля в редакторе VBA Excel

Ссылка на модуль появится в проводнике слева. Если модуль создан ранее, дважды кликните по его ссылке в проводнике, и он откроется справа для редактирования.

Нажмите кнопку «Procedure…» во вкладке «Insert» главного меню. Та же ссылка будет доступна при нажатии на вторую кнопку после значка Excel на панели инструментов.

Вставка процедуры в редакторе VBA Excel

В открывшемся окне добавления шаблона процедуры оставьте выбранным переключатель «Sub», вставьте в поле «Name» название процедуры «NovayaProtsedura» и нажмите «OK».

Окно добавления процедуры в редакторе VBA Excel

В стандартный программный модуль будет вставлен шаблон процедуры «NovayaProtsedura».

Шаблон процедуры в редакторе VBA Excel

Вставьте внутрь шаблона процедуры следующий код:

‘Записываем в ячейку A1 число 44

Cells(1, 1) = 44

‘Записываем в ячейку B1 число 56

Cells(1, 2) = 56

‘Записываем в ячейку C1 формулу, которая

‘вычисляет сумму значений ячеек A1 и B1

Cells(1, 3) = «=A1+B1»

Процедура в редакторе VBA Excel

На этом процедура (подпрограмма, макрос) для кнопки готова.

Назначение макроса кнопке

Кликните правой кнопкой мыши по кнопке на рабочем листе и в контекстном меню выберите строку «Назначить макрос…», откроется окно «Назначить макрос объекту».

Окно «Назначить макрос объекту»

Выберите в списке процедуру «NovayaProtsedura» и нажмите «OK». Кликните левой кнопкой мыши по рабочему листу, чтобы командная кнопка вышла из режима редактирования.

Теперь можете нажать созданную кнопку из коллекции «Элементы управления формы» для проверки ее работоспособности.

Кнопка – элемент ActiveX

Вставка кнопки на лист

  1. Выберите вкладку «Разработчик» и нажмите на кнопку «Вставить».
  2. Нажмите на значок кнопки в коллекции «Элементы ActiveX».

Добавление кнопки на рабочий лист (элемент ActiveX)

  1. Кликните по рабочему листу и кнопка из коллекции «Элементы ActiveX» появится рядом с курсором.
  2. Автоматически включится режим редактирования, включение и отключение которого осуществляется кнопкой «Режим конструктора».

Кнопка (элемент ActiveX)

Ухватив кнопку за кружок, можно изменить ее размер, а ухватив за границу – перетащить на другое место. Чтобы отредактировать наименование кнопки, нужно кликнуть на ней правой кнопкой мыши и в контекстном меню выбрать «Объект CommandButton» > «Edit».

Добавление процедуры

Кликните дважды по кнопке из коллекции «Элементы ActiveX» левой кнопкой мыши в режиме конструктора. Это приведет к открытию модуля листа, на который вставлена кнопка, и записи шаблона процедуры «CommandButton1_Click».

Шаблон процедуры в модуле рабочего листа Excel

Вставьте внутрь шаблона процедуры код, который будет очищать ячейки A1, B1 и C1:

Процедура в модуле рабочего листа Excel

Перейдите на рабочий лист и, если кнопка «Режим конструктора» затемнена, нажмите на нее, чтобы выйти из режима редактирования. После этого нажмите кнопку «CommandButton1», и она очистит ячейки, заполненные ранее нажатием кнопки «Кнопка 1».

Две кнопки на рабочем листе Excel

Теперь кнопка из коллекции «Элементы управления формы» (Кнопка 1) будет заполнять ячейки диапазона «A1:C1», а кнопка из коллекции «Элементы ActiveX» (CommandButton1) очищать их.


Понравилась статья? Поделить с друзьями:
  • Excel на mac 2020
  • Excel нажмите кнопка форма
  • Excel нажмите кнопка печать
  • Excel нажмите кнопка очистить
  • Excel нажмите кнопка мыши