Программирование в excel меню

�����: ������� ����������������

����� 10

�������� ������������ ��������� ����[9]

�������� ���� � ������� ����������� ���� ����������

�������� ������������ ���������� � ����������� ���������� �������������� ����������, ������ ���������� ��������� ������ ���������� � ����������� ��������� ����, ������� ��������� � ������� ����� ���� ����������. ����������� �������� ���� ��� ���������� ������� ����� �������������� �������, ������ ���������� ���� ���������� ��� ��������� VBA.

�� ���� ����������� Office ����� �������������� ����������� �������� ���� ���������, ��������� ��� ����� ���������� ���� ����������. ��� ��� ������ ����� � ���� ��� ������� ������� ������ ������������, � ����� � ����������� ������� � ������� ���������. ����� ���� ��������� ���:

1)��������� ������ ��������� �� ������� ������ ������������ (���. 117);

2)�� ����������� ���� ��������� ������ ������������ (���. 116) ������� ��� ������������ ����, � ������ ������ �������� ������ ��������� ���� ���������� ������� ��� ���������, ��� �������� ��������� ������ (�� Normal!) � �������� ������ ��. �� ������ �������� ��������� ������ � �������� ������ (���. 118);

3)���� ������ ���� ���������� (���. 119) � ������� ��������� �������� ����������� ������� ��� ���������� ����. � ���������� �� ������ �������� ������ ��������� ������ (���. 120).

���. 117. ���� �������� ����������� ������

���. 118. ���������� ���� ��������� ������ ������������

���������� ���������� ����

���� ������ ���������� ���� ��� ������� ���������, � ���, � ������� �� ��������� �������� ������ ����, ����� ��������� � ����� ���������� Office. �������� ���������� ���� ����������, � �����:

1)����� ��������������� ���� �� ������ ���, ��������� ������ ������ ����� � ������ ����������� ���� � ������ ������ ������������ �� ����������� ������� ������ ������������;

���. 119. ���� ����������

2)�� ������ ��������� �� ������� ������� �������� ����� ���� (���. 120);

3)��������� ������� ����� ���� ������ � ������ ������� � ���������� �� � �� ����, � �������� ����������� ����� ����. ��� ���� ���� �I� �������� �� �����, ���� ������� ��� ������ ���� (���. 120);

4)��������� ������ ������� ���� ����� ���� (��� ���������� ���� ���������), ������� ��� ����� ���� � ���� ��� (���. 121) ������������ ����.

���� ������ �������� ��� ������ ����, �� �� ������ ��� ��� �������� ������ �������������.

���. 120. �������� ������ ���� � �������� ���� ����������

���. 121. �������������� ������ ����

���������� �������

������� (��� �������� ����) ��������� � ������� ������� ������������� ���� �� ������ ��� �������, ������� �������� ���������� �������. ������� ����� ��������� � ���������� � ����������� ����, � ����� � � ������ �������. ������� ����������� ������ �������, ����� � ���� ����������� �������.

��� ���������� ������� ����� �������������� ���������� ���� ���������� � ������� �������������� ���� �������. ����� ����� ����� ����������� ���:

1)��� ������� ������� � ������ ��������� �������� ������� ����� ����;

2)��������� ������� ����� ���� ������ � ������ ������� � ���������� �� � �� ����� ����, ���� ����� �������� �������. ����� ���������� ���� ���������, ������� ��� ��������� � ��� ��������, ��������� ����� ���� ����� ��� ����������� ����. ��� ���� �������������� ����� ����� �������� �� ����� � ������ ������ ����������� ����, ���� ������� ��������� ������ �������;

3)��������� ������ ������� ���� ����� ���� � ������� ��������� ������ ������� � ���� ��� ������������ ����. ������ ��� ������ ��������� ������� ������ ��� ����� �� ���� �������� ������ ������� (���. 122).

���. 122. �������� �������

���������� ���������� �������

MS Office ��������� ��������� ������� � ����� ���������� � ���������������� ����, � ����� �������� ������� ���, ������������ � ��������� �������� ���� ������ ������ �� ������.

� ���������� ���� ���������� �������� �������������� ���� �������, � �����:

1)��� ������� ������� �������� � ������ ��������� ��������� ����������� ������� � ��� ������� ������ ��������� ����� �������� � ������ �������;

2)��������� ������� � ������ ������� � ���������� �� � �� ���� ��� �������, ���� ��� �����������. ����� ���������� ���� ��� ������� ���������, ������� ��������� � ��� ��������, ��������� ������� ����� ��������� ���������������� ����������� ���� ��� �������. �������������� ����� �������� ����� � ������ ������ ����������� ����, ���� ������� ��������� ������ ������� (���. 123).

���. 123. ���������� ���������� ������

����������� ������� ����� � �����: �������� �� ����� ���� � ������ �������� � ���������� �� � ���� ���� ��� ������� ������� Ctrl.

���������� ����������� �������

���������� ������� � ������� ���� ���������� � ����������� ��� ���������� ���� ������� �� ���������� Office, � ������� ��� �����������:

Microsoft Excel. �������� ��� ��, ��� � ��� ������� ���������� �������, �������� � ������ ��������� ������� ������ (Macros) � ���������� ������� ������������� ������� ���� �� ������ ������� � ����. �������� ��� ������� ������ ������� ���� � �������� � ����������� ���� ������� ��������� ������. ����� ������� � ���� ��� ��� �������, ������� ������ ����������� �������� ����;

Microsoft Word Microsoft PowerPoint. ��� ��� ������� ���������� �������, �������� � ������ ��������� ������� ������� � ���������� � ���� ��� ������� ������� �� ������ ������� (���. 125, ��������� � ����� 2). ��� ����� �������������� ���������� ������� ������ (������) � ����������� ������ � ��������� (���. 124). ��������� �������� ������� ������� �� ���. 126.

���. 124. �������� ������� (������) ������� ������������� �����

���. 125. ����� ������� (������), ������������ �����

���. 126. ���������� ����������� ������� � ������������� ������ � �� ������

�������� �������

��� �������� ���������� ���� ���� � ���������� ���� ���������� ������� ������� �������������� ����, �������� ������ ������� ���� ��������� ������� � � ����������� ���� ������� ������� �������. ����� ������� ������� ���������������� ������ ����, ����� ������� �� ������� ������ ������������ ����������� ���� ���������� �, ������ � ������ ������ ������������ ��� ��������� ������ ����, �������� ������ �������.

�������������� ���������� ����������� ����

������������ ����� ������ ���������� ������� ����, ������� ��� ����� ������. ��� � ������ �������� ��� ����, ��� �������� � ���� ����������. ���� ��� ���� ������������� ��������� ����������� ���� ��� �������, �� ������ � ��� ������������� ���� ���� � ��� ��� �������.

� ���������� ���� ���������� ����� ������� ������� �������������� ����. �����, ������� ������ ������� ���� ��������� ����������� ���� ��� �������, ������� ����� ������������, �������� � ����������� ���� ������� �����.

����� ������������ ���������� ������ ����, ��������� �� ������� ������ ������������ ���� ����������, �������� � ������ ������ ������������ ��� ����������������� ������ ���� � �������� ������ �����.

�������� ���� � ������� VBA

����� ���� � Excel, Word ��� PowerPoint ������ ��������� ���������� VBA, ��������� � ���� ����������� ���������� ���� ���������� �� �������� ������ ��������. ����� ���� ��������� ������� Add ��������� CommandBars (������ ������):

���������. Add(Name, Position, MenuBar, Temporary),

��� ��������� � ������������ ���������, ������������ ������ CommandBars, � ��� ��������� � ������� �������������. Name ������ ��� ������ ����;

Position ���������� ��� ��������� (��������-��������� msoBarLeft, msoBarTop, msoBarRight, msoBarButtom ���������� ��������� ���� �����, ������, ������ ��� ����� ����, msoBarFloating ������ ���������� ����, msoBarPopup ���������, ��� ����� ���� ����� �����������).

�������� True ��������� MenuBar ��������� �� ��, ��� ����� ���� ������� ������� �������� ������ ���� (�� ��������� � False). �������� True ��������� Temporary ��������, ��� ����� ���� ����� ��������� � ��������, ����� ��������� ���������� ��� ���������� (�� ��������� � False).

� ��������� ������� ��������� ����� ���� ��������� �����:

Dim CstmBar As CommandBar

Set CstmBar = CommandBars.Add(Name:=»������oe ����»,

Position:=msoBarTop, MenuBar:=True, Temporary:=False)

���������� ���������� ����

����� �������� ����� ���� ����������, ���� ������������ ����� Add ��������� CommandBarControls, �������� ��� � ������� ���� CommandBar, ������� ������������ ������ ������ ����. ������ ����� ��������� �������� �� ������ ������ (CommandBarButton), ��������������� ������ (CommandBarComboBox) � ���������� ���� (ComandBarPopup). ����� ������ ����� ���:

���������. Add(Type, Id, Parameter, Before, Temporary),

��� ��������� ������ ���������� ������ ���� CommandBarsControl.

��������� � ������� �������������. �������� ���� (���) ������ ��� ������������ �������. ��� �������� msoControlPopup ���������, ��� ����������� ����������� ������� � ���������� ����. ��� ���������������� ���� ��������� Id Parameter ����� ��������. �������� ��������� Before � �����, ����������� ��������� ������ �������� � ������������������ ��������� ������: ���� ��� ���, ������� ���������� � �����. ���������� ��� � ���� �������� ������� � ���������� ���� �����, ����� �������� �������� Caption.

������ ���������� ����������� ���� ���� ���������� ������ �������� ���� � ������ �������� ������� �»:

Dim CstmCtrl As CommandBarControl

Set CstmCtrl = CstmBar.Controls.Add(Type:=msoControlPopup,

Before:=1)

CstmCtrl.Caption = �&���� ����������

����� �������� ����� ������� ����������, � �������, ��������������� ������������ ���������� ����, ����� ��������� ����� Add ��������� CommandBarControls. � �������� ��������� ���� (���) ���� ������������ �������� msoControlPopup.

� ��������� ������� � ����� ����������� ���� ���� ����������, �������������� �� ������ ���� �������� ����, ����������� ������� �� �������� �������:

Dim CstmPopUpi As CommandBarPopup

Set CstmPopUpi =

stmCtrl.Controls.Add(Type:=msoControlPopup)

CstmPopUpi.Caption = �� �������� �������

���������� ������

�������� ����� ������� � ���� �����, �������� ����� Add ��������� CommandBarControls � �������, ��������������� ���������� ����. ��� ���� ����� �������� ����������� �������, �������� �� ��� � ����, � ����� � �������� �������� �������� OnAction ������� ��� VBA-���������, ������� ������ ���������� ��� ������ ������ �������. � �������� �������� ��������� ���� (���) ������ Add ������� msoControlButton, ����������, ��� ����������� � ���� ������� ����� ��������. ������� ������� ����������� � ���������� ���� ���� ���������� �� ������ �������� ����. ����� ���� ������� ��������� ��������� Invoice:

Set CstmCtrl = CstmPopUpi.Controls.Add(Type:=msoControlButton)

CstmCtrl.Caption = �����������

CstmCtrl.OnAction = �Module1.Invoice�

����� Add ��������� ��������� � ���� � ���������� �������. ��� ����� ��� ������ ������� �������� ��������� Id, ������ ��������� �������������� ������ ������� � Office. ��������� � Office 2000 ���������� ������ ������� �� 4000, � ����. 22 �������� �������� ������� ��������������.

������� 22

�������� ������� ��������������� ���������� ������ ����

������ ���������� ������� �������� ������������ Spelling � ���� �������� �� ������ �������� ����:

Set mySpell = CommandBars(��������� �����).��ntrols(���������)_.Controls.Add(Id:=2)

������ 61. ������� ��������, � ������� ����� ��������� ��� ���������� ���� � ������� ����������� ������������� ����. �� ������� ������ ���� ����� �������� �� ������ ������. ��� ����� �������� ��� �������, ������ �� ������� �������� �� ����� �������. ��� ���������� ������ ������� ������� ������� �����, ���������� ��� ������: ������� ������ (���. 127). ������ ������ ��������� ��� ������ ��������� ��������� � ������� ����������� ���� (���. 127), ������ ������ ���������� ��� ������ �� ����� (���. 128).

���������� ����������

1.�������������� ���������� Word � �������� ��������.

2.���������� � �������� VBA � �������� �����.

3.��������� ��������� �������� ����������� ������.

Option Explicit

Public Sub CreateCustomMenu()

Dim CstmBar As CommandBar

Dim CstmPopUpi As CommandBarPopup, CstmPopUp2 As CommandBarPopup

Dim CstmCtrl As CommandBarControl

Dim Exist As Boolean

‘��������� ��� ������

For Each CstmBar In CommandBars

CstmBar.Enabled = False

Next CstmBar

‘�������, �������� � ������ ������� ����������� ������

Exist = False

For Each CstmBar In CommandBars

If CstmBar.Name = ��������� ����� Then

Exist = True

Exit For

End If

Next CstmBar

If Not Exist Then

Set CstmBar = CommandBars.Add(Name:=»������oe ����», Position:=msoBarTop, MenuBar:=True, Temporary:=False)

End If

CstmBar.Enabled = True

CstmBar.Visible = True

‘��������� ���� �� ������

Exist = False

For Each CstmCtrl In CstmBar.Controls

If CstmCtrl.Caption = �&���� ���������� Then

Exist = True

Exit For

End If

Next CstmCtrl

If Not Exist Then

Set CstmCtrl = CstmBar.Controls.Add(Type:=msoControlPopup, Before:=1)

CstmCtrl.Caption = �&���� ����������

‘��������� ��� ������� �������

Set CstmPopUpi =

CstmCtrl.Controls.Add(Type:=msoControlPopup)

CstmPopUpi.Caption = � � �������� �������

Set CstmPopUp2 =

CstmCtrl.Controls.Add(Type:=msoControlPopup)

CstmPopUp2.Caption = � �����������

‘��������� ������� � ������ �������

Set CstmCtrl =

CstmPopUpi.Controls.Add(Type:=msoControlButton)

CstmCtrl.Caption = �����������

CstmCtrl.OnAction = �Module1.Invoice�

Set CstmCtrl =

CstmPopUp2.Controls.Add(Type:=msoControlButton)

CstmCtrl.Caption = �����

CstmCtrl.OnAction = �Module1.Account�

End If

End Sub

��������� � ���������. �������, ��������� �������� Enabled, ���� ��������� ��� ������. ����� ���� ������������ �������� ���� � ����� ������� � ���������, ���������� ����� ���� �����. �������� ��������: ����� ����������� ������ ������ ������ �����������, � �� ��� �� �� ��� ��������. �������� �������� ��������� �������� ������, ����������� ��� �������� �������� ��� ������������ ����� ��� ������� ��������������.

4.��������� ��������� �������������� ������� ������������ ���������.

Public Sub ResetMainMenu()

Dim CstmBar As CommandBar

‘�������� ��� ������

For Each CstmBar In CommandBars

CstmBar.Enabled = True

Next CstmBar

Set CstmBar = CommandBars.Item(�Menu Bar�)

CstmBar.Visible = True

End Sub

5.���������� ���������� ������ ���������.

Private Sub CommandButton1_Click()

Call CreateCustomMenu

End Sub

6.���������� ���������� ������ �������, ����������������� ����������� ���������.

Private Sub CommandButton2_Click()

Call ResetMainMenu

End Sub

7.������ ������ ��� �����������, �������� ���������, ���������� � ����� �� ����� ������ ���� ��������� ����:

Public Sub Invoice()

MsgBox (����������!�)

End Sub

Public Sub Account()

MsgBox (�����!�)

End Sub

8.��������������� ���������, ��������� ����� �� ����������.

���. 127. ����� ������� 61 � ������� ������. ��������� ������ ������ �������

����������. ������ ������ ���������� ��� ����� ������������� ������������� ��������� �������: � �������� ���� ������������ ������� ����� �����, ������� �������� ��������������� �����, ������������� ���� ����� ���������� (���. 129, 130). ����� ������� ������ ������� ���� ����� ���������� Word ����������, ��������� ������� ����, ��������� ����������. � ���� ���� ����� ������� � ���� + ������ ��������� ����� � ���������������� �������� (������� ��������).

���. 128. ��������� ������ ������ ��������

���. 129. ������� ���� ������������ � ���������� �����

���. 130. ������� ���� ����������, ��������� ����������, � ����� ������, ���������� ����� � ������� ��������

Хитрости »

14 Февраль 2022              1568 просмотров


Пользовательские формы(UserForm) разрабатываются специально для удобства взаимодействия пользователей с программой, и в основном для ввода и записи данных(напомню, что создается форма из редактора VBA: InsertUserForm). Наиболее часто используемым элементом форм является TextBox, который позволяет вводить любую текстовую информацию. И если с ручным вводом проблем обычно не возникает, то с вставкой в TextBox данных из буфера обмена могут возникнуть сложности. Иначе говоря, пользователь скопировал откуда-то текст и хочет вставить его в TextBox. Или наоборот — надо скопировать и перенести в другой TextBox или еще куда-то. Но не может. И не потому, что такой возможности в принципе нет, а потому, что «из коробки» TextBox в VBA не имеет своего меню «Вырезать-Копировать-Вставить» и копирование-вставка в них возможна только сочетаниями горячих клавиш Ctrl++C(копировать), Ctrl++V(вставить), Ctrl+X(вырезать). А зачастую формы(UserForm) разрабатываются для таких пользователей, которые могут даже не подозревать о горячих клавишах. И обязанность разработчика снабдить такие формы подобными командами. Чтобы по правому клику в TextBox появлялось свое меню с заветными командами:
Свое меню Копировать-Вырезать-Вставить
Что интересно – сами команды копирования-вырезки-вставки есть в TextBox-ах «из коробки», а вот меню для них – нет. И именно меню и его обработку мы и научимся делать.
На самом деле все не так уж сложно, но начинающим программировать в VBA может показаться иначе. Первое, что необходимо сделать – это создать свое меню, которое будет обрабатывать копирование-вырезку-вставку. Притом создавать его мы будем при первом старте UserForm(событие UserForm_Initialize). А при закрытии формы меню правильно будет удалить. За все это у нас будут отвечать коды ниже:

'при вызове формы
'   создаем свое меню "Вырезать-Копировать-Вставить" для вызова из TextBox
Private Sub UserForm_Initialize()
    Call DelCustomCCPMenu  'на всякий случай удаляем меню, если вдруг оно уже есть
    Set oPopupMenu = Application.CommandBars.Add("CustomCCP_PopupMenu", msoBarPopup)
    With oPopupMenu
        With .Controls.Add(msoControlButton)
            .Caption = "Копировать"               'текст кнопки
            .FaceId = "19"                        'код иконки для кнопки
            .OnAction = "MyPopupMenuButtonCClick" 'имя процедуры, которая будет выполнена при нажатии кнопки
        End With
        With .Controls.Add(msoControlButton)
            .Caption = "Вставить"                 'текст кнопки
            .FaceId = "22"                        'код иконки для кнопки
            .OnAction = "MyPopupMenuButtonPClick" 'имя процедуры, которая будет выполнена при нажатии кнопки
        End With
        With .Controls.Add(msoControlButton)
            .Caption = "Вырезать"                   'текст кнопки
            .FaceId = "21"                          'код иконки для кнопки
            .OnAction = "MyPopupMenuButtonCutClick" 'имя процедуры, которая будет выполнена при нажатии кнопки
        End With
    End With
End Sub
'при закрытии формы
'удаляем свое меню "Вырезать-Копировать-Вставить" для вызова из TextBox
Private Sub UserForm_Terminate()
    Call DelCustomCCPMenu 'вызов функции удаления меню
End Sub
'функция удаления созданного ранее меню
Function DelCustomCCPMenu()
    On Error Resume Next 'пропускаем ошибки, если вдруг меню было удалено ранее
    Application.CommandBars("CustomCCP_PopupMenu").Delete
End Function

По сути код выше достаточно просто вставить «внутрь» формы: правая кнопка мыши на форме —View Code -вставляем приведенный выше код. Имя самой формы нигде менять не надо. Это означает, что строки Private Sub UserForm_Initialize() и Private Sub UserForm_Terminate должны оставаться именно такими независимо от того, какое имя у формы.
Теперь останется для TextBox-а на форме прописать код вызова нашего меню при нажатии правой кнопки мыши:

'отслеживаем нажатие правой кнопки мыши внутри TextBox-а
'   Button = 1 - левая кнопка
'   Button = 2 - правая кнопка
Private Sub TextBox1_MouseUp(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
    If Button = 2 Then
        Set tbxAct = TextBox1
        Application.CommandBars("CustomCCP_PopupMenu").ShowPopup
    End If
End Sub

Напомню, что все эти коды мы должны прописать в модуль UserForm. И последний штрих – в любом стандартном модуле(InsertModule) прописываем обработку копирования-вставки:

'копировать
Private Sub MyPopupMenuButtonCClick()
    UserForm1. TextBox1.Copy
End Sub
'вставить
Private Sub MyPopupMenuButtonPClick()
    UserForm1. TextBox1.Paste
End Sub
'вырезать
Private Sub MyPopupMenuButtonCutClick()
    UserForm1. TextBox1.Cut
End Sub

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

  Свое меню Копировать-Вставить в TextBox.xls (77,5 KiB, 224 скачиваний)

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

Скачать пример:

  Свое меню Копировать-Вставить в TextBox — классы.xls (85,0 KiB, 188 скачиваний)

Так же см.:
Что такое модуль? Какие бывают модули?
Работа с модулями классов
Как быстро заполнить/очистить элементы на форме(TextBox-ы, ComboBox-ы)


Статья помогла? Поделись ссылкой с друзьями!

  Плейлист   Видеоуроки


Поиск по меткам



Access
apple watch
Multex
Power Query и Power BI
VBA управление кодами
Бесплатные надстройки
Дата и время
Записки
ИП
Надстройки
Печать
Политика Конфиденциальности
Почта
Программы
Работа с приложениями
Разработка приложений
Росстат
Тренинги и вебинары
Финансовые
Форматирование
Функции Excel
акции MulTEx
ссылки
статистика

Вставка командной кнопки на рабочий лист для начинающих программировать с нуля. Кнопки из коллекций «Элементы управления формы» и «Элементы 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) очищать их.


Создание кнопки в Microsoft Excel

Кнопка в Microsoft Excel

​Смотрите также​ выставляется ссылка​Формы​Управление всеми доступными макросами​ она не просто​и​ VBA и файлы​ одни и те​ следующий код:​ с набором элементов​Закрываем редактор, и запускаем​ этой же книге​Теперь после нажатия на​ в документе.​Автор: Максим Тютюшев​ окна. Теперь вкладка​

​ котором желаем расположить​Excel является комплексным табличным​

Процедура создания

​Karataev​через меню​ производится в окне,​ возрвращает Вас в​End Sub​ справки не переводятся​ же действия и​Sub Макрос 1()​ для вставки. Выбираем​ макрос, как и​ (файле), но при​ кнопку будет выполняться​После выбора нажмите кнопку​Табличный процессор Excel вмещает​

Способ 1: автофигура

​ разработчика будет активирована​ объект. Переходим во​ процессором, перед которым​: так можно добавить​

  1. ​Вид — Панели инструментов​​ которое можно открыть​​ предыдущее состояние, но​​- тело макроса,​​ компанией Microsoft на​ операции в Excel.​Range(«M6»).Select​​ первый элемент ActiveX​​ в прошлый раз.​ желании можно установить​ тот макрос, который​ «ОК».​ в себя огромное​ в вашей версии​ вкладку​ пользователи ставят самые​ на ленту кнопку​

    Выбор фигуры в Microsoft Excel

  2. ​ — Формы (View​ с помощью кнопки​ и стирает последнюю​ т.е. команды, которые​ русский язык, поэтому​ Любая офисная работа​End Sub​ – «кнопку» (в​ Как видим, вследствие​

    Сдвиг границ в Microsoft Excel

  3. ​ хранение в новой​ вы указали. Теперь​На этом создание кнопки​ количество опций и​ Excel.​«Вставка»​ разнообразные задачи. Одной​ для макроса средствами​ — Toolbars -​Макросы (Macros)​ записанную команду на​​ будут выполняться при​​ с английскими командами​

    Добавление гиперссылки в Microsoft Excel

  4. ​ предполагает некую «рутинную​Точно так же можно​ виде серого кирпичика).​​ введенных нами изменений​​ книге, или в​ вы знаете все​ первым способом закончено.​ функций, не исключая​​После этого перемещаемся во​​и кликаем по​

Окно создания гиперссылки в Microsoft Excel

​ из таких задач​ самой программы excel​ Forms)​на вкладке​ VBA.​

Кнопка создана в Microsoft Excel

​ запуске макроса. В​​ в меню и​ составляющую» — одни​

Способ 2: стороннее изображение

​ назначить макрос диаграмме,​ Теперь рисуем курсором​ была добавлена ещё​

  1. ​ отдельной книге макросов.​ три способа, как​ Теперь после нажатия​ даже возможность создания​
  2. ​ вкладку​ значку​ является создание кнопки​Файл —> Параметры—>Настройка​​В Excel 2007 и​​Разработчик (Developer)​Чтобы включить запись необходимо:​​ данном случае макрос​​ окнах придется смириться:​ и те же​ объектам WordArt, SmartAtr.​​ кнопку необходимого размера.​​ одна ячейка с​

    Переход к выбору рисунка в Microsoft Excel

  3. ​ Мы оставим значение​ сделать кнопку в​ по ней вы​ кнопки. На первый​«Разработчик»​«Рисунок»​ на листе, нажатие​ ленты —>Выбрать команды​ новее — откройте​​или — в​​в Excel 2003 и​

    Окно выбора рисунка в Microsoft Excel

  4. ​ выделяет ячейку заливает​Макросы (т.е. наборы команд​ еженедельные отчеты, одни​Для показательного примера создайте​Кнопка – элемент управления​ данными. Она также​ по умолчанию.​ Excel.​ будете переходить на​

    Выравнивание размеров кнопки в Microsoft Excel

  5. ​ взгляд абсолютно ненужный​. Щелкаем по кнопке​, который расположен на​ на которую запускало​ —>Макросы—> выберите макрос—>справа​ выпадающий список​ старых версиях Excel​ старше — выбрать​ выделенных диапазон (Selection)​ на языке VBA)​ и те же​ тестовую таблицу как​​ формы. Снова переходим​​ была включена в​

    Переход к назначению макроса в Microsoft Excel

  6. ​В самом нижнем поле​Вот мы и рассмотрели​ другой лист в​ элемент некоторым пользователям​«Вставить»​ ленте в блоке​ бы определенный процесс.​ выберите или создайте​Вставить (Insert)​ — через меню​ в меню​​ желтым цветом (код​​ хранятся в программных​

Выбор макроса в Microsoft Excel

​ действия по обработке​ на рисунке:​ на вкладку «Разработчик».​

Кнопка на листе в Microsoft Excel

​ расчет общей суммы.​​ настройки макросов можно​ три способа, как​

Способ 3: элемент ActiveX

​ документе. Если же​ может быть просто​, расположенной на ленте​ инструментов​ Данная проблема вполне​ вкладку и группу,в​на вкладке​

  1. ​Сервис — Макрос -​Сервис — Макрос -​ = 6) и​ модулях. В любой​ поступивших данных, заполнение​Вместо заголовков колонки таблицы​ Открываем меню инструмента​В случае, если макрос​ оставить любое подходящее​ в Excel сделать​ вы столкнулись с​ необходим. В этой​​ в блоке инструментов​​«Иллюстрации»​ решаема с помощью​​ которую нужно вставить​​Разработчик (Developer)​

    Перемещение в раздел Параметры в Microsoft Excel

  2. ​ Макросы​ Начать запись​​ затем проходит в​​ книге Excel мы​ однообразных таблиц или​ добавим автофигуры, которые​​ «Вставить». Теперь выбираем​​ слишком большой, его​ по контексту описание​ активные кнопки. Как​​ какими-либо трудностями или​​ статье будет рассказано,​«Элементы управления»​.​ инструментария Эксель. Давайте​ кнопку,—>Добавить>>​

    Включение режима разработчика в Microsoft Excel

  3. ​ ​(Tools — Macro -​​(Tools — Macro -​​ цикле по всем​​ можем создать любое​​ бланков и т.д.​ будут служить кнопками​​ элемент «кнопка» из​​ выполнение может занять​​ данного макроса. Но,​​ можно заметить, каждый​ же этот метод​ как сделать кнопку​

    Создание кнопки через элементы ActiveX в Microsoft Excel

  4. ​. В группе​Открывается окно выбора изображения.​ разберемся, какими способами​Vostok​Выберите объект​ Macros)​ Record New Macro)​ ячейкам, заменяя формулы​ количество программных модулей​

    Элемент ActiveX в Microsoft Excel

  5. ​ Использование макросов и​ для сортировки по​ первой группы (такой​

    Щелчок по элементу ActiveX в Microsoft Excel

  6. ​ значительное время. Но,​ это делать не​ из них в​ просто вам не​ в Excel и​«Элементы ActiveX»​ Переходим с помощью​ можно создать подобный​: Идёшь по этому​Кнопка (Button):​:​в Excel 2007 и​ на значения. В​ и разместить там​ пользовательских функций позволяет​ столбцам таблицы.​

Редактор макросов в Microsoft Excel

​ же серый кирпичик).​ путем внесения ручного​

Способ 4: элементы управления формы

​ обязательно.​ значительной мере отличается​ подошел, тогда перейдите​ привязать ее к​кликаем по самому​ него в ту​ объект в этой​ адресу и получает​Затем нарисуйте кнопку на​

  1. ​Любой выделенный в списке​​ новее — нажать​​ конце выводится окно​ наши макросы. Один​​ автоматизировать эти операции,​​В режиме Visual Basic​ Рисуем кнопку. Сразу​​ изменения в код,​​Когда все настройки выполнены,​ друг от друга,​ ко второму способу,​ ячейке.​ первому элементу, который​​ директорию жесткого диска,​​ программе.​ подробнейшее руководство по​ листе, удерживая левую​ макрос можно запустить​ кнопку​ сообщения (MsgBox).​

    Создание элемента управления формы в Microsoft Excel

  2. ​ модуль может содержать​ перекладывая монотонную однообразную​ — ALT+F11 в​ открывается окно для​ мы можем ускорить​
  3. ​ жмем на кнопку​ поэтому, ознакомившись с​ как в Excel​Если перед вами не​​ имеет вид кнопки.​​ где расположен рисунок,​Скачать последнюю версию​ работе с кодом​​ кнопку мыши. Автоматически​​ кнопкой​

Кнопка на листе в программе Microsoft Excel

​Запись макроса (Record macro)​С ходу ясно, что​ любое количество макросов.​ работу на плечи​ папке Modules вставляем​ назначения макроса: можно​ процесс. Добавляем команду​ «OK».​ каждым из них,​ сделать кнопку.​

​ стоит задача создания​

lumpics.ru

Три способа, как сделать кнопку в Excel

​После этого кликаем по​ который предназначен выполнять​ Excel​ RibbonX: Дж.Уокенбах. «Профессиональное​ появится окно, где​Выполнить​на вкладке​ вот так сразу,​ Доступ ко всем​ Excel. Другим поводом​ новый модуль Module1.​ сделать сразу, а​ «Application.ScreenUpdating = False».​После этого, все ваши​ вы сможете подобрать​

Автофигура

​Если вы думаете, что​ оригинальной кнопки и​ любому месту на​ роль кнопки. Выделяем​Как правило, подобная кнопка​ программирование на VBA»​ нужно выбрать макрос,​(Run)​Разработчик (Developer)​ без предварительной подготовки​ модулям осуществляется с​ для использования макросов​ Для этого делаем​ можно попозже.​ Она позволит сохранить​ действия в данной​ для себя самый​ создавать кнопку можно​

  1. ​ вы не хотите​
  2. ​ листе, которое считаем​
  3. ​ его наименование и​ призвана выступать в​ стр. 687, глава​ который должен запускаться​
  4. ​.​Затем необходимо настроить параметры​ и опыта в​ помощью окна Project​ в вашей работе​ по папке правый​Кнопка – автофигура. Переходим​ вычислительные мощности, а​ книге (файле) Excel​ оптимальный.​ только из штатных​
  5. ​ заморачиваться над сложным​ нужным. Сразу вслед​ жмем на кнопку​ качестве ссылки, инструмента​ 22. Как пример,​ при щелчке по​Кнопка​ записываемого макроса в​ программировании вообще и​ Explorer в левом​ может стать необходимость​

как в excel кнопку сделать

​ щелчок мышкой и​ на вкладку «Вставка».​ значит ускорить работу.​ будут записываться в​Автор: Вадим Матузок​ элементов и из​

  1. ​ ее оформлением то​ за этим там​«Вставить»​
  2. ​ для запуска процесса,​
  3. ​ покажу свою вкладку.​ нарисованной кнопке.​Параметры​ окне​ на VBA в​ верхнем углу редактора​ добавить в Microsoft​ выбираем: Insert-Module.​ В меню «Иллюстрации»​ Это достигается путем​ макрос до тех​Макросы программы Microsoft Excel​ действий можно назначать​ проще всего сделать​ отобразится элемент. Как​внизу окна.​ макроса и т.п.​ Создал буквально пару​Создание пользовательских функций или,​(Options)​
  4. ​Запись макроса​ частности, сложновато будет​ (если его не​ Excel недостающие, но​Делаем двойной щелчок по​
  5. ​ выбираем подходящую фигуру.​ отказа от обновления​ пор, пока вы​ позволяют значительно ускорить​ лишь гиперссылку, то​
  6. ​ ее, используя стандартный​ и в предыдущих​

как в excel сделать активные кнопки

​После этого изображение добавляется​ Хотя в некоторых​ недель назад:​ как их иногда​позволяет посмотреть и​:​ сообразить какие именно​ видно, нажмите CTRL+R).​ нужные вам функции.​ Module1 и вводим​ Рисуем. По готовой​ экрана во время​ сами не остановите​ работу с документами​ вы глубоко заблуждаетесь.​

Собственное изображение

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

  1. ​ Сейчас будет рассказано,​ программе. Такая кнопка​
  2. ​ местоположение и размеры.​ листа. Как и​ может являться просто​
  3. ​ конкретный макрос. Некоторые​ (User Defined Functions)​ для быстрого запуска​- подойдет любое​ надо вводить, чтобы​ нескольких типов для​
  4. ​ данных с разных​ код:Sub Макрос1()​ правой кнопкой мыши​ Чтобы возобновить обновление​Для примера, запишем простейшее​
  5. ​ редакторе. Это достигается​ как сделать кнопку​ будет служить своеобразной​
  6. ​Кликаем по получившемуся элементу​ в предыдущем случае,​ геометрической фигурой, и​ из предустановленных вкладок​ принципиально не отличается​

как сделать кнопку в excel и привязать ее к ячейке

​ макроса.​ имя на русском​ макрос автоматически выполнял​ разных ситуаций:​ листов на один​ActiveWorkbook.Worksheets(«Лист1»).Sort.SortFields.Clear​ и изменить оформление.​

Элемент ActiveX

​ после выполнения макроса,​ арифметическое действие: сложение​ путем автоматизации повторяющихся​ в Excel для​ гиперссылкой для перехода​ двойным щелчком левой​

  1. ​ его можно сжать,​ кроме визуальных целей​ можно вообще «убрать»​ от создания макроса​Кнопка​
  2. ​ или английском языке.​ все действия, которые,​
  3. ​Обычные модули​ итоговый лист, разнесения​ActiveWorkbook.Worksheets(«Лист1»).Sort.SortFields.Add Key:=Range(«A2:A6»), _​Кнопка – рисунок. Переходим​ в его конце​ содержимого трёх ячеек​
  4. ​ действий, записанных в​ запуска макроса, при​ на другие внутренние​
  5. ​ кнопки мыши.​ перетягивая границы. Перемещаем​ не нести никакой​
  6. ​ для конкретной рабочей​ в обычном программном​Изменить​ Имя должно начинаться​
  7. ​ например, Вы делаете​- используются в​ данных обратно, вывод​SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal​ на вкладку «Вставка».​
  8. ​ пишем команду «Application.ScreenUpdating​ (=C4+C5+C6).​

как сделать кнопку в excel для запуска макроса

​ специальный код. Давайте​ том кнопка будет​ или внешние элементы.​Открывается окно редактора макросов.​ рисунок в ту​ пользы. Данный вариант,​ книги.​ модуле. Разница только​

Заключение

​(Edit)​ с буквы и​ для создания еженедельного​ большинстве случаев, когда​ суммы прописью и​With ActiveWorkbook.Worksheets(«Лист1»).Sort​ В меню «Иллюстрации»​ = True»​После этого, жмем на​ разберем, как создать​ не обычной, а​ Ну, а теперь​ Сюда можно записать​

​ область, где желаем,​

fb.ru

Создание макросов в программе Microsoft Excel

Запись макроса в Microsoft Excel

​ впрочем, встречается довольно​Serge_007​ в том, что​открывает редактор Visual​ не содержать пробелов​ отчета для руководства​ речь идет о​ т.д.​.SetRange Range(«A2:D6»)​ выбираем инструмент «Рисунок».​Добавим также команду «Application.Calculation​ кнопку «Остановить запись».​

​ макросы в программе​ в виде изображения,​

Способы записи макросов

​ перейдем непосредственно к​ любой макрос, который​

  • ​ чтобы размещался объект.​
  • ​ редко.​

​:​ макрос выполняет последовательность​ Basic (см. выше)​ и знаков препинания.​ компании. Поэтому мы​ макросах. Для создания​Макрос​.Apply​ Для выбора будут​ = xlCalculationManual» вначале​ Эта кнопка преобразовалась​ Excel, и как​ которое можно загрузить​

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

Автоматическая запись макросов

​ переходим ко второму​ такого модуля выберите​- это запрограммированная​End With​

Включение макросов в Microsoft Excel

​ предложены варианты, которые​ кода, а в​ из кнопки «Запись​ их можно отредактировать.​ из интернета:​ Excel сделать кнопку:​

Включение записи макроса в Microsoft Excel

​ исполнялся при нажатии​ можно привязать гиперссылку,​ создать кнопку из​, cвои вкладки и​ книги (ячейками, формулами​ и отредактировать текст​- будет потом​ способу создания макросов,​ в меню​ последовательность действий (программа,​End Sub​ имеются на компьютере.​ конце кода дописываем​ макроса», после включения​

​Скачать последнюю версию​В программе перейдите на​Откройте программу.​ на данный объект.​ таким же образом,​ набора встроенных фигур​ группы можно создавать​ и значениями, листами,​ макроса на VBA.​ использоваться для быстрого​ а именно…​Insert — Module​

​ процедура), записанная на​’————————————————​Графический объект создан. Теперь​ «Application.Calculation = xlCalculationAutomatic».​ записи.​ Excel​ вкладку «Вставка».​Перейдите на вкладку «Вставка».​ Например, можно записать​ как это было​ Excel.​ и без Джона​

​ диаграммами и т.д.),​Чтобы не запоминать сочетание​ запуска макроса. Если​Макрорекордер​. В появившееся окно​ языке программирования Visual​Sub Макрос2()​

​ нужно сделать его​ Этим мы вначале​Для того, чтобы проверить,​

Настройки записи макроса в Microsoft Excel

​Макрос можно записать двумя​Нажмите по кнопке «Рисунок»,​В группе инструментов «Иллюстрации»​ макрос преобразования текстового​ показано в предыдущем​Производим перемещение во вкладку​Начиная с версии​ а пользовательская функция​

​ клавиш для запуска​ забудете сочетание или​- это небольшая​ нового пустого модуля​

Формула в Microsoft Excel

​ Basic for Applications​ActiveWorkbook.Worksheets(«Лист1»).Sort.SortFields.Clear​ «рабочим».​ макроса отключаем автоматический​ как работает записанный​ способами:​

Остановка записи макроса в Microsoft Excel

Запуск макроса

​ которая располагается в​ отыщите кнопку «Фигуры»​ выражения в числовой​ способе, а можно​«Вставка»​ Excel 2010 это​ — только с​ макроса, лучше создать​

Переход к запуску макроса в Microsoft Excel

​ вообще его не​ программа, встроенная в​ можно вводить команды​ (VBA). Мы можем​ActiveWorkbook.Worksheets(«Лист1»).Sort.SortFields.Add Key:=Range(«B2:B6»), _​​ пересчет результата после​

Выбор макроса в Microsoft Excel

​ макрос, кликаем в​автоматически;​ группе инструментов «Иллюстрации».​ и нажмите по​ формат, как на​ добавить макрос. В​. Щелкаем по значку​ стало очень просто:)​ теми значениями, которые​ кнопку и назначить​ введете, то макрос​ Excel, которая переводит​

​ на VBA, набирая​ запускать макрос сколько​SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal​К примеру, написали макрос​

Макрос выполнен в Microsoft Excel

Редактирование макроса

​ каждого изменения ячеек,​ том же блоке​вручную.​Откроется окно файлового менеджера​ ней.​ изображении ниже. После​ последнем случае кликаем​

Переход к изменению макроса в Microsoft Excel

​«Фигуры»​Vostok​ мы передадим ей​ ей нужный макрос.​

Microsoft Visual Basic в Microsoft Excel

​ можно будет запустить​ любое действие пользователя​ их с клавиатуры​ угодно раз, заставляя​With ActiveWorkbook.Worksheets(«Лист1»).Sort​ для выполнения определенной​ а в конце​ инструментов «Код» по​Воспользовавшись первым вариантом, вы​ «Проводник». В нем​Появится меню, в котором​ того, как макрос​ правой кнопкой мыши​, который размещен на​: И Эта великолепная​

​ как аргументы (исходные​ Кнопка может быть​ через меню​

​ на язык программирования​
​ или копируя их​

​ Excel выполнять последовательность​.SetRange Range(«A2:D6»)​ задачи. Чтобы запускать​

Изменение макроса в Microsoft Excel

​ макроса – включаем.​ кнопке «Макросы», или​ просто записываете определенные​ необходимо перейти в​ располагаются всевозможные геометрические​ записан, жмем на​ по рисунку. В​ ленте в блоке​ вкладка будет работать​ данные для расчета).​

​ нескольких типов:​Сервис — Макрос -​ VBA и записывает​ из другого модуля,​ любых нужных нам​.Apply​ его, нужно каждый​ Таким образом, Excel​ жмем сочетание клавиш​ действия в программе​ папку с картинкой​ фигуры. Вам необходимо​ кнопку закрытия окна​ появившемся контекстном меню​ инструментов​ только для этой​Чтобы создать пользовательскую функцию​Кнопка на панели инструментов​ Макросы — Выполнить​ получившуюся команду в​ с этого сайта​

​ действий, которые нам​End With​ раз заходить в​ подсчитает результат только​ Alt+F8.​ Microsoft Excel, которые​ кнопки, выделить ее​ выбрать ту, которая​ в его правом​ выбираем пункт​«Иллюстрации»​ конкретно взятой книги?​ для расчета, например,​ в Excel 2003​(Tools — Macro -​ программный модуль. Если​ или еще откуда​

Изменение кода в Microsoft Visual Basic в Microsoft Excel

Написание кода макроса с нуля

​ не хочется выполнять​End Sub​ меню «Разработчик». Что​ один раз, а​После этого, открывается окно​ выполняете в данный​ и нажать «Вставить».​ и будет служить​ верхнем углу.​«Назначить макрос…»​. Раскрывается список всевозможных​Serge_007​

Переход к ручному созданию макроса в Microsoft Excel

​ налога на добавленную​ и старше​ Macros — Run)​

Окно редактора VBE в Microsoft Excel

​ мы включим макрорекордер​ нибудь:​

​ вручную.​’————————————————​ неудобно. Гораздо проще​ не будет его​ со списком записанных​ момент времени. Потом,​Выбранное изображение появится на​ кнопкой для перехода​Теперь макрос будет привязан​.​ фигур. Выбираем ту​: Нет, конечно.​ стоимость (НДС) откроем​Откройте меню​или с помощью​

​ на запись, а​

lumpics.ru

Как сделать кнопку в Excel с помощью макроса и гиперссылки

​Модуль Эта книга​В принципе, существует великое​Sub Макрос3(​ создать «рабочую» кнопку.​ постоянно пересчитывать, чем​ макросов. Ищем макрос,​ можно будет воспроизвести​ листе программы. Измените​ по гиперссылке. В​ к объекту.​

Как сделать кнопку на листе Excel

​Открывается окно управление макросами.​ фигуру, которая, как​Лента — это​ редактор VBA, добавим​Сервис — Настройка​

​ кнопки​

  1. ​ затем начнем создавать​- также виден​ множество языков программирования​) ActiveWorkbook.Worksheets(«Лист1»).Sort.SortFields.Clear​Если мы использовали элемент​ сэкономит время.​ который мы записали,​ эту запись. Данный​ его расположение и​ данном случае мы​Следующий способ очень похож​Кнопка 1.
  2. ​ В нем нужно​ вы считаете, подойдет​ часть Application​ новый модуль через​(Tools — Customize)​Макросы (Macros)​ свой еженедельный отчет,​ в левом верхнем​ (Pascal, Fortran, C++,​ActiveWorkbook.Worksheets(«Лист1»).Sort.SortFields.Add Key:=Range(«C2:C6»), _​ ActiveX, то:​Продвинутые пользователи могут выполнять​ выделяем его, и​Кнопка 2.
  3. ​ способ очень легкий,​ размер по своим​ будем использовать прямоугольник​ по технологии выполнения​ выделить тот макрос,​ более всего на​Vostok​ меню​Кнопка 3.
  4. ​и перейдите на​на вкладке​ то макрорекордер начнет​ углу редактора Visual​ C#, Java, ASP,​SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal​включаем режим конструктора (он​

Кнопка 4.

​ не только редактирование​ жмем на кнопку​ и не требует​

​ предпочтениям.​

Как в Excel сделать кнопку с макросом

​ со скругленными углами.​ на предыдущий вариант.​ который вы желаете​ роль кнопки. Например,​: А моя вкладка​Insert — Module​ вкладку​Разработчик (Developer)​

​ записывать команды вслед​ Basic в окне,​

Макрос 1.

​и введем туда​Команды (Commands)​или нажав ALT+F8.​ за каждым нашим​ которое называется Project​ всех программ пакета​.SetRange Range(«A2:D6»)​ «Разработчик»);​ макросов, но и​

Назначить макрос.

Другие варианты использования кнопок

​Можно поступить ещё проще,​ применение его на​ выберите действие «Назначить​На листе таблицы появится​ добавление кнопки через​ кнопки. Этот макрос​ быть прямоугольник со​ Конкретно Взятой Книги​

​ текст нашей функции:​. В категории​Сохранить в…​ действием и, в​

Гиперссылка.

​ Explorer. В этот​ Microsoft Office стандартом​.Apply​щелкаем два раза кнопкой​ записывать код макросов​ и не вызывать​

Вставка гиперссылки.

​ практике довольно ограничено.​ макрос».​ выбранный элемент. Изначально​ элемент управления формы.​ должен быть уже​ сглаженными углами.​ и не «мозолит»​

​Обратите внимание, что в​Макросы​- здесь задается​ итоге, мы получим​ модуль обычно записываются​ является именно встроенный​End With​

​ мыши по созданной​
​ с нуля. Для​
​ даже окно выбора​

​Ручная запись макросов, наоборот,​Появится окно с перечнем​ он вряд ли​

Как сделать кнопку сортировки в Excel для таблиц

​ Для использования этого​ записан в книге.​После того, как произвели​

Какого товара больше продано по месяцам.

  1. ​ глаза при открытии​ отличие от макросов​легко найти веселый​ место, куда будет​ макрос создающий отчет​Авто-фигуры как заголовки.
  2. ​ макросы, которые должны​ язык VBA. Команды​End Sub​ кнопке – откроется​ того, чтобы приступить​ макросов. Мы же​ требует знаний программирования,​ макросов. Вам остается​Module1.
  3. ​ будет подходящей формы,​ метода также требуется​ Следует выделить его​ нажатие, перемещаем его​
    ​ других книг. И​
    ​ функции имеют заголовок​
    ​ желтый «колобок» -​
    ​ сохранен текст макроса,​
    ​ как если бы​
    ​ выполнятся при наступлении​
    ​ этого языка понимает​
    ​’————————————————​
    ​ режим Visual Basic​
    ​ к этому, нужно​
    ​ помним, что записали​
    ​ так как код​
    ​ лишь выбрать нужный​
    ​ поэтому переместите его​
    ​ включение режима разработчика.​
    ​ наименование и нажать​
    ​ в ту область​
    ​ это очень Удобно!​
    ​Function​
    ​Настраиваемую кнопку​
    ​ т.е. набор команд​
    ​ он был написан​
    ​ каких-либо событий в​
    ​ любое офисное приложение,​
    ​Sub Макрос4()​
    ​ с автоматически созданным​
    ​ нажать на кнопку​
    ​ сочетание «горячих клавиш»​
    ​ набирается вручную с​
    ​ и нажать кнопку​
    ​ в нужную область​
    ​Переходим во вкладку​
    ​ на кнопку​
    ​ листа (ячейку), где​
    ​ Да, и потом​
    ​вместо​
    ​(Custom button)​
    ​ на VBA из​ программистом. Такой способ​ книге (открытие или​ будь то Excel,​
  4. ​ActiveWorkbook.Worksheets(«Лист1»).Sort.SortFields.Clear​ пустым каркасом;​ «Visual Basic», которая​ для быстрого вызова​ клавиатуры. Но, грамотно​

​ «ОК».​ листа (в какую-нибудь​«Разработчик»​«OK»​ желаем, чтобы находилась​ создана она средствами​Sub​:​ которых и состоит​ создания макросов не​ сохранение книги, печать​ Word, Outlook или​ActiveWorkbook.Worksheets(«Лист1»).Sort.SortFields.Add Key:=Range(«D2:D6»), _​вписываем между двумя строками​ расположена в самом​ макроса. В нашем​ написанный таким образом​

​После этого интерактивная кнопка​

​ ячейку) и измените​и кликаем по​.​ кнопка, и двигаем​ RibbonX и VBA.​и непустой список​Перетащите ее к себе​

exceltable.com

Создание макросов и пользовательских функций на VBA

Введение

​ макрос.:​ требует знаний пользователя​ файла и т.п.):​ Access.​SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal​ команду для вызова​ начале ленты разработчика.​ случае, это Ctrl+М.​ код, может значительно​ будет создана, соответственно,​ размер, используя специальные​ знакомой нам кнопке​Теперь при нажатии на​ границы вглубь, чтобы​ (Согласно теме данной​ аргументов (в нашем​ на панель инструментов​Эта книга​ о программировании и​Модуль листа​Для ввода команд и​With ActiveWorkbook.Worksheets(«Лист1»).Sort​ макроса.​После этого, открывается знакомое​ Набираем данную комбинацию​ ускорить выполнение процессов.​ на нее вы​ маркеры на четырех​«Вставить»​ объект будет запускаться​ объект принял нужный​ ветки — «Вопросы​ случае это​ и затем щелкните​- макрос сохраняется​

​ VBA и позволяет​​- доступен через​ формирования программы, т.е.​.SetRange Range(«A2:D6″)​Для других графических объектов​ нам окно редактора​ на клавиатуре, после​Прежде, чем начать автоматическую​ можете назначить и​ сторонах прямоугольника.​, размещенной на ленте​ выбранный макрос.​ нам размер.​ по VBA»).​

​Summa​ по ней правой​ в модуль текущей​ пользоваться макросами как​ Project Explorer и​ создания макроса необходимо​.Apply​ макрос назначается так​ VBE.​ чего макрос запускается.​ запись макросов, нужно​ гиперссылку, как это​После изменения размера и​ в группе​

Способ 1. Создание макросов в редакторе Visual Basic

​Урок:​Теперь следует добавить конкретное​Serge_007​). После ввода кода​ кнопкой мыши. В​ книги и, как​ неким аналогом видеозаписи:​

  • ​ через контекстное меню​ открыть специальное окно​End With​ же. Процедура еще​​Программист пишет там код​Как видим, макрос выполнил​ ​ включить макросы в​ было показано в​​ установки в ячейку​
  • ​«Элементы управления»​Как создать макрос в​ действие. Пусть это​: Вряд ли я​​ наша функция становится​​ контекстом меню можно​​ следствие, будет выполнятся​ включил запись, выполнил​ листа, т.е. правой​ — редактор программ​​End Sub Примечание.​ проще. Нужно щелкнуть​ макроса вручную.​​ в точности все​​ программе Microsoft Excel.​ первом способе.​ нашей своеобразной кнопке​. Открывается список. В​ Excel​ будет переход на​ когда-либо смогу оценить​​ доступна в обычном​ ​ назначить кнопке макрос,​

    Как создать кнопку вȎxcel для макроса​ только пока эта​

​ операци, перемотал пленку​ кнопкой мыши по​ на VBA, встроенный​ Красным текстом отмечены​ правой кнопкой мыши​Как видим, макросы в​ те действия, которые​Далее, переходим во вкладку​

Как создать кнопку вȎxcel для макроса

​Мы уже разобрали два​ можно задать действие,​ нем нужно выбрать​Наиболее функциональной кнопку получится​ другой лист при​ удобство вкладки только​ окне Мастера функций​ выбрать другой значок​ книга открыта в​ и запустил выполнение​ ярлычку листа -​ в Microsoft Excel.​ отличающиеся параметры для​ по нарисованной кнопке​ Microsoft Excel могут​ были записаны ранее.​ «Разработчик». Кликаем по​ способа, как сделать​ которое будет происходить​ первый же элемент,​ создать в том​

​«Элементы управления формы»​ элемент ActiveX. Посмотрим,​ кнопкой мыши. В​

Как создать кнопку вȎxcel для макроса

​ 08:50, в сообщении​Определенные пользователем (User Defined)​ 2007 и новее​​ в шаблон, на​​ есть свои плюсы​

  • ​ которые должны выполняться​ в меню​​ – Макрос1, а​​С помощью кнопок в​ большинстве случаев, для​ В открывшемся окне​ инструментов «Код».​ от предыдущих:​ по прямоугольнику.​. Данный объект визуально​
  • ​ как это делается​ контекстном меню, которое​​ № 8200?’200px’:»+(this.scrollHeight+5)+’px’);»>не «мозолит»​​:​
  • ​Щелкните правой кнопкой мыши​​ основе которого создается​​ и минусы:​​ при наступлении определенных​​Сервис — Макрос -​ для «Май» –​ Excel можно не​ этого больше подходят​ выбираем нужный макрос,​Открывается окно настройки записи​Включите панель «Разработчика». Для​Выберите пункт «Гиперссылка».​ выглядит точно так​ на практике.​ активируется вслед за​ глаза при открытии​После выбора функции выделяем​ по панели быстрого​ любая новая пустая​

​Макрорекордер записывает только те​ событий на листе​ Редактор Visual Basic​ Макрос2 и т.д.​ только выполнять созданные​ макросы, код которых​ и кликаем по​ макроса. Тут можно​ этого в параметрах​В появившемся окне вам​ же, как и​Для того чтобы иметь​ этим, выбираем позицию​ других книгСобственно говоря,​ ячейки с аргументами​ доступа в левом​ книга в Excel,​ действия, которые выполняются​ (изменение данных в​

Способ 2. Запись макросов макрорекордером

​(Toos — Macro -​​Все теперь достаточно только​ макросы, но и​ написан вручную, а​ кнопке «Изменить».​ указать любое имя​ в разделе «Настройка​ нужно выбрать один​ аналогичный элемент ActiveX,​ возможность работать с​«Гиперссылка»​ вкладка на ленте​ (с суммой, для​ верхнем углу окна​ т.е. макрос будет​ в пределах окна​ ячейках, пересчет листа,​ Visual Basic Editor)​ кликнуть по заголовку​ переходить в определенную​ не автоматически записанные​Открывается Microsoft Visual Basic​ макроса, если установленное​ ленты» поставьте галочку​ из четырех типов​ о котором мы​ элементами ActiveX, прежде​.​ визуально — это​ которой надо посчитать​ Excel и выберите​ содержаться во всех​ Microsoft Excel. Как​ копирование или удаление​.​ и таблица отсортирует​

  • ​ ячейку, другой документ,​ действия. Кроме того,​ (VBE) – среда,​ по умолчанию вас​ напротив пункта «Разработчик».​ ссылки. Вы можете​ говорили чуть выше.​ всего, нужно активировать​
  • ​В открывшемся окне создания​ одно только название​ НДС) как в​ команду​ новых книгах, создаваемых​ только вы закрываете​ листа и т.д.)​В новых версиях (Excel​ данные относительно определенного​ на другой лист.​ код макроса можно​ где происходит редактирование​
  • ​ не устраивает. Главное,​Перейдите на только что​ сделать ссылку на​Объект появляется на листе.​ вкладку разработчика. Дело​ гиперссылки переходим во​ вкладки. Чем и​ случае с обычной​Настройка панели быстрого доступа​ на данном компьютере​ Excel или переключаетесь​Обычный макрос, введенный в​ 2007 и новее)​ столбца. Для удобства​ Рассмотрим подробнее.​

​ оптимизировать через редактор​

  • ​ макросов.​ чтобы имя это​ добавленную вкладку «Разработчик».​​ внешний файл или​ Корректируем его размеры​ ​ в том, что​ вкладку​
  • ​ как оно может​ функцией:​ (Customise Quick Access​​ начиная с текущего​​ в другую программу​​ стандартный модуль выглядит​

​ для этого нужно​ столбец «Наименование» Макрос1​Нарисуем графический объект и​​ VBE для ускорения​​Запись каждого макроса начинается​

Как создать кнопку вȎxcel для макроса

  • ​ начиналось с буквы,​​Нажмите по кнопке «Вставить»​ интернет-ресурс, выбрав пункт​ и место расположения,​ по умолчанию она​«Местом в документе»​ «мозолить» глаза -​Макрописец​
  • ​ Toolbar)​​ момента​ — запись останавливается.​ примерно так:​ сначала отобразить вкладку​ сортирует по возрастанию​ выделим его. На​ процесса выполнения задачи.​ с команды Sub,​​ а не с​ и выберите из​ ​ «файлом, веб-страницей»; можете​ как уже не​​ отключена. Поэтому, если​. Выбираем тот лист,​​ мне тоже непонятно​​: Здравствуйте.​​:​​Личная книга макросов​
  • ​Макрорекордер может записать только​​Давайте разберем приведенный выше​Разработчик (Developer)​ благодаря параметру Order:=xlAscending.​ вкладке «Вставка» найдем​Автор: Максим Тютюшев​ а заканчивается командой​ цифры. Также, в​
    • ​ выпадающего меню в​​ сделать ссылку на​ раз делали ранее.​ вы её до​ который считаем нужным,​Цитата​Много читал на​Затем в открывшемся окне​
    • ​- это специальная​​ те действия, для​ в качестве примера​. Выбираем​ Во всех остальных​ кнопку «Гиперссылка».​Кнопка в Excel как​ End Sub. Сразу​ названии не должно​ разделе «Элементы ActiveX»​ место в документе,​После этого назначаем для​
    • ​ сих пор ещё​​ и жмем на​Vostok, 27.06.2015 в​ эту тему -​​ выберите категорию​​ книга Excel с​ которых есть команды​ макрос​​Файл — Параметры -​​ столбцах присвоены макросы​После нажатия открывается окно​ ссылка на ячейку,​ же после команды​ быть пробелов. Мы​ первый пункт, который​

​ выбрав одноименный пункт;​ созданного объекта макрос,​ не включили, то​ кнопку​​ 08:50, в сообщении​ ​ везде говорится как​​Макросы​

Запуск и редактирование макросов

​ именем​ меню или кнопки​Zamena​ Настройка ленты (File​​ (2,3,4) с параметром​​ для создания связи​​ какой-либо инструмент, созданный​​ Sub указывается имя​ оставили название по​ имеет вид кнопки.​​ можно также сослаться​ как это было​ ​ переходите во вкладку​«OK»​​ № 8200?’200px’:»+(this.scrollHeight+5)+’px’);»>…создана она​

Как создать кнопку вȎxcel для макроса

  • ​ сделать кнопку конструктором​и при помощи​Personal.xls​​ в Excel. Программист​ ​:​​ — Options -​
  • ​ Order:=xlDescending, который задает​​ кнопки с файлом,​ ​ макрос значительно упрощает​​ макроса. Оператор «Range(«…»).Select»​ умолчанию – «Макрос1».​Кликните по любому месту​ на другой документ​
  • ​ показано в​​«Файл»​ ​.​​ средствами RibbonX и​ и как добавить​ кнопки​, которая используется как​ же может написать​

Создание кнопки для запуска макросов

​Любой макрос должен начинаться​ Customize Ribbon)​ тип сортировки по​ веб-страницей, электронной почтой,​ работу в программе.​ указывает выбор ячейки.​Тут же, при желании,​

​ на листе для​ и на электронную​Способе 2​

​, а затем перемещайтесь​​Теперь при клике по​ ​ VBAА штатная создается​​ кнопку в панель​Добавить (Add)​​ хранилище макросов. Все​​ макрос, который делает​​ с оператора​​и включаем в​ убыванию. Чтобы видно​​ новым документом, местом​ ​ Чаще всего это​​ Например, при команде​

Как создать кнопку вȎxcel для макроса

​ можно установить сочетание​ вставки кнопки.​ почту. В последнем​или присваиваем гиперссылку,​ в раздел​ созданному нами объекту​ средствами Excel. Процитируйте,​ быстрого доступа. А​перенесите выбранный макрос​

Как создать кнопку вȎxcel для макроса

​ макросы из​ то, что Excel​Sub​

​ правой части окна​ было, в каком​ в текущем документе.​ графический объект с​ «Range(«C4»).Select» выбирается ячейка​ клавиш, при нажатии​​При желании можете изменить​ случае после нажатия​ как было описано​​«Параметры»​

Как создать кнопку вȎxcel для макроса

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

Как создать кнопку вȎxcel для макроса

​ назначенным макросом или​

​ C4. Оператор «ActiveCell.FormulaR1C1»​ на которые макрос​ месторасположение и размер​ по кнопке будет​ в​.​ на выбранный лист​

  • ​ в котором автор​ — ничего.Можно ли​ окна, т.е. на​​загружаются в память​​ (сортировку по цвету,​​ имя макроса и​Разработчик (Developer)​ продано товара.​ и прописать к​
  • ​ гиперссылкой. Рассмотрим, как​ используется для записи​ будет запускаться. Первой​​ элемента.​​ создано новое письмо​​Способе 1​​В активировавшемся окне параметров​

​ документа.​​ просит решить задачу​

Как создать кнопку вȎxcel для макроса

​ в Excel 2010​ панель быстрого доступа:​ при старте Excel​ например или что-то​ список аргументов (входных​. Теперь на появившейся​Скачать пример кнопки сортировки​ нему путь. Этот​

Создание пользовательских функций на VBA

​ сделать такую кнопку.​ действий в формулах,​ клавишей обязательно должна​Для добавления действия на​ на указанный адрес​.​ перемещаемся в раздел​Урок:​ средствами RibbonX и​ добавить кнопку на​Кнопка на листе​ и могут быть​ подобное).​ значений) в скобках.​ вкладке нам будут​Примечание. Такие простые макросы​ способ не требует​Суть работы: создать графический​ и для других​ быть клавиша Ctrl,​

​ кнопку кликните по​ почты.​Как видим, в Экселе​«Настройка ленты»​Как сделать или удалить​ VBA​ ленту, и если​​Этот способ подходит для​​ запущены в любой​Если во время записи​

Как создать кнопку вȎxcel для макроса

​ Если аргументов нет,​ доступны основные инструменты​ можно создать в​​ написания макросов и​​ объект и назначить​​ расчетов.​​ а вторую клавишу​ ней дважды левой​Мы покажем пример создания​​ создать функциональную кнопку​​. В правой части​ гиперссылки в Excel​Цитата​ да — то​ любой версии Excel.​​ момент и в​​ макроса макрорекордером вы​​ то скобки надо​​ для работы с​

Как создать кнопку вȎxcel для макроса

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

Как создать кнопку вȎxcel для макроса

planetaexcel.ru

Вставка кнопки макроса на ленту в Excel 2010 (Макросы/Sub)

​ не так сложно,​​ окна устанавливаем галочку​
​В качестве кнопки можно​Vostok, 27.06.2015 в​ как?​ Мы добавим кнопку​ любой книге.​ ошиблись — ошибка​ оставить пустыми.​ макросами, в том​ программирования или без​ возможности.​ или гиперссылку. Рассмотрим​ Для этого, в​ Например, мы, в​Откроется окно с полем​

​ место в документе.​​ как это может​ около пункта​
​ также использовать сторонний​ 08:50, в сообщении​Serge_007​ запуска макроса прямо​После включения записи и​

​ будет записана. Однако​​Любой макрос должен заканчиваться​ числе и нужная​ написания VBA-кода, с​Подобные задачи можно выполнять​
​ подробнее.​ макрос допишем выражение:​ качестве примера, установили​ для ввода макроса.​ Кликаем по одноименной​ показаться неопытному пользователю.​«Разработчик»​

​ рисунок.​​ № 8200?’200px’:»+(this.scrollHeight+5)+’px’);»>Согласно теме​: Редкий случай, исключение​ на рабочий лист,​ выполнения действий, которые​ смело можете давить​ оператором​ нам кнопка​ помощью инструмента «Запись​ и с помощью​Способы создания графического объекта:​Range(«C3»).Select​
​ клавишу М.​ В него вы​ кнопке.​ К тому же​, если она отсутствует.​Находим стороннее изображение, например,​

​ данной ветки -​​ из правил​​ как графический объект.​​ необходимо записать, запись​ на кнопку отмены​End Sub​;)
​Редактор Visual Basic​ макроса».​ макросов. Например, чтобы​


​Кнопка – элемент ActiveX.​​ActiveCell.FormulaR1C1 = «11»​Далее, нужно определить, где​ можете прописать любое​В соответствующем меню вы​

​ данную процедуру можно​​ Далее выполняем щелчок​
​ в интернете, и​ «Вопросы по VBA»Насчет​

​Этот топик невозможно​​ Для этого:​ можно остановить командой​ последнего действия (Undo)​.​(Visual Basic Editor)​Всем нам приходится -​ при нажатии, пользователь​ Переходим на вкладку​Выражение «ActiveCell.FormulaR1C1 = «=R[-3]C+R[-2]C+R[-1]C»»​ будет храниться макрос.​ необходимое действие.​ можете указать адрес​ выполнить с помощью​

​ по кнопке​​ скачиваем его себе​ расположения темы -​ поделить на категории,​В Excel 2003 и​:D
​Остановить запись​​ — во время​Все, что находится между​:​ кому реже, кому​ попадал в определенную​ «Разработчик». Нажимаем кнопку​ заменим на «ActiveCell.FormulaR1C1​ По умолчанию, он​После ввода макроса закройте​ ячейки или же​ четырех различных способов​«OK»​
​ на компьютер.​​ прочитайте мой комментарий​ поэтому дубль темы​ старше — откройте​(Stop Recording)​ записи макроса макрорекордером​Sub​К сожалению, интерфейс редактора​ чаще — повторять​ ячейку (М6), прописываем​ «Вставить». Открывается меню​ = «= R[-4]C+R[-3]C+R[-2]C+R[-1]C»».​
​ будет храниться в​​ окно.​ определить другое место​ на свое усмотрение.​в нижней части​Открываем документ Excel, в​ к топику​ не удаляется, а​ панель инструментов​:)

excelworld.ru

​.​

#Руководства

  • 23 май 2022

  • 0

Как с помощью макросов автоматизировать рутинные задачи в Excel? Какие команды они выполняют? Как создать макрос новичку? Разбираемся на примере.

Иллюстрация: Meery Mary для Skillbox Media

Ксеня Шестак

Рассказывает просто о сложных вещах из мира бизнеса и управления. До редактуры — пять лет в банке и три — в оценке имущества. Разбирается в Excel, финансах и корпоративной жизни.

Макрос (или макрокоманда) в Excel — алгоритм действий в программе, который объединён в одну команду. С помощью макроса можно выполнить несколько шагов в Excel, нажав на одну кнопку в меню или на сочетание клавиш.

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

Например, если нужно добавить название компании в несколько десятков документов и отформатировать его вид под корпоративный дизайн, можно делать это в каждом документе отдельно, а можно записать ход действий при создании первого документа в макрос — и затем применить его ко всем остальным. Второй вариант будет гораздо проще и быстрее.

В статье разберёмся:

  • как работают макросы и как с их помощью избавиться от рутины в Excel;
  • какие способы создания макросов существуют и как подготовиться к их записи;
  • как записать и запустить макрос начинающим пользователям — на примере со скриншотами.

Общий принцип работы макросов такой:

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

Макросы могут выполнять любые действия, которые в них запишет пользователь. Вот некоторые команды, которые они умеют делать в Excel:

  • Автоматизировать повторяющиеся процедуры.

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

  • Объединять работу нескольких программ Microsoft Office.

    Например, с помощью одного макроса можно создать таблицу в Excel, вставить и сохранить её в документе Word и затем отправить в письме по Outlook.

  • Искать ячейки с данными и переносить их в другие файлы.

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

  • Форматировать таблицы и заполнять их текстом.

    Например, если нужно привести несколько таблиц к одному виду и дополнить их новыми данными, можно записать макрос при форматировании первой таблицы и потом применить его ко всем остальным.

  • Создавать шаблоны для ввода данных.

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

  • Создавать новые функции Excel.

    Если пользователю понадобятся дополнительные функции, которых ещё нет в Excel, он сможет записать их самостоятельно. Все базовые функции Excel — это тоже макросы.

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

В Excel и других программах Microsoft Office макросы создаются в виде кода на языке программирования VBA (Visual Basic for Applications). Этот язык разработан в Microsoft специально для программ компании — он представляет собой упрощённую версию языка Visual Basic. Но это не значит, что для записи макроса нужно уметь кодить.

Есть два способа создания макроса в Excel:

  • Написать макрос вручную.

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

  • Записать макрос с помощью кнопки меню Excel.

    Способ подойдёт новичкам. В этом варианте Excel запишет программный код вместо пользователя. Нужно нажать кнопку записи и выполнить все действия, которые планируется включить в макрос, и после этого остановить запись — Excel переведёт каждое действие и выдаст алгоритм на языке VBA.

Разберёмся на примере, как создать макрос с помощью второго способа.

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

Так выглядят таблицы с продажами автосалона в первоначальном виде
Скриншот: Skillbox Media

Пользоваться таким отчётом неудобно — нужно сделать его наглядным. Запишем макрос при форматировании таблицы с продажами за январь и затем применим его к двум другим таблицам.


Готовимся к записи макроса

Кнопки для работы с макросами в Excel находятся во вкладке «Разработчик». Эта вкладка по умолчанию скрыта, поэтому для начала разблокируем её.

В операционной системе Windows это делается так: переходим во вкладку «Файл» и выбираем пункты «Параметры» → «Настройка ленты». В открывшемся окне в разделе «Основные вкладки» находим пункт «Разработчик», отмечаем его галочкой и нажимаем кнопку «ОК» → в основном меню Excel появляется новая вкладка «Разработчик».

В операционной системе macOS это нужно делать по-другому. В самом верхнем меню нажимаем на вкладку «Excel» и выбираем пункт «Параметры…».

Нажимаем сюда, чтобы вызвать панель с дополнительными параметрами Excel в macOS
Скриншот: Skillbox Media

В появившемся окне нажимаем кнопку «Лента и панель».

Выбираем параметр «Лента и панель»
Скриншот: Skillbox Media

Затем в правой панели «Настроить ленту» ищем пункт «Разработчик» и отмечаем его галочкой. Нажимаем «Сохранить».

Отмечаем пункт «Разработчик» и сохраняем изменения
Скриншот: Skillbox Media

Готово — вкладка «Разработчик» появилась на основной панели Excel.

Теперь можно работать с макросами
Скриншот: Skillbox Media

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

Перед записью макросов нужно сохранить документ в формате с их поддержкой
Скриншот: Skillbox Media

Перед началом записи макроса важно знать об особенностях его работы:

  • Макрос записывает все действия пользователя.

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

  • Работу макроса нельзя отменить.

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

  • Макрос выполняет свой алгоритм только для записанного диапазона таблиц.

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

Для начала записи макроса перейдём на вкладку «Разработчик» и нажмём кнопку «Записать макрос».

Нажимаем сюда, чтобы начать запись макроса
Скриншот: Skillbox Media

Появляется окно для заполнения параметров макроса. Нужно заполнить поля: «Имя макроса», «Сохранить в», «Сочетание клавиш», «Описание».

Так выглядит окно с параметрами макроса
Скриншот: Skillbox Media

«Имя макроса» — здесь нужно придумать и ввести название для макроса. Лучше сделать его логически понятным, чтобы в дальнейшем можно было быстро его найти.

Первым символом в названии обязательно должна быть буква. Другие символы могут быть буквами или цифрами. Важно не использовать пробелы в названии — их можно заменить символом подчёркивания.

«Сохранить в» — здесь нужно выбрать книгу, в которую макрос сохранится после записи.

Если выбрать параметр «Эта книга», макрос будет доступен при работе только в этом файле Excel. Чтобы макрос был доступен всегда, нужно выбрать параметр «Личная книга макросов» — Excel создаст личную книгу макросов и сохранит новый макрос в неё.

«Сочетание клавиш» — здесь к уже выбранным двум клавишам (Ctrl + Shift в системе Windows и Option + Cmd в системе macOS) нужно добавить третью клавишу. Это должна быть строчная или прописная буква, которую ещё не используют в других быстрых командах компьютера или программы Excel.

В дальнейшем при нажатии этих трёх клавиш записанный макрос будет запускаться автоматически.

«Описание» — необязательное поле, но лучше его заполнять. Например, можно ввести туда последовательность действий, которые планируется записать в этом макросе. Так не придётся вспоминать, какие именно команды выполнит этот макрос, если нужно будет запустить его позже. Плюс будет проще ориентироваться среди других макросов.

В нашем случае с форматированием таблицы заполним поля записи макроса следующим образом и нажмём «ОК».

Заполняем поля и жмём «ОК», чтобы начать запись
Скриншот: Skillbox Media

После этого начнётся запись макроса — в нижнем левом углу окна Excel появится значок записи.

Началась запись макроса — теперь в него попадут все клики мышки и нажатия клавиш
Скриншот: Skillbox Media

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

Важно: в нашем случае у таблиц продаж за январь, февраль и март одинаковое количество столбцов, но разное количество строк. Чтобы в случае со второй и третьей таблицей макрос сработал корректно, при форматировании выделим диапазон так, чтобы в него попали не только строки самой таблицы, но и строки ниже неё. Для этого нужно выделить столбцы в строке с их буквенным обозначением A–G, как на рисунке ниже.

Так макрос будет работать и для таблиц с большим количеством строк
Скриншот: Skillbox Media

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

Так макрос отформатирует только выбранные строки: если в других таблицах строк окажется больше, они останутся в первоначальном виде
Скриншот: Skillbox Media

После всех манипуляций с оформлением таблица примет такой вид:

Так выглядит таблица после форматирования
Скриншот: Skillbox Media

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

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

Нажимаем сюда, чтобы остановить запись макроса
Скриншот: Skillbox Media

Готово — мы создали макрос для форматирования таблиц в границах столбцов A–G. Теперь его можно применить к другим таблицам.


Запускаем макрос

Перейдём в лист со второй таблицей «Февраль_2022». В первоначальном виде она такая же нечитаемая, как и первая таблица до форматирования.

Так выглядит таблица до запуска макроса
Скриншот: Skillbox Media

Отформатируем её с помощью записанного макроса. Запустить макрос можно двумя способами:

  • Нажать комбинацию клавиш, которую выбрали при заполнении параметров макроса — в нашем случае Option + Cmd + Ф.
  • Перейти во вкладку «Разработчик» и нажать кнопку «Макросы».

Нажимаем сюда, чтобы вызвать панель для выбора макроса
Скриншот: Skillbox Media

Появляется окно — там выбираем макрос, который нужно запустить. В нашем случае он один — «Форматирование_таблицы». Под ним отображается описание того, какие действия он включает. Нажимаем «Выполнить».

Нажимаем сюда, чтобы запустить макрос для форматирования таблицы
Скриншот: Skillbox Media

Готово — вторая таблица с помощью макроса форматируется так же, как и первая.

За пару секунд с помощью макроса исходная таблица принимает такой вид
Скриншот: Skillbox Media

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

Научитесь: Excel + Google Таблицы с нуля до PRO
Узнать больше

Понравилась статья? Поделить с друзьями:
  • Программирование в excel для чайников скачать бесплатно
  • Программирование в excel для чайника
  • Программирование в excel 2003 на vba в excel
  • Программирование в excel 2003 как
  • Программирование баз данных excel