Кнопка для открытия файла excel

Содержание

  1. Создание кнопки в Microsoft Excel
  2. Процедура создания
  3. Способ 1: автофигура
  4. Способ 2: стороннее изображение
  5. Способ 3: элемент ActiveX
  6. Способ 4: элементы управления формы
  7. VBA Excel. Первая кнопка (для начинающих)
  8. Добавление вкладки «Разработчик»
  9. Кнопка – элемент управления формы
  10. Вставка кнопки на лист
  11. Создание процедуры для кнопки
  12. Excel открыть файл по кнопке
  13. Легко вставляйте несколько кнопок макросов, чтобы переходить на (каждый) другой лист в Excel
  14. Панель навигации: список всех открывающихся книг и вкладка вертикального листа для удобного переключения на любой лист

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

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

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

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

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

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

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

Теперь при клике по созданному нами объекту будет осуществляться перемещение на выбранный лист документа.

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

В качестве кнопки можно также использовать сторонний рисунок.

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

Теперь при нажатии на объект будет запускаться выбранный макрос.

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

Наиболее функциональной кнопку получится создать в том случае, если за её первооснову брать элемент ActiveX. Посмотрим, как это делается на практике.

  1. Для того чтобы иметь возможность работать с элементами ActiveX, прежде всего, нужно активировать вкладку разработчика. Дело в том, что по умолчанию она отключена. Поэтому, если вы её до сих пор ещё не включили, то переходите во вкладку «Файл», а затем перемещайтесь в раздел «Параметры».
  2. В активировавшемся окне параметров перемещаемся в раздел «Настройка ленты». В правой части окна устанавливаем галочку около пункта «Разработчик», если она отсутствует. Далее выполняем щелчок по кнопке «OK» в нижней части окна. Теперь вкладка разработчика будет активирована в вашей версии Excel.
  3. После этого перемещаемся во вкладку «Разработчик». Щелкаем по кнопке «Вставить», расположенной на ленте в блоке инструментов «Элементы управления». В группе «Элементы ActiveX» кликаем по самому первому элементу, который имеет вид кнопки.
  4. После этого кликаем по любому месту на листе, которое считаем нужным. Сразу вслед за этим там отобразится элемент. Как и в предыдущих способах корректируем его местоположение и размеры.
  5. Кликаем по получившемуся элементу двойным щелчком левой кнопки мыши.
  6. Открывается окно редактора макросов. Сюда можно записать любой макрос, который вы хотите, чтобы исполнялся при нажатии на данный объект. Например, можно записать макрос преобразования текстового выражения в числовой формат, как на изображении ниже. После того, как макрос записан, жмем на кнопку закрытия окна в его правом верхнем углу.

Теперь макрос будет привязан к объекту.

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

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

  1. Переходим во вкладку «Разработчик» и кликаем по знакомой нам кнопке «Вставить», размещенной на ленте в группе «Элементы управления». Открывается список. В нем нужно выбрать первый же элемент, который размещен в группе «Элементы управления формы». Данный объект визуально выглядит точно так же, как и аналогичный элемент ActiveX, о котором мы говорили чуть выше.
  2. Объект появляется на листе. Корректируем его размеры и место расположения, как уже не раз делали ранее.
  3. После этого назначаем для созданного объекта макрос, как это было показано в Способе 2 или присваиваем гиперссылку, как было описано в Способе 1.

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

Источник

VBA Excel. Первая кнопка (для начинающих)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Источник

Excel открыть файл по кнопке

Иногда вам может потребоваться создать кнопку, чтобы открыть определенный рабочий лист в текущей книге, так что же делать с этим? На самом деле есть несколько методов, которые помогут вам решить эту проблему.

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

1. Нажмите Вставить > Формы > Прямоугольник с закругленными углами. См. Снимок экрана:

2. Нарисуйте на листе прямоугольник с закругленными углами, и вы можете отформатировать его и ввести текст по своему усмотрению. В нашем случае мы набираем Перейти к листу 1 как показано ниже:

3. Щелкните правой кнопкой мыши прямоугольник с закругленными углами и выберите Гиперссылка из контекстного меню.

4. В открывшемся диалоговом окне «Вставить гиперссылку»
(1) Выберите Место в этом документе в Ссылка на раздел;
(2) Щелкните, чтобы выбрать имя определенного листа в Или выберите место в этом документе раздел;
(3) Введите адрес ячейки назначения в поле Введите ссылку на ячейку поле и, наконец, щелкните OK кнопку.

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

Легко вставляйте несколько кнопок макросов, чтобы переходить на (каждый) другой лист в Excel

Чтобы вставить кнопку макроса для перехода на другой рабочий лист, обычно вам нужно выполнить все вышеуказанные 5 шагов, и будет довольно утомительно вставлять много кнопок макросов для перехода на каждый рабочий лист в текущей книге. Но, Kutools for Excel’s Создать список имен листов Утилита позволяет быстро вставлять несколько макрокоманд для перехода на каждый рабочий лист.

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

Этот метод проведет вас через создание кнопки управления формой для открытия определенного рабочего листа. Вы можете сделать следующее:

1, Нажмите Застройщик > Вставить > Пуговичка in Контроль формы раздел. См. Снимок экрана:

Внимание: По умолчанию вкладка «Разработчик» не отображается на ленте. Нажмите, чтобы узнать. как показать / отобразить вкладку разработчика в ленте Excel.

2. Нарисуйте кнопку, затем появится диалоговое окно «Назначить макрос». В диалоговом окне введите имя макроса в поле Имя макроса поле, а затем щелкните Новинки кнопку.

3. Теперь открывается диалоговое окно Microsoft Visual Basic для приложений. Вставьте следующий код между ниже и End sub. См. Снимок экрана:

Код: перейти к определенному листу в Excel

Внимание: В коде измените Sheet1 к требуемому имени листа в зависимости от ваших потребностей.

4. Сохраните код и закройте окно Microsoft Visual Basic для приложения. Теперь вы получите кнопку управления формой, как показано на снимке экрана ниже. Нажмите кнопку, и вы сразу же перейдете к указанному листу.

Оба вышеуказанных метода могут создать только одну кнопку для открытия одного листа. Если вы хотите создать несколько кнопок, чтобы открыть все листы, вам следует попробовать Kutools for Excel’s Создать список имен листов утилита.

Kutools for Excel — Включает более 300 удобных инструментов для Excel. Полнофункциональная бесплатная пробная версия 30 -день, кредитная карта не требуется! Get It Now

1, Нажмите Кутулс Плюс > Рабочий лист > Создать список имен листов.

2. В диалоговом окне «Создать список имен листов»
(1) Проверьте Содержит кнопки и макросы вариант в Стили указателя листов раздел;
(2) В Укажите имя листа для указателя листов поле введите имя для нового созданного листа;
(3) Укажите положение индексной страницы в Вставьте указатель листа в раскрывающийся список;

3, Нажмите OK кнопка. Затем он создаст индексную страницу с несколькими кнопками. Каждая кнопка названа своим именем рабочего листа и связана с этим листом. См. Снимок экрана ниже:

Внимание: Этот метод требует включения Доверие к объектной модели проекта VBA вариант в Центре управления безопасностью.

Kutools for Excel — Включает более 300 удобных инструментов для Excel. Полнофункциональная бесплатная пробная версия 30 -день, кредитная карта не требуется! Get It Now

Панель навигации: список всех открывающихся книг и вкладка вертикального листа для удобного переключения на любой лист

Kutools для Excel Область переходов перечисляет все открывающиеся книги и соответствующие рабочие листы по вертикали, как показано на скриншотах ниже. (1) Щелкнув книгу в Workbook раздел переключится на это окно книги; (2) при щелчке листа в Рабочий лист раздел будет пропущен, чтобы открыть этот рабочий лист.

Источник

 

Здравствуйте, подскажите пожалуйста, какой код VBA нужно написать, чтобы с кнопки ActiveX на листе Excel открывался Word файл. Файл лежит в одной папке с Excel. НО планируется распространить данный файл всем коллегам , поэтому , нужен относительный путь к файлу (то есть путь к файлу будет у каждого человека свой ) ?

Изменено: Владислав Макеев08.09.2022 00:41:14

 

New

Пользователь

Сообщений: 4582
Регистрация: 06.01.2013

#2

08.09.2022 00:56:26

Код
Sub Открыть_Word_Файл()
    Dim myWord As Object, myDocument As Object, WordFileName As String
    
    WordFileName = "Test.docx" 'название файла Word
    Set myWord = CreateObject("Word.Application")
    Set myDocument = myWord.Documents.Open(ThisWorkbook.Path & Application.PathSeparator & WordFileName)
    myWord.Visible = True
End Sub

Изменено: New08.09.2022 00:58:02

 

Владислав Макеев

Пользователь

Сообщений: 8
Регистрация: 08.09.2022

#3

09.09.2022 16:23:42

Цитата
написал:

Код
    [URL=#]?[/URL]       1  2  3  4  5  6  7  8      Sub   Открыть_Word_Файл()          Dim   myWord   As   Object  , myDocument   As   Object  , WordFileName   As   String                   WordFileName =   "Test.docx"   'название файла Word          Set   myWord = CreateObject(  "Word.Application"  )          Set   myDocument = myWord.Documents.Open(ThisWorkbook.Path & Application.PathSeparator & WordFileName)          myWord.Visible =   True    End   Sub   

 

Спасибо огромное ,за такой быстрый ответ!!!Код заработал!!! Но если не сложно сможете подсказать, excel открывает у меня файл, но в свернутом виде , как доработать код так , чтобы он всегда открывался в развернутом виде?  

 

New

Пользователь

Сообщений: 4582
Регистрация: 06.01.2013

#4

09.09.2022 16:35:19

пожалуйста, не нажимайте кнопку Цитировать, я помню, что я писал вам. Нажимайте кнопку «Имя»
попробуйте так

Код
Sub Открыть_Word_Файл()
    
    Dim myWord As Object, myDocument As Object, WordFileName As String
     
    WordFileName = "Test.docx" 'название файла Word
    Set myWord = CreateObject("Word.Application")
    Set myDocument = myWord.Documents.Open(ThisWorkbook.Path & Application.PathSeparator & WordFileName)
    myWord.Visible = True
    myWord.WindowState = xlMaximized
End Sub

Изменено: New10.09.2022 01:14:22

 

Тимофеев

Пользователь

Сообщений: 1497
Регистрация: 01.09.2020

#5

09.09.2022 16:48:57

Код
Sub Открыть_Word_Файл()
    Dim myWord As Object, myDocument As Object, WordFileName As String
     
    WordFileName = "Test.docx" 'название файла Word
    Set myWord = CreateObject("Word.Application")
    Set myDocument = myWord.Documents.Open(ThisWorkbook.Path & Application.PathSeparator & WordFileName)
    myWord.Visible = True
    'myWord.Activate
    myWord.WindowState = 1
End Sub
 

Тимофеев, спасибо за Ваш вариант он мне подошёл, я активировал строчку кода myWord.Active и теперь файл открывается при запуске кнопки! Но вот небольшой вопрос , а если я положу Word файл в отдельную папку, он мне выдаст ошибку , как это поправить?

Изменено: Владислав Макеев10.09.2022 00:35:58

 

добавить в макрос диалог выбора файла

 

New

Пользователь

Сообщений: 4582
Регистрация: 06.01.2013

#8

10.09.2022 01:20:06

Код
Sub Открыть_Word_Файл()
    Dim myWord As Object, myDocument As Object, sPath As String
      
    sPath = Application.GetOpenFilename("Файлы Word (*.doc*),*.doc*", 1, "Выберите файл Word", , False)
    If sPath = "False" Then Exit Sub

    Set myWord = CreateObject("Word.Application")
    Set myDocument = myWord.Documents.Open(sPath)
    myWord.Visible = True
    myWord.WindowState = xlMaximized
End Sub

Изменено: New10.09.2022 01:22:02

 

Александр Моторин, New, Извините что вел вас в заблуждение , но по моему я некорректно выразился. Под словом отдельная папка я имел ввиду , то что файл excel и файл  word лежат в одной папке.И для того чтобы вордовский файл не мешался ,я для него создал отдельную папку там же , по сути файлы находятся рядом. Пример, путь к файлу excel: C:Рабочий столРасчётыРасчёты закупок.xlsx , а путь к вордовскому файлу C:Рабочий столРасчётыПрайсыАктуальный прайс.docx.
Я прошу подсказать как  код из сообщения #5 доработать так, чтобы эксель искал вордовский файл именно в папке «Прайсы» ? Но при этом , как я понимаю ссылка должна быть относительная, то есть ,чтобы эксель не привязывался к определенному пути, так как я собираюсь распространить этот файл своим коллегам ,а у них пути  к файлу будут разные.

Изменено: Владислав Макеев10.09.2022 03:03:55

 

New

Пользователь

Сообщений: 4582
Регистрация: 06.01.2013

#10

10.09.2022 03:06:57

чувствую эта тема будет бесконечной…

Код
Sub Открыть_Word_Файл()
    Dim myWord As Object, myDocument As Object, WordFileName As String
      
    WordFileName = "ПрайсыАктуальный прайс.docx" 'папка и название файла Word
    Set myWord = CreateObject("Word.Application")
    Set myDocument = myWord.Documents.Open(ThisWorkbook.Path & WordFileName)
    myWord.Visible = True
    myWord.Activate
    myWord.WindowState = 1
End Sub
 

New, Тимофеев. Искренне благодарю за плодотворную, качественную работу, выполненную в короткий срок на высоком профессиональном уровне. Это позволило достичь эффективных результатов. Спасибо за проявленные старания, ответственность, добросовестность, трудолюбие, за удачно примененные глубокие знания и огромный практический опыт. Надеюсь на еще более успешную работу в дальнейшем.

Изменено: Владислав Макеев11.09.2022 16:40:23

 

RAN

Пользователь

Сообщений: 7091
Регистрация: 21.12.2012

#12

11.09.2022 19:46:46

Код
Sub qq()
    Dim myDocument As Object, WordFileName As String
    WordFileName = ThisWorkbook.Path & "/Документ Microsoft Word.docx" 'папка и название файла Word
    Set myDocument = GetObject(WordFileName)
    myDocument.Parent.Visible = True
End Sub

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

Применить кнопку, чтобы открыть другую книгу с кодом VBA


стрелка синий правый пузырь Применить кнопку, чтобы открыть другую книгу с кодом VBA

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

1. Нажмите Вставить > Формы > Прямоугольные, см. снимок экрана:

кнопка документа, чтобы открыть книгу 1

2. Затем перетащите мышь, чтобы нарисовать кнопку формы, и отформатируйте ее по своему усмотрению, см. Снимок экрана:

кнопка документа, чтобы открыть книгу 2

3. А затем удерживайте ALT + F11 , чтобы открыть Microsoft Visual Basic для приложений окно.

4. Нажмите Вставить > Модулии вставьте следующий код в Модули Окно.

Код VBA: откройте конкретную книгу:

Sub Openworkbook_Click()
'Updateby Extendoffice
    Dim xWb As Workbook
    Dim wbName As String
    On Error Resume Next
    Set xWb = Workbooks.Open("C:UsersDT168DesktoptestBook2.xlsx")
    wbName = xWb.Name
    If Err.Number <> 0 Then
        MsgBox "This workbook does not exist!", vbInformation, "Kutools for Excel"
        Err.Clear
    Else
        MsgBox "This workbook is opened!", vbInformation, "Kutools for Excel"
    End If
End Sub

Внимание: В приведенном выше коде вы должны изменить путь и имя файла C: Users DT168 Desktop test Book2.xlsx на реальный путь к книге, на которую вы хотите создать ссылку.

5. Затем сохраните и закройте это окно кода, щелкните правой кнопкой мыши кнопку формы, которую вы создали, выберите Назначить макрос из контекстного меню во всплывающем Назначить макрос диалоговом окне щелкните имя макроса Openworkbook_Click вы вставили только что и щелкните OK кнопку, см. снимок экрана:

кнопка документа, чтобы открыть книгу 3

6. Теперь, когда вы нажимаете кнопку формы:

(1.) Если книга не существует, появится следующее окно подсказки:

кнопка документа, чтобы открыть книгу 4

(2.) Если книга существует, она будет открыта сразу же, а также появится окно подсказки, напоминающее вам:

кнопка документа, чтобы открыть книгу 5


Лучшие инструменты для работы в офисе

Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%

  • Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
  • Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон
  • Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны
  • Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
  • Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
  • Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии
  • Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
  • Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF
  • Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.

вкладка kte 201905


Вкладка Office: интерфейс с вкладками в Office и упрощение работы

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!

офисный дно

Комментарии (2)


Оценок пока нет. Оцените первым!

ookullme

0 / 0 / 0

Регистрация: 04.01.2019

Сообщений: 59

1

13.01.2020, 14:55. Показов 6261. Ответов 14

Метки нет (Все метки)


Студворк — интернет-сервис помощи студентам

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

Пытался скачивать его с хостинга, затем открывать из указанного пути

C#
1
2
            System.Net.WebClient webClient = new System.Net.WebClient();
            webClient.DownloadFileAsync(new Uri("https://yadi.sk/i/r7iwoUQoReiyhw"), "D:\Прайс-Лист.xlsx");

Пытался просто открывать файл

C#
1
Process.Start(@"D:\Prise.xlsx");

Но при открытии он выдает ошибку а-ля «файл поврежден».



0



Leitto

6 / 5 / 1

Регистрация: 29.12.2014

Сообщений: 174

13.01.2020, 17:47

2

ookullme, Существует библиотека для работы с экселем )
Подключаем

C#
1
using Excel = Microsoft.Office.Interop.Excel;
C#
1
2
3
 Excel.Application ObjWorkExcel = new Excel.Application(); //открыть эксель
            Excel.Workbook ObjWorkBook = ObjWorkExcel.Workbooks.Open("Путь", Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing); //открыть файл
            Excel.Worksheet ObjWorkSheet = (Excel.Worksheet)ObjWorkBook.Sheets[1]; //получить 1 лист



0



Pavel55

971 / 353 / 135

Регистрация: 27.10.2006

Сообщений: 764

13.01.2020, 17:58

3

Leitto,

1) в строке Workbooks.Open() все Type.Missing можно удалить.
2) строку Excel.Worksheet ObjWorkSheet = (Excel.Worksheet)ObjWorkBook.Sheets[1];

можно сократить

C#
1
Excel.Worksheet ObjWorkSheet = ObjWorkBook.Worksheets[1];



0



0 / 0 / 0

Регистрация: 04.01.2019

Сообщений: 59

13.01.2020, 18:52

 [ТС]

4

Цитата
Сообщение от Leitto
Посмотреть сообщение

ookullme, Существует библиотека для работы с экселем )

Так я тоже пробовал, столкнулся с проблемой)

Открыть excel файл при нажатии на кнопку?



0



0 / 0 / 0

Регистрация: 04.01.2019

Сообщений: 59

13.01.2020, 21:12

 [ТС]

5

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



0



6 / 5 / 1

Регистрация: 29.12.2014

Сообщений: 174

14.01.2020, 00:00

6

ookullme, После компилирования не нужно будет на другом компе что то качать но вы не поставили библиотеку



0



0 / 0 / 0

Регистрация: 04.01.2019

Сообщений: 59

14.01.2020, 00:04

 [ТС]

7

Цитата
Сообщение от Leitto
Посмотреть сообщение

ookullme, После компилирования не нужно будет на другом компе что то качать но вы не поставили библиотеку

А как сделать?



0



6 / 5 / 1

Регистрация: 29.12.2014

Сообщений: 174

14.01.2020, 00:24

8

ookullme, Когда то в свое время я делал такую штуку возьмите и используйте как основу



1



971 / 353 / 135

Регистрация: 27.10.2006

Сообщений: 764

14.01.2020, 14:06

9

ookullme, по поводу вашей ошибки (в картинке)
вам необходимо зайти в меню Проект — Добавить ссылку… — слева выбрать COM — в списке найти и поставить галочку напротив строки — Microsoft Excel 15.0 Object Library (вместо цифр 15.0 у вас может быть 12.0 или 13.0 и т.д.)



1



Yury Komar

Модератор

Эксперт .NET

3878 / 3200 / 482

Регистрация: 27.01.2014

Сообщений: 5,842

14.01.2020, 17:00

10

Цитата
Сообщение от ookullme
Посмотреть сообщение

C#
1
webClient.DownloadFileAsync(new Uri("https://yadi.sk/i/r7iwoUQoReiyhw"), "D:\Прайс-Лист.xlsx");

а разве таким образом можно скачать файл с облака?



0



ookullme

0 / 0 / 0

Регистрация: 04.01.2019

Сообщений: 59

14.01.2020, 20:34

 [ТС]

11

Он качает, да)
Но почему-то не может открыть

Добавлено через 39 минут
Он качает, да)
Но почему-то не может открыть

Цитата
Сообщение от Leitto
Посмотреть сообщение

ookullme, Когда то в свое время я делал такую штуку возьмите и используйте как основу

Странно, почему-то не открывает

взял вот так:

C#
1
2
3
            Excel.Application ObjWorkExcel = new Excel.Application(); //открыть эксель
            Excel.Workbook ObjWorkBook = ObjWorkExcel.Workbooks.Open("D:\Price.xlsx"); //открыть файл
            Excel.Worksheet ObjWorkSheet = ObjWorkBook.Worksheets[1];     //получить 1 лист

Добавлено через 1 час 36 минут
Excel открывается, судя по диспетчеру задач, НО
Он только там и остается)))
Само окно с данными внутри не появляется



0



Модератор

Эксперт .NET

3878 / 3200 / 482

Регистрация: 27.01.2014

Сообщений: 5,842

15.01.2020, 03:40

12

ookullme, да это не Excel файл вы скачиваете, а HTML код страницы Яндекс.Диск’а… Откройте файл в блокноте и увидите сами.



0



0 / 0 / 0

Регистрация: 04.01.2019

Сообщений: 59

15.01.2020, 07:31

 [ТС]

13

То, что я выше написал ( 11 пост) происходит при попытке запуска файла с пк (без скачивания)



0



Pavel55

971 / 353 / 135

Регистрация: 27.10.2006

Сообщений: 764

15.01.2020, 12:24

14

Лучший ответ Сообщение было отмечено ookullme как решение

Решение

ookullme, попробуйте добавить эту строку в конце

C#
1
ObjWorkExcel.Visible = true;

чтобы получилось так

C#
1
2
3
4
Excel.Application ObjWorkExcel = new Excel.Application(); //открыть эксель
Excel.Workbook ObjWorkBook = ObjWorkExcel.Workbooks.Open("D:\Price.xlsx"); //открыть файл
Excel.Worksheet ObjWorkSheet = ObjWorkBook.Worksheets[1];     //получить 1 лист
ObjWorkExcel.Visible = true; //отображаем Excel



1



0 / 0 / 0

Регистрация: 04.01.2019

Сообщений: 59

15.01.2020, 12:43

 [ТС]

15

Цитата
Сообщение от Pavel55
Посмотреть сообщение

ookullme, попробуйте добавить эту строку в конце

Большое спасибо



0



Как сделать кнопку в 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» (Word) VBA кнопки.

Кнопки в Эксель

Кнопки в Эксель

Наверняка Вам доводилось встречать файлы «Excel» (Word) с размещенными на листах различными кнопками, по нажатию на которые происходит запуск макроса или иные действия.

Хотите узнать, как размещать кнопки на листах Excel(Word)? Тогда читайте статью дальше.

Рассмотрим 2 типа кнопок:

Самая обычная кнопка, называемая CommandButton- эта кнопка нажимается кликом и запускает какое-либо действие, записанное за ней.

Вторая кнопка называется ToggleButton и является выключателем или переключателем. Она может не только запускать действия, но и сама может нести в себе информацию – обладать двумя значениями: False и true, что соответствует ее состоянию нажата или отжата.

CommandButton выглядит так:

CommandButton

CommandButton

ToggleButton  выглядит так:

ToggleButton

ToggleButton

Процесс добавления кнопок на лист Excel (Word):

  1. Если у Вас в ленте не включена панель «Разработчик», ее нужно включить следующим образом:
    • Кликнуть по ленте правой кнопкой мыши и в выпадающем контекстном меню выбрать пункт «Настройка ленты…»
      Настройка ленты
      Настройка ленты
    • В появившемся окне на вкладке «Настроить ленту» установить флажок («галочку») напротив пункта «Разработчик»
      Настройка ленты. Разработчик
      Настройка ленты. Разработчик
    • Нажать кнопку «Ок»
  2. Когда на панели появилась вкладка разработчик, перейдите на нее и нажмите кнопку «Режим конструктора».
    Режим конструктора Excel
    Режим конструктора Excel
  3. При включённом режиме конструктора становиться активной кнопка с инструментами. Кликнув по кнопке с инструментами можно выбрать понравившейса Вам активный элемент: CommandButton или ToggleButton .
    Инструменты в режиме конструктора
    Инструменты в режиме конструктора
  4. Когда элемент выбран, удерживая нажатой левую кнопку мыши, выделите область на листе, в которую Вы хотите поместить этот элемент.
  5. Кнопка появиться в указанной области.

В режиме конструктора свойства кнопки можно менять и перемещать ее по листу. Вне режима конструктора кнопка просто выполняет свою функцию – нажимается.

Внимание: Если У вас не получается выделить кнопку на листе Excel, включите режим конструктора.

Основные свойства кнопок:

CommandButton:

BackColor – цвет фона кнопки.

Caption – Надпись на кнопке.

Enabled – состояние кнопки включена или отключена (активна или неактивна).

Font – шрифт надписи на кнопке.

ForeColor – Цвет надписи на кнопке.

Height  — высота кнопки.

Width – ширина кнопки.

Picture – изображение на поверхности кнопки.

WordWrap – перенос текста кнопки.

ToggleButton:

Свойства практически те же что и у CommandButton, добавляются параметры:

Value – это значение кнопки False и true, нажата или отжата.

TripleState – включает или отключает тройное нажатие (три состояния переключателя)

Кнопка в Excel как ссылка на ячейку, какой-либо инструмент, созданный макрос значительно упрощает работу в программе. Чаще всего это графический объект с назначенным макросом или гиперссылкой. Рассмотрим, как сделать такую кнопку.

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

Суть работы: создать графический объект и назначить для него макрос или гиперссылку. Рассмотрим подробнее.

Способы создания графического объекта:

  1. Кнопка – элемент ActiveX. Переходим на вкладку «Разработчик». Нажимаем кнопку «Вставить». Открывается меню с набором элементов для вставки. Выбираем первый элемент ActiveX – «кнопку» (в виде серого кирпичика). Теперь рисуем курсором кнопку необходимого размера.
  2. Кнопка 1.

  3. Кнопка – элемент управления формы. Снова переходим на вкладку «Разработчик». Открываем меню инструмента «Вставить». Теперь выбираем элемент «кнопка» из первой группы (такой же серый кирпичик). Рисуем кнопку. Сразу открывается окно для назначения макроса: можно сделать сразу, а можно попозже.
  4. Кнопка 2.

  5. Кнопка – автофигура. Переходим на вкладку «Вставка». В меню «Иллюстрации» выбираем подходящую фигуру. Рисуем. По готовой фигуре можно щелкнуть правой кнопкой мыши и изменить оформление.
  6. Кнопка 3.

  7. Кнопка – рисунок. Переходим на вкладку «Вставка». В меню «Иллюстрации» выбираем инструмент «Рисунок». Для выбора будут предложены варианты, которые имеются на компьютере.

Кнопка 4.

Графический объект создан. Теперь нужно сделать его «рабочим».



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

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

Если мы использовали элемент ActiveX, то:

Макрос 1.

Для других графических объектов макрос назначается так же. Процедура еще проще. Нужно щелкнуть правой кнопкой мыши по нарисованной кнопке или картинке и выбрать инструмент «Назначить макрос».

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

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

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

Нарисуем графический объект и выделим его. На вкладке «Вставка» найдем кнопку «Гиперссылка».

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

После нажатия открывается окно для создания связи кнопки с файлом, веб-страницей, электронной почтой, новым документом, местом в текущем документе.

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

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

Подобные задачи можно выполнять и с помощью макросов. Например, чтобы при нажатии, пользователь попадал в определенную ячейку (М6), прописываем следующий код:

Sub Макрос 1()
Range(«M6»).Select
End Sub

Точно так же можно назначить макрос диаграмме, объектам WordArt, SmartAtr.

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

Для показательного примера создайте тестовую таблицу как на рисунке:

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

  1. Вместо заголовков колонки таблицы добавим автофигуры, которые будут служить кнопками для сортировки по столбцам таблицы.
  2. Авто-фигуры как заголовки.

  3. В режиме Visual Basic — ALT+F11 в папке Modules вставляем новый модуль Module1. Для этого делаем по папке правый щелчок мышкой и выбираем: Insert-Module.
  4. Module1.

  5. Делаем двойной щелчок по Module1 и вводим в него следующий код:

  6. Sub Макрос1()
    ActiveWorkbook.Worksheets(«Лист1»).Sort.SortFields.Clear
    ActiveWorkbook.Worksheets(«Лист1»).Sort.SortFields.Add Key:=Range(«A2:A6«), _
    SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets(«Лист1»).Sort
    .SetRange Range(«A2:D6»)
    .Apply
    End With
    End Sub
    ‘————————————————
    Sub Макрос2()
    ActiveWorkbook.Worksheets(«Лист1»).Sort.SortFields.Clear
    ActiveWorkbook.Worksheets(«Лист1»).Sort.SortFields.Add Key:=Range(«B2:B6«), _
    SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets(«Лист1»).Sort
    .SetRange Range(«A2:D6»)
    .Apply
    End With
    End Sub
    ‘————————————————
    Sub Макрос3(
    )
    ActiveWorkbook.Worksheets(«Лист1»).Sort.SortFields.Clear
    ActiveWorkbook.Worksheets(«Лист1»).Sort.SortFields.Add Key:=Range(«C2:C6«), _
    SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets(«Лист1»).Sort
    .SetRange Range(«A2:D6»)
    .Apply
    End With
    End Sub
    ‘————————————————
    Sub Макрос4()
    ActiveWorkbook.Worksheets(«Лист1»).Sort.SortFields.Clear
    ActiveWorkbook.Worksheets(«Лист1»).Sort.SortFields.Add Key:=Range(«D2:D6«), _
    SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets(«Лист1»).Sort
    .SetRange Range(«A2:D6»)
    .Apply
    End With
    End Sub

    Примечание. Красным текстом отмечены отличающиеся параметры для каждого столбца.

  7. Назначаем каждой автофигуре свой макрос: для «Наименование» – Макрос1, а для «Май» – Макрос2 и т.д.

Все теперь достаточно только кликнуть по заголовку и таблица отсортирует данные относительно определенного столбца. Для удобства столбец «Наименование» Макрос1 сортирует по возрастанию благодаря параметру Order:=xlAscending. Во всех остальных столбцах присвоены макросы (2,3,4) с параметром Order:=xlDescending, который задает тип сортировки по убыванию. Чтобы видно было, в каком месяце было больше продано товара.

Скачать пример кнопки сортировки

Примечание. Такие простые макросы можно создать в автоматическом режиме без программирования или без написания VBA-кода, с помощью инструмента «Запись макроса».

Понравилась статья? Поделить с друзьями:
  • Книжный магазин в магазине excel
  • Кнопка для объединения ячеек в word
  • Книжный лист в word 2010
  • Кнопка для объединение ячеек в таблице excel
  • Книжный или альбомный в word 2007