Уровень сложности
Средний
Время на прочтение
8 мин
Количество просмотров 4.5K
Я часто пользуюсь конфигурацией при написании VBA макросов в Excel. Иногда она нужна в формах для сохранения настроек, иногда для сохранения каких-то получаемых в процессе выполнения макроса данных.
Долгое время я искал информацию о том как работать с конфигом в VBA.
Есть множество различных вариантов, от хранения конфигурации в коде, до выноса ее в отдельный файл.
Сегодня я хотел бы пошагово рассказать о том как я храню и обрабатываю конфигурацию макроса в книге Excel.
Создаем лист ConfigSheet
У меня под рукой был Excel 2010, но в данном случае версия не имеет значения.
Для начала создаем отдельный лист. Я назвал его config, но это не принципиально. Что же действительно принципиально, так это CodeName
листа:
Если вы вдруг не знали, листы документа Excel в VBA – это, ни что иное, как объект класса Worksheet
. Обращаемся к справке и видим у объекта Worksheet
необходимое свойство (перезаписать его программно, несмотря на Read-only, можно, но об этом в другой раз):
Чтобы было проще обращаться к нашему Config листу, меняем ему значение поля (Name) в свойствах (если у вас их нет, нажмите F4 или View -> Properties Window, а если у вас нет структуры с проектом, нажмите Ctrl+R или View -> Project Explorer).
Таким образом, мы дополнительно защищаемся от ошибки в случае изменения обычного имени листа, а так же получаем автокомплит.
Кстати, так как лист – это объект, мы можем обращаться так же к его методам, полям и свойствам через точку, как обычно:
Этим мы и воспользуемся, но об этом чуть позже.
Создаем ListObject
Итак, как вы уже догадались, всю информацию мы будем сохранять в таблицу, а именно в объект ListObject
.
Для этого на нашем листе создаем пустую таблицу с двумя столбцами Key
и Value
:
Теперь осталось в Конструкторе задать нашей таблице имя, и основа для хранения готова:
Получаем объект таблицы
Переходим к самому интересному. Писать код будем в модуле листа ConfigSheet
.
Для начала создадим необходимые гетеры:
Public Property Get Table() As ListObject
' Свойство Read-Only для объекта таблицы.
Set Table = Me.ListObjects("configTable")
End Property
Public Property Get Keys() As Range
' Свойство Read-Only для столбца ключей.
Set Keys = Me.Table.ListColumns(KeyColumn).DataBodyRange
End Property
Public Property Get Values() As Range
' Свойство Read-Only для столбца значений.
Set Values = Me.Table.ListColumns(ValueColumn).DataBodyRange
End Property
В свойство Table
помещаем нашу таблицу, в Keys
– столбец ключей, в Values
– столбец значений.
Для удобства обращения к столбцам (и чтобы не хардкодить), прописываем Enum
на уровне модуля:
Private Enum EConfigColumns
KeyColumn = 1
ValueColumn
End Enum
Сказал «не хардкодить» и захардкодил название таблицы 😀. Исправляюсь:
Option Explicit
Private Enum EConfigColumns
KeyColumn = 1
ValueColumn
End Enum
Private Const ConfigTable As String = "configTable"
Прописываем свойство Get Config
Осталось создать свойство Config
, через которое будем записывать, получать и обновлять значения в таблице.
Для начала прописываем получение значения по ключу:
Public Property Get Config(ByVal Key As Variant) As Variant
Dim i As Long
For i = 1 To Me.Keys.Rows.Count
If Key <> Me.Keys(i).Value Then GoTo NextKey
Config = Me.Values(i).Value: Exit Property
NextKey:
Next
End Property
Здесь все довольно просто – пробегаем циклом по ключам и сравниваем их с параметром Key
, передаваемым пользователем. Как только находим нужный ключ, возвращаем соответствующее значение.
Так как мы работаем напрямую с объектом Range
, это уже несколько замедляет работу макроса. Плюс ко всему, во время цикла макрос будет постоянно вызывать свойства Keys
и Values
чтобы получить их значения, что еще сильнее замедлит скорость выполнения.
Чтобы немного ускорить процесс и избежать постоянное обращение, можно создать переменные и передавать в них свойства:
Public Property Get Config(ByVal Key As Variant) As Variant
' Переменные, для хранения свойств.
Dim Keys As Range: Set Keys = Me.Keys
Dim Values As Range: Set Values = Me.Values
Dim i As Long
For i = 1 To Me.Keys.Rows.Count
If Key <> Me.Keys(i).Value Then GoTo NextKey
Config = Me.Values(i).Value: Exit Property
NextKey:
Next
End Property
Но это несколько загромождает код (а ведь у нас еще будет свойство Let
), поэтому воспользуемся UDT
(user defined type) и процедурой, которая будет его инициализировать.
Создаем тип TConfig
в который помещаем все наши ранее созданные свойства (кроме, собственно, Config
), а так же создаем приватную переменную This
на уровне модуля:
Option Explicit
Private Enum EConfigColumns
KeyColumn = 1
ValueColumn
End Enum
Private Const ConfigTable As String = "configTable"
Private Type TConfig
Table As ListObject
Keys As Range
Values As Range
End Type
Private This As TConfig
Очень важно чтобы и Type TConfig
и переменная This
были приватными, иначе на этапе компиляции возникнет ошибка.
Далее, прописываем небольшую процедуру InitThis
, для присваивания значений нашему типу:
Public Sub InitThis()
Set This.Table = Me.Table
Set This.Keys = Me.Keys
Set This.Values = Me.Values
End Sub
Теперь поправим свойство Config
:
Public Property Get Config(ByVal Key As Variant) As Variant
Me.InitThis
Dim i As Long
For i = 1 To This.Keys.Rows.Count
If Key <> This.Keys(i).Value Then GoTo NextKey
Config = This.Values(i).Value: Exit Property
NextKey:
Next
End Property
Лаконично, не так ли?
Прописываем свойство Let Config
С установлением значений чуть иначе:
Public Property Let Config(ByVal Key As Variant, ByVal RHS As Variant)
Me.InitThis
If This.Keys Is Nothing Then This.Table.ListRows.Add: Me.InitThis
Dim i As Long
Do Until Key = This.Keys(i).Value
i = i + 1
If i > This.Keys.Rows.Count Then This.Table.ListRows.Add: Exit Do
Loop
This.Keys(i).Value = Key
This.Values(i).Value = RHS
End Property
В параметры принимаем Key
и RHS
(Right Hand Side – по правую руку), для того чтобы можно было прописывать такую конструкцию:
ConfigSheet.Config("Key") = "Value"
В самом начале проверяем This.Keys
на Nothing
, т.к. если в таблице еще совсем нет значений, при попытке пробежаться циклом по столбцам выскочит ошибка.
Чтобы этого избежать, после проверки добавляем в таблицу пустую строку и заново инициализировать This
. Только после этого можно будет свободно проходить по столбцам циклом.
Подобную проверку добавляем и в Get
, но вместо добавления строки просто возвращаем сообщение «Нет данных в таблице конфигурации»:
Public Property Get Config(ByVal Key As Variant) As Variant
Me.InitThis
If This.Keys Is Nothing Then Config = "Нет данных в таблице конфигурации": Exit Property
Dim i As Long
For i = 1 To This.Keys.Rows.Count
If Key <> This.Keys(i).Value Then GoTo NextKey
Config = This.Values(i).Value: Exit Property
NextKey:
Next
End Property
Далее, так же как и в Get
части, циклом, только теперь Do Until
, пробегаем по ключам конфига. При достижении максимального индекса – добавляем в конце новую строку и выходим из цикла. В конце присваиваем ключ и значение в соответствующие ячейки.
Удаляем пустые строки
При первом обращении к таблице у нас появится пустая строка. Чтобы ее убрать (и вообще, на всякий случай, каждый раз проверять, нет ли пустых строк в таблице), пропишем небольшую процедуру:
Public Sub DeleteEmptyRows()
Me.InitThis
Dim i As Long
For i = This.Keys.Count To 1 Step -1
If (IsEmpty(This.Keys(i).Value) And IsEmpty(This.Values(i).Value)) _
Or (This.Keys(i).Value = vbNullString And This.Values(i).Value = vbNullString) Then This.Table.ListRows(i).Delete
Next
End Sub
и добавим ее в уже написанную Let
часть:
Public Property Let Config(ByVal Key As Variant, ByVal RHS As Variant)
Me.InitThis
If This.Keys Is Nothing Then This.Table.ListRows.Add: Me.InitThis
Dim i As Long
Do Until Key = This.Keys(i).Value
i = i + 1
If i > This.Keys.Rows.Count Then This.Table.ListRows.Add: Exit Do
Loop
This.Keys(i).Value = Key
This.Values(i).Value = RHS
Me.DeleteEmptyRows ' Проверяем на пустые строки.
End Property
Итоговый код
Исправил запись в Property Get Config
, спасибо за наводку @qyix7z.
Option Explicit
Private Enum EConfigColumns
KeyColumn = 1
ValueColumn
End Enum
Private Const ConfigTable As String = "configTable"
Private Type TConfig
Table As ListObject
Keys As Range
Values As Range
End Type
Private This As TConfig
Public Sub InitThis()
Set This.Table = Me.Table
Set This.Keys = Me.Keys
Set This.Values = Me.Values
End Sub
Public Property Get Table() As ListObject
' Свойство Read-Only для объекта таблицы.
Set Table = Me.ListObjects(ConfigTable)
End Property
Public Property Get Keys() As Range
' Свойство Read-Only для столбца ключей.
Set Keys = Me.Table.ListColumns(KeyColumn).DataBodyRange
End Property
Public Property Get Values() As Range
' Свойство Read-Only для столбца значений.
Set Values = Me.Table.ListColumns(ValueColumn).DataBodyRange
End Property
Public Property Get Config(ByVal Key As Variant) As Variant
Me.InitThis
If This.Keys Is Nothing Then Config = "Нет данных в таблице конфигурации": Exit Property
Dim i As Long
For i = 1 To This.Keys.Rows.Count
If Key = This.Keys(i).Value Then Config = This.Values(i).Value: Exit Property
Next
End Property
Public Property Let Config(ByVal Key As Variant, ByVal RHS As Variant)
Me.InitThis
If This.Keys Is Nothing Then This.Table.ListRows.Add: Me.InitThis
Dim i As Long
Do Until Key = This.Keys(i).Value
i = i + 1
If i > This.Keys.Rows.Count Then This.Table.ListRows.Add: Exit Do
Loop
This.Keys(i).Value = Key
This.Values(i).Value = RHS
Me.DeleteEmptyRows ' Проверяем на пустые строки.
End Property
Public Sub DeleteEmptyRows()
Me.InitThis
Dim i As Long
For i = This.Keys.Count To 1 Step -1
If (IsEmpty(This.Keys(i).Value) And IsEmpty(This.Values(i).Value)) _
Or (This.Keys(i).Value = vbNullString And This.Values(i).Value = vbNullString) Then This.Table.ListRows(i).Delete
Next
End Sub
Проверяем результат
Ну и наконец проверяем получившийся результат.
Записываем значение в конфиг:
Sub Test()
' Значение "Дневник VBAшника" записано в таблицу с ключом "ChanelName"
ConfigSheet.Config("ChanelName") = "Дневник VBAшника"
End Sub
Считываем значение:
Sub Test()
' Распечатает: "Дневник VBAшника"
Debug.Print ConfigSheet.Config("ChanelName")
End Sub
Меняем и считываем еще раз:
Sub Test()
ConfigSheet.Config("ChanelName") = "https://t.me/VBAn_Diary"
' Распечатает: "https://t.me/VBAn_Diary"
Debug.Print ConfigSheet.Config("ChanelName")
End Sub
Ну а дальше этот лист можно спрятать от глаз пользователей, защитить книгу и структуру, и спокойно работать с конфигом.
Уверен, что можно изменить подход и написать код иначе. Возможно у вас есть предложения или дополнения по статье. Буду рад любому отзыву. 🙂
Рекомендованные сообщения
alchemicusursus
0
-
- Жалоба
- Рассказать
Здравствуйте. Solidworks занимаюсь около года. Вопрос связан с конфигурациями. Создав деталь мы создаем таблицу в exel для создания конфигураций и можем сохранять ее в отдельный файл. Создав сборку с конфигурациями мы подгружаем детали с нужными нам конфигурациями и тоже конфигурации можем сохранить в exel таблице. Вопрос в следующем, можно ли подгружать разные детали и разные сборки с одного exel файла, при этом на каждом листе exel будет находится деталь или сборка?
- Цитата
Ссылка на сообщение
Поделиться на других сайтах
SERoz
199
-
- Жалоба
- Рассказать
Вопрос в следующем, можно ли подгружать разные детали и разные сборки с одного exel файла, при этом на каждом листе exel будет находится деталь или сборка?
Если Вы придумаете, как загружать отдельные строки или ячейки — то да…
А так, грузится весь файл, т.е. вся таблица…
- Цитата
Ссылка на сообщение
Поделиться на других сайтах
Атан
458
-
- Жалоба
- Рассказать
alchemicusursus
Мне не совсем понятно, что Вы хотите.
Покажите скрин с желаемой таблицей, ну и дополнительными пояснениями….
- Цитата
Ссылка на сообщение
Поделиться на других сайтах
alchemicusursus
0
- Автор
-
- Жалоба
- Рассказать
Идея заключается в следующем, я создаю сборку финальную с конфигурациями, все параметры которые записаны в exel таблице в формульном виде — лист 1. Лист 2 — подсборка со своими конфигурациями. Лист 3 — деталь из подсборка со своими конфигурациями. Например чтобы создать новую конфигурацию сборки, я захожу в exel файл создаю строчку на листе 1 со всеми размерами конфигурации, на 2 листе строчка создается автоматически перестраиваясь по размерам первого листа и так далее. В итоге создается новая конфигурация сборки с подсборками и деталями, изменив только пару размеров на первом листе exel. Если есть какие- либо идеи по поводу реализации этой идеи, предложить! (Только не хотелось бы создавать exel файл к каждой детали и сборки, и прогружать каждый файл по отдельности — это очень долго)
- Цитата
Ссылка на сообщение
Поделиться на других сайтах
Атан
458
-
- Жалоба
- Рассказать
Идея заключается в следующем…
Вы ещё не разобрались в конфигурациях, а уже идеи генерируете.
Если и можно было бы так делать, то не сверху вниз, а снизу вверх. Но конфигурация создаётся ручками, т.е. SW не создаёт сам всё многообразие возможных вариантов конфигураций, а любезно предоставляет пользователю самому определить необходимые варианты.
Но если это рассматривать с точи зрения exel (SW не при делах), то это другая песня. Может быть и можно.
- Цитата
Ссылка на сообщение
Поделиться на других сайтах
SERoz
199
-
- Жалоба
- Рассказать
Если есть какие- либо идеи по поводу реализации этой идеи, предложить!
Прикольная команда
Если не ошибаюсь, эксель не умеет сам создавать новые строки (конфигурации), а лишь изменять уже введенные ячейки на которые есть ссылки в формулах таблицы…
Иными словами — Вам всё-одно придётся делать нужное число конфигов (или в модели, или в таблице экселя)…
А вот менять размеры можно будет уже и автоматом во всех (и в главное сборке, и подсборках)…
- Цитата
Ссылка на сообщение
Поделиться на других сайтах
alchemicusursus
0
- Автор
-
- Жалоба
- Рассказать
Если есть какие- либо идеи по поводу реализации этой идеи, предложить!
Прикольная команда
Ну опечатка произошла, с кем не бывает)
Форму в exel забить проще (первую строчку записать в формульном виде, размножить ее, и по первому столбцу занулить что бы он не показывал значения вдоль строчки, тем самым по первому столбцу каждой ячейки мы сможем задавать габаритные размеры детали, а он будет формулами считать недостающие размеры) чем создавать каждую конфигурацию в отдельности в sw.
Но мне нужно что бы один и тот же exсel файл участвовал во всех деталях и сборках. В sw есть функция «таблица параметров» загрузить из файла, но при загрузке он всегда прогружает 1 лист excel. А например если этот же excel файл загружать в другую деталь, но только что бы sw считывал 2 лист.
- Цитата
Ссылка на сообщение
Поделиться на других сайтах
Атан
458
-
- Жалоба
- Рассказать
Форму в exel забить проще…чем создавать каждую конфигурацию в отдельности в sw.
Основной смысл конфигурации не в создании (в данном случае), а в активации — только из SW (а не из exel).
Из exel Вы сможете менять только саму конфигурацию. Это значит, что в сборке нельзя иметь две одноимённые детали с разной геометрией (с разной конфигурацией). То есть теряется сама суть конфигурации SW.
- Цитата
Ссылка на сообщение
Поделиться на других сайтах
peshkoff
14
-
- Жалоба
- Рассказать
Можно попробовать сделать так:
Создать несколько файлов конфигураций. Первый определяющий, его и правим. Остальные берут данные из этого файла и считают там чего-то, а потом определяют каждый свою деталь.
Но тогда файлы надо обновлять. Геморою будет…..
Второй вариант зашить уравнения в деталях и сборках в солиде.
Если размеры считаются автоматом по формулам, эти формулы можно вбить в детали.
Но все равно геморрой.
(вообще любое объединение с кучей формул да еще и в комбинациях сборка/деталь — глючное дело)
- Цитата
Ссылка на сообщение
Поделиться на других сайтах
Kelny
1 069
-
- Жалоба
- Рассказать
(вообще любое объединение с кучей формул да еще и в комбинациях сборка/деталь — глючное дело)
Любую задачу нужно решать в зависимости от поставленных целей. Иногда цель: один файл. Иногда: много файлов. А иногда одна заготовка, что бы из неё с помощью программы/макроса получить конечную деталь. Как например на сайте Samtec, модель можно получить по заданным параметрам в необходимой версии (для потребителя, на мой скромный взгляд, должен быть такой способ получения моделей от производителя как наиболее универсальный): http://www.samtec.com/build-a-part/BuildPart.aspx?series=TFM&viewmodel=true
- Цитата
Ссылка на сообщение
Поделиться на других сайтах
VOleg
205
-
- Жалоба
- Рассказать
Но мне нужно что бы один и тот же exсel файл участвовал во всех деталях и сборках. В sw есть функция «таблица параметров» загрузить из файла, но при загрузке он всегда прогружает 1 лист excel. А например если этот же excel файл загружать в другую деталь, но только что бы sw считывал 2 лист.
В экселе есть понятие «перекрестные таблицы». Почитайте, может помогут.
- Цитата
Ссылка на сообщение
Поделиться на других сайтах
Присоединяйтесь к обсуждению
Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже.
Если у вас есть аккаунт, войдите в него для написания от своего имени.
Примечание: вашему сообщению потребуется утверждение модератора, прежде чем оно станет доступным.
Базы данных (БД) — набор упорядоченной информации, которая хранится в одном месте. Их создают, чтобы быстро находить, систематизировать и редактировать нужные данные, а при необходимости собирать их в отчёт или показывать в виде диаграммы.
Специализированных программ для формирования и ведения баз данных много. В том же MS Office для этого есть отдельное приложение — Microsoft Access. Но и в Excel достаточно возможностей для создания простых баз и удобного управления ими. Есть ограничение — количество строк базы данных в Excel не должно быть больше одного миллиона.
В статье разберёмся:
- как выглядит база данных в Excel;
- как её создать и настроить;
- как работать с готовой базой данных в Excel — фильтровать, сортировать и искать записи.
База данных в Excel — таблица с информацией. Она состоит из однотипных строк — записей базы данных. Записи распределены по столбцам — полям базы данных.
Скриншот: Excel / Skillbox Media
Названия полей — шапка таблицы — определяют структуру базы данных. Они показывают, какую информацию содержит база. В примере выше это имя менеджера автосалона, дата продажи, модель и характеристики автомобиля, который он продал.
Каждая запись — строка таблицы — относится к одному объекту базы данных и содержит информацию о нём. В нашем примере записи характеризуют продажи, совершённые менеджерами автосалона.
При создании базы данных нельзя оставлять промежуточные строки полностью пустыми, как на скриншоте ниже. Так база теряет свою целостность — в таком виде ей нельзя управлять как единым объектом.
Скриншот: Excel / Skillbox Media
Разберём пошагово, как создать базу данных из примера выше и управлять ей.
Создаём структуру базы данных
Выше мы определили, что структуру базы данных определяют названия полей (шапка таблицы).
Задача для нашего примера — создать базу данных, в которой будут храниться все данные о продажах автомобилей менеджерами автосалона. Каждая запись базы — одна продажа, поэтому названия полей БД будут такими:
- «Менеджер»;
- «Дата продажи»;
- «Марка, модель»;
- «Цвет»;
- «Год выпуска»;
- «Объём двигателя, л»;
- «Цена, руб.».
Введём названия полей в качестве заголовков столбцов и отформатируем их так, чтобы они визуально отличались от дальнейших записей.
Скриншот: Excel / Skillbox Media
Создаём записи базы данных
В нашем примере запись базы данных — одна продажа. Перенесём в таблицу всю имеющуюся информацию о продажах.
При заполнении ячеек с записями важно придерживаться одного стиля написания. Например, Ф. И. О. менеджеров во всех строках вводить в виде «Иванов И. И.». Если где-то написать «Иван Иванов», то дальше в работе с БД будут возникать ошибки.
Скриншот: Excel / Skillbox Media
На этом же этапе важно проконтролировать, подходит ли формат ячеек данным в них. По умолчанию все ячейки получают общий формат. Чтобы в дальнейшем базой данных было удобнее пользоваться, можно изменить формат там, где это нужно.
В нашем примере данные в столбцах A, C и D должны быть в текстовом формате. Данные столбца B должны быть в формате даты — его Excel определил и присвоил автоматически. Данные столбцов E, F — в числовом формате, столбца G — в финансовом.
Чтобы изменить формат ячейки, выделим нужный столбец, кликнем правой кнопкой мыши и выберем «Формат ячеек».
Скриншот: Excel / Skillbox Media
В появившемся меню выберем нужный формат и настроим его. В нашем примере для ячейки «Цена, руб.» выберем финансовый формат, уберём десятичные знаки (знаки после запятой) и выключим отображение символа ₽.
Скриншот: Excel / Skillbox Media
Также изменить формат можно на панели вкладки «Главная».
Скриншот: Excel / Skillbox Media
Присваиваем базе данных имя
Для этого выделим все поля и записи базы данных, включая шапку. Нажмём правой кнопкой мыши и выберем «Имя диапазона».
Скриншот: Excel / Skillbox Media
В появившемся окне вводим имя базы данных без пробелов.
Скриншот: Excel / Skillbox Media
Готово — мы внесли в базу данных информацию о продажах и отформатировали её. В следующем разделе разберёмся, как с ней работать.
Скриншот: Excel / Skillbox Media
Сейчас в созданной базе данных все записи расположены хаотично — не упорядочены ни по датам, ни по фамилиям менеджеров. Разберёмся, как привести БД в более удобный для работы вид. Все необходимые для этого функции расположены на вкладке «Данные».
Скриншот: Excel / Skillbox Media
Для начала добавим фильтры. Это инструмент, с помощью которого из большого объёма информации выбирают и показывают только нужную в данный момент.
Подробнее о фильтрах в Excel говорили в этой статье Skillbox Media.
Выберем любую ячейку из базы данных и на вкладке «Данные» нажмём кнопку «Фильтры».
Скриншот: Excel / Skillbox Media
В каждой ячейке шапки таблицы появились кнопки со стрелками.
Предположим, нужно показать только сделки менеджера Тригубова М. — нажмём на стрелку поля «Менеджер» и оставим галочку только напротив него. Затем нажмём «Применить фильтр».
Скриншот: Excel / Skillbox Media
Готово — в базе отражены данные о продажах только одного менеджера. На кнопке со стрелкой появился дополнительный значок. Он означает, что в этом столбце настроена фильтрация. Чтобы её снять, нужно нажать на этот дополнительный значок и выбрать «Очистить фильтр».
Скриншот: Excel / Skillbox Media
Записи БД можно фильтровать по нескольким параметрам одновременно. Для примера покажем среди продаж Тригубова М. только автомобили дешевле 2 млн рублей.
Для этого в уже отфильтрованной таблице откроем меню фильтра для столбца «Цена, руб.» и нажмём на параметр «Выберите». В появившемся меню выберем параметр «Меньше».
Скриншот: Excel / Skillbox Media
Затем в появившемся окне дополним условие фильтрации — в нашем случае «Меньше 2000000» — и нажмём «Применить фильтр».
Скриншот: Excel / Skillbox Media
Готово — фильтрация сработала по двум параметрам. Теперь БД показывает только те проданные менеджером авто, цена которых ниже 2 млн рублей.
Скриншот: Excel / Skillbox Media
Кроме этого, в Excel можно установить расширенный фильтр. Он позволяет фильтровать БД по сложным критериям сразу в нескольких столбцах. Подробно о том, как настроить расширенный фильтр, говорили в статье.
Сортировка — инструмент, с помощью которого данные в БД организовывают в необходимом порядке. Их можно сортировать по алфавиту, по возрастанию и убыванию чисел, по дате.
Для примера отсортируем сделки выбранного менеджера в хронологическом порядке — по датам. Для этого выделим любую ячейку в поле «Дата продажи» и нажмём кнопку «Сортировка».
Скриншот: Excel / Skillbox Media
В появившемся окне выберем параметр сортировки «От старых к новым» и нажмём «ОК».
Скриншот: Excel / Skillbox Media
Готово — теперь все сделки менеджера даны в хронологическом порядке.
Скриншот: Excel / Skillbox Media
То же самое можно сделать другим способом — выбрать любую ячейку столбца, который нужно отсортировать, и нажать на одну из двух кнопок рядом с кнопкой «Сортировка»: «Сортировка от старых к новым» или «Сортировка от новых к старым». В этом случае данные отсортируются без вызова дополнительных окон.
Скриншот: Excel / Skillbox Media
Кроме стандартной сортировки в Excel, можно настроить сортировку по критериям, выбранным пользователем. Эта функция полезна, когда нужные критерии не предусмотрены стандартными настройками. Например, если требуется отсортировать данные по должностям сотрудников или по названиям отделов.
Подробнее о пользовательской сортировке в Excel говорили в этой статье Skillbox Media.
В процессе работы базы данных могут разрастись до миллиона строк — найти нужную информацию станет сложнее. Фильтрация и сортировка не всегда упрощают задачу. В этом случае для быстрого поиска нужной ячейки — текста или цифры — можно воспользоваться функцией поиска.
Предположим, нужно найти в БД автомобиль стоимостью 14 млн рублей. Перейдём на вкладку «Главная» и нажмём на кнопку «Найти и выделить». Также быстрый поиск можно задавать с любой вкладки Excel — через значок лупы в правом верхнем углу экрана.
Скриншот: Excel / Skillbox Media
В появившемся окне введём значение, которое нужно найти, — 14000000 — и нажмём «Найти далее».
Скриншот: Excel / Skillbox Media
Готово — Excel нашёл ячейку с заданным значением и выделил её.
Скриншот: Excel / Skillbox Media
- В этой статье Skillbox Media собрали в одном месте 15 статей и видео об инструментах Excel, которые ускорят и упростят работу с электронными таблицами.
- Также в Skillbox есть курс «Excel + Google Таблицы с нуля до PRO». Он подойдёт как новичкам, которые хотят научиться работать в Excel с нуля, так и уверенным пользователям, которые хотят улучшить свои навыки. На курсе учат быстро делать сложные расчёты, визуализировать данные, строить прогнозы, работать с внешними источниками данных, создавать макросы и скрипты.
- Кроме того, Skillbox даёт бесплатный доступ к записи онлайн-интенсива «Экспресс-курс по Excel: осваиваем таблицы с нуля за 3 дня». Он подходит для начинающих пользователей. На нём можно научиться создавать и оформлять листы, вводить данные, использовать формулы и функции для базовых вычислений, настраивать пользовательские форматы и создавать формулы с абсолютными и относительными ссылками.
Другие материалы Skillbox Media по Excel
- Как сделать сортировку в Excel: детальная инструкция со скриншотами
- Как установить фильтр и расширенный фильтр в Excel: детальные инструкции со скриншотами
- Как сделать ВПР в Excel: пошаговая инструкция со скриншотами
- Основы Excel: работаем с выпадающим списком. Пошаговая инструкция со скриншотами
- Основы Excel: как использовать функцию ЕСЛИ
- Как сделать сводные таблицы в Excel: пошаговая инструкция со скриншотами
Построение графика в Microsoft Excel
График дозволяет зрительно оценить зависимость данных от определенных характеристик либо их динамику. Эти объекты употребляются и в научных либо исследованиях, и в презентациях. Давайте разглядим, как выстроить график в программке Microsoft Excel.
Любой юзер, желая наиболее наглядно показать какую-то числовую информацию в виде динамики, может сделать график. Этот процесс несложен и предполагает наличие таблицы, которая будет употребляться за базу. По собственному усмотрению объект можно модифицировать, чтоб он лучше смотрелся и отвечал всем требованиям. Разберем, как создавать разные виды графиков в Эксель.
Построение обыденного графика
Отрисовывать график в Excel можно лишь опосля того, как готова таблица с данными, на базе которой он будет строиться.
- Находясь на вкладке «Вставка», выделяем табличную область, где размещены расчетные данные, которые мы хотим созидать в графике. Потом на ленте в блоке инструментов «Диаграммы» кликаем по кнопочке «График».
- Опосля этого раскрывается перечень, в котором представлено семь видов графиков:
- Обыденный;
- С скоплением;
- Нормированный с скоплением;
- С маркерами;
- С маркерами и скоплением;
- Нормированный с маркерами и скоплением;
- Большой.
Редактирование графика
Опосля построения графика можно выполнить его редактирование для придания объекту наиболее представительного вида и облегчения осознания материала, который он показывает.
-
Чтоб подписать график, перебегаем на вкладку «Макет» мастера работы с диаграммами. Кликаем по кнопочке на ленте с наименованием «Заглавие диаграммы». В открывшемся перечне указываем, где будет располагаться имя: по центру либо над графиком. 2-ой вариант обычно наиболее уместен, потому мы в качестве примера используем «Над диаграммой». В итоге возникает заглавие, которое можно поменять либо отредактировать на свое усмотрение, просто нажав по нему и введя нужные знаки с клавиатуры.
Построение графика со вспомогательной осью
Есть случаи, когда необходимо расположить несколько графиков на одной плоскости. Если они имеют однообразные меры исчисления, то это делается буквально так же, как описано выше. Но что созодать, если меры различные?
-
Находясь на вкладке «Вставка», как и в прошедший раз, выделяем значения таблицы. Дальше нажимаем на клавишу «График» и избираем более пригодный вариант.
Построение графика функции
Сейчас давайте разберемся, как выстроить график по данной функции.
-
Допустим, мы имеем функцию Y=X^2-2 . Шаг будет равен 2. До этого всего построим таблицу. В левой части заполняем значения X с шагом 2, другими словами 2, 4, 6, 8, 10 и т.д. В правой части вбиваем формулу.
Как лицезреем, Microsoft Excel дает возможность построения разных типов графиков. Главным условием для этого является создание таблицы с данными. Сделанный график можно изменять и корректировать согласно мотивированному предназначению.
Мы рады, что смогли посодействовать Для вас в решении препядствия.
Кроме данной статьи, на веб-сайте еще 12327 инструкций.
Добавьте веб-сайт Lumpics.ru в закладки (CTRL+D) и мы буквально еще пригодимся для вас.
Отблагодарите создателя, поделитесь статьей в соц сетях.
Опишите, что у вас не вышло. Наши спецы постараются ответить очень стремительно.
Как выстроить график в Excel. Описание и примеры.
В данной статье разглядим метод построения графика в Excel. График, это один из видом диаграмм, работа с которыми доступна в Excel. Данный тип диаграммы является довольно обычным и при всем этом информативным. Нередко употребляется в презентациях.
Представим у нас есть таблица в которой два столбца. В первом столбце у нас указаны месяца. С января по декабрь. В втором столбце указаны результаты продаж офисных стульев, в любом из 12 месяцев, в штуках. Это будет начальная таблица на основание которой будет построен график.
Как выстроить график в Excel.
За ранее избираем спектр ячеек, на базе которых мы будем строить наш график. В нашем примере, в графике, мы отразим помесячно динамику продаж офисных стульев. На графике будет видно сколько стульев продано в любом из 12 месяцев года. Так же график отразит зависимость межу определенных месяцем и количеством проданных офисных стульев. Соответственно в таблице нам необходимо выделить спектр ячеек с месяцами (В3:В14) и спектр ячеек с количеством продаж офисных стульев (С3:С14).
Дальше, в закладке Вставка, находим клавишу Вставить график либо диаграмму с областями.
Жмем на нее и избираем подходящий нам тип графика — График.
Excel выстроил график на базе выделенного нами спектра ячеек в начальной таблице.
Настройка графика в Excel.
Сейчас выполним некие опции нашего графика.
Заглавие графика.
Добавить заглавие графика весьма просто. Довольно левой клавишей мыши пару раз кликнуть в поле графика, которое именуется «Заглавие диаграммы». Данное поле находится в области диаграммы сходу. Назовем наш график: Результаты продаж офисных стульев.
Опосля того, как ввили необходимое заглавие, просто нажимаете в всякую другую область диаграммы.
Заглавие осей.
Для большей информативности добавим заглавие осям. В нашем графики есть две оси. Вертикальная ось является шкалой. В нашем примере она указывает количество проданных стульев в штуках. Горизонтальная ось отражает месяца. С января по декабрь.
Если надавить на всякую область диаграммы, показаться два элемента управления опциями. Конструктор и Формат в закладка, и три иконки в правом верхнем углу области диаграммы.
Нажмем на иконку Элементы диаграммы. Показаться меню. В нем ставим галочку напротив пт Наименования осей. Показаться возможность отдать заглавие обоим осям (горизонтальной и вертикальной). Справа от пт Наименования осей есть стрелочка. Если надавить на нее, раскрывается доп меню, в котором можно избрать определенную ось и именовать лишь ее.
Опосля того, как мы поставили галочку напротив пт Наименования осей, у нас возникли поля, в которые мы можем ввести наименования. Назовем вертикальную ось — Реализации офисных стульев. шт., а горизонтальную ось — Месяца. Дважды кликаем по полю Заглавие оси и у нас возникает возможность вводить в нее текст.
Можно переместить заглавие оси наведя курсор мыши на рамку поля Заглавие оси.
Можно поменять направление текста в заглавиях осей и заглавии самой диаграммы. Для этого жмем правой клавишей мыши в любом месте диаграммы. Раскроется контекстное меню в котором избираем Формат области диаграммы.
В правой части экрана показаться меню Формат области диаграммы. В нем избираем Размер и характеристики. Опосля этого жмем левой клавишей мыши на заглавие элемента, который мы желаем повернуть (заглавие оси либо графика (диаграммы)). Меню Размер и характеристики поменяться. В нем показаться пункт Направление текста. Жмем на него. Возникает выпадающий перечень с разными вариациями направления текста. Избираем тот вариант, который нам подступает.
Метки данных.
В Элементах диаграммы, также есть пункт Метки данных. Если поставить галочку напротив этого пт, на кривой графика отобразятся значения, на базе которых он конкретно построен. В нашем примере, это будут реализации офисных стульев в штуках, над надлежащими месяцами.
Если надавить на стрелочку справа от пт Метка данных, покажется доп меню, в котором можно будет настроить отображение данных на графике, согласно предложенных вариантов.
Стиль и цвет диаграммы.
В пт опций Стили диаграммы можно настроить наружный вид диаграммы. Для этого в пт Стиль есть готовые эталоны. А в пт Цвет можно избрать цвет графика. Также, при изменение цвета в пт Цвет, будут изменяться цвета готовых образцов в пт Стиль.
Как выстроить график в excel по данным таблицы
Неважно какая информация лучше воспринимается в графическом отображении, когда данные наглядны и понятны. Одним из примеров таковых объектов являются таблицы, рисунки, диаграммы. Microsoft Office Excel владеет широкими способностями представления инфы и сейчас в статье поведаем, как выстроить график в excel.
Обычная диаграмма
Разглядим пошагово процесс сотворения обычной кривой по данным таблицы, сделанной на листе excel.
Шаг 1. Делаете таблицу. К примеру, изменение зарплаты по месяцам.
Шаг 2. На панели управления перебегайте во вкладку Вставка и ищете клавишу График.
Шаг 3. Из выпадающего перечня выбираете хоть какой тип, и на рабочем листе возникает новенькая область.
Шаг 4. Активируете объект нажав на него, потом во вкладке Конструктор нажимаете клавишу Избрать данные.
Шаг 5. В спектре данных выбираете числа из столбца З/П. Чтоб выделить весь столбец, довольно надавить в правом нижнем углу первой ячейки особый руль и протянуть вниз. Если все изготовлено верно, спектр будет обрамлен штрихпунктирной линией. Подтверждаете действие нажатием клавиши ОК.
В итоге выходит последующее:
Данная {инструкция} по созданию простого графика совершенно подойдет для чайников и юзеров, которые лишь начинают узнавать excel.
Способности редактирования
До этого чем перейти к наиболее сложным диаграммам побеседуем о инструментах редактирования объекта. Их можно отыскать во вкладке Макет.
На заметку! Все операции форматирования можно проводить с 2-мя осями x и y раздельно. При всем этом любой элемент графика можно выделить и работать без помощи других.
Чтоб добавить заглавие, используйте первую клавишу из блока Подписи. Из выпадающего перечня выбираете подходящий шаблон и вписываете текст, который охарактеризовывает график.
Потом нужно поработать с осями. Можно добавить заглавие для каждой из осей, также их подписи.
Если нужно наиболее детально проработать ось, нажимаете на нее правой кнопкой мыши и выбираете формат оси…
Возникает новое диалоговое окно, в котором представлено огромное количество характеристик опции.
К примеру, изменим малое значение, чтоб график вышел наиболее растянутым и приятным, также изменим стоимость главных делений, для наиболее детализированного рассмотрения конфигурации зарплаты.
Получаем освеженный график, на котором лучше виден рост заработной платы.
Для наилучшего восприятия переломов на диаграмме, комфортно подписать каждую точку построения. Используете для этого функцию подписи данных.
На заметку! Если числа накладываются на линию, то можно их отодвинуть каждую в отдельности. Просто нажимаете на необходимое число и тянете в сторону.
Легенду, которая нужна для пояснения линий диаграммы, можно поменять, используя одноименную клавишу.
Кроме этого объект можно закрасить, поменять шрифт текста, добавить тень либо размер. Все эти операции производятся через вкладку Формат.
На заметку! Если лень создавать конфигурацию, можно пользоваться уже готовыми макетами, которые можно отыскать во вкладке Конструктор.
Непростая диаграмма
Чтоб выстроить график по функции, нужно поначалу сделать таблицу начальных данных. Для этого задаете значение аргумента х на нужное количество точек. Потом с помощью формулы рассчитываете значение функции. В итоге получаете определенные значения.
Добавляете на рабочую область точечную диаграмму с гладкими кривыми через вкладку Вставка.
Выбираете данные, при всем этом заполняете строчки надлежащими значениями, уже известным методом.
На выходе получаете разыскиваемый график. Поработав с конфигурацией осей, добиваетесь применимого отображения функции. Меняя значения аргумента, наблюдаете за конфигурацией кривой, так как все расчеты делаются автоматом по формуле.
Чтоб создать кривую по уравнению, нужно также за ранее посчитать значения всех составляющих выражения, используя главные математические приемы, а потом при помощи точечной диаграммы выстроить график уже известным методом.
Рассмотрев эти два примера можно строить зависимости x от y, но неотклонимым условием является расчет значений всякого из аргументов, для наиболее корректного построения кривой.
Время от времени возникает необходимость создать график с 3-мя осями. Вернемся к самому первому примеру. Допустим, добавился показатель конфигурации премии в месяц. Этот аспект имеет ту же единицу измерения, что и зарплата.
Чтоб отразить значения премии, необходимо добавить третью ось. Для этого делаете последующее:
- Выделяете подходящую кривую, щелкаете правой кнопкой мыши и из перечня выбираете формат ряда данных….
- В первой строке новейшего окна ставите галочку напротив варианта По вспомогательной оси.
- Производите окончательное редактирование новейшей оси и отображение данных.
Видите ли, с помощью excel можно строить графики для различных целей. При всем этом программка способна работать с гистограммами, радиальными и линейными диаграммами, также областями данных, которые можно отредактировать под любые пользовательские запросы при помощи широкого диапазона опций.
Вы можете создать таблицу параметров в виде отдельного файла Excel, а затем использовать PropertyManager Таблица параметров, чтобы вставить файл в свою модель. ПРИМЕЧАНИЯ. При использовании таблиц параметров в программе SolidWorks важно правильно отформатировать таблицы.
Как импортировать данные в SolidWorks?
Обзор импорта библиотечных данных
- Выберите тип файла Пользовательский текстовый файл с разделителями (*. txt), чтобы импортировать текстовый файл, в котором используется разделитель, указанный в CircuitWorks Options — Library , вертикальная черта (|) по умолчанию.
- Выберите тип файла Mapping File (*.xrf), чтобы импортировать файл сопоставления Desktop EDA SOLIDWORKS IDF Modeler.
Как открыть таблицу параметров в Excel?
Создание таблицы параметров в виде отдельного файла Excel
- Введите значения параметров в ячейки электронной таблицы.
- Сохраните рабочий лист.
- Откройте документ модели, куда вы хотите вставить таблицу параметров.
- Нажмите «Вставить», «Таблица параметров».
- В окне PropertyManager Таблица параметров в разделе Источник: щелкните Из файла. Нажмите Обзор и откройте файл Excel.
Как создать таблицу конфигурации в чертеже SOLIDWORKS?
Чтобы вставить таблицу параметров в чертеж:
- На чертеже детали или сборки выберите чертежный вид.
- Нажмите «Вставка» > «Таблицы» > «Конструкторская таблица». Появится таблица параметров, которую можно перетащить на место на листе.
Где находится таблица параметров в SOLIDWORKS?
Доступ к таблицам параметров можно получить из раскрывающегося списка «Вставка» в SOLIDWORKS в разделе «Таблицы». При запуске у пользователя есть различные варианты создания таблицы.
Как добавить спецификацию Excel в SolidWorks?
Чтобы вставить спецификацию:
- Выбрав вид чертежа, нажмите «Вставка» > «Таблицы» > «Спецификация на основе Excel».
- В диалоговом окне выберите шаблон Excel для спецификации и нажмите «Открыть». …
- В диалоговом окне «Свойства спецификации» выберите свойства на вкладках «Конфигурация», «Содержание» и «Управление».
- Нажмите кнопку ОК.
Как импортировать текстовый файл в SolidWorks?
Чтобы импортировать детали из файла: В диалоговом окне «Библиотека компонентов CircuitWorks» выберите «Инструменты» > «Импорт данных» > «Из текстового файла». В диалоговом окне «Выберите файл для импорта» выберите тип файла и файл, затем нажмите «Открыть».
Какая формула в Excel?
Примеры
Данные | ||
---|---|---|
5 | ||
Формула | Описание | Результат |
= A2 + A3 | Складывает значения в ячейках A1 и A2. | = A2 + A3 |
= A2-A3 | Вычитает значение в ячейке A2 из значения в A1 | = A2-A3 |
Как создать таблицу размеров в SOLIDWORKS?
Чтобы сделать это, перейдите на вкладку конфигурации, щелкните правой кнопкой мыши таблицу параметров и выберите «Редактировать таблицу параметров». Нажмите на ячейку справа от последнего измерения. Перейдите к дереву деталей, щелкните эскиз, а затем щелкните размер, который необходимо добавить в таблицу параметров.
Для чего используется таблица параметров в SOLIDWORKS?
Таблица параметров позволяет создавать несколько конфигураций деталей или сборок, указывая параметры во встроенном листе Microsoft Excel. Таблица параметров сохраняется в документе модели и не связана с исходным файлом Excel.