Настоящая заметка продолжает знакомство с VBA. В ней представлены некоторые пользовательские функции, которые можно применять в формулах рабочего листа.[1] Помните, что эти процедуры функций необходимо определить в модуле VBA, а не в модуле кода соответствующей рабочей книги, листа или пользовательской формы.
Рис. 1. Активная ячейка имеет полужирное начертание, выполненное с помощью условного форматирования
Скачать заметку в формате Word или pdf, примеры в формате Excel (файл содержит макросы)
Получение информации о форматировании ячейки
Можно написать пользовательскую функцию, возвращающую информацию о форматировании ячейки. Такие функции используются при сортировке данных на основе форматирования (например, в случае, когда ячейки, выделенные полужирным шрифтом, должны располагаться рядом).
Предупреждение. Эти функции не всегда обновляются автоматически — изменение форматирования не приводит к пересчету формул Excel. Чтобы вызвать глобальный пересчет формул (и обновить все пользовательские функции), нажмите клавиши <Ctrl+Alt+F9>. В функцию можно также добавить следующий оператор: Application.Volatile. При наличии этого оператора пересчет функции производится после нажатия клавиши <F9>.
Следующая функция возвращает ИСТИНА, если аргумент, состоящий из одной ячейки, выделен полужирным шрифтом. Если диапазон передается в качестве аргумента, функция использует его верхнюю левую ячейку.
Function IsBold(cell) As Boolean ‘ Возвращает TRUE, если ячейка выделена полужирным стилем IsBold = cell.Range(«A1»).Font.Bold End Function |
Эта функция работает только с явно заданным форматированием (не может применяться с условным форматированием). В Excel 2010 появился новый объект – DisplayFormat. Он учитывает наличие условного форматирования. Функция IsBold2 может обрабатывать полужирный формат, являющийся результатом условного форматирования. Свойство DisplayFormat возвращает ошибку #ЗНАЧ! при использовании в пользовательских функциях. Однако свойство работает в процедурах, вызываемых из VBA. Если выбрать в качестве активной ячейку А3, отформатированную с помощью условного форматирования, и вызвать процедуру CI, появится окно, подтверждающее, что активная ячейка имеет полужирное начертание (рис. 1).
Function IsBold2() As Boolean ‘ Возвращает TRUE, если ячейка выделена полужирным стилем ‘ даже условным форматированием IsBold2 = ActiveCell.DisplayFormat.Font.Bold End Function |
Следующая функция возвращает ИСТИНА, если используемая в качестве аргумента ячейка выделена курсивом.
Function IsItalic(cell) As Boolean ‘ Возвращает TRUE, если ячейка выделена курсивом IsItalic = cell.Range(«A1»).Font.Italic End Function |
Обе предыдущие функции возвращают ошибку, если ячейка имеет смешанное форматирование. Функция, приведенная ниже, возвращает ИСТИНА только тогда, когда все символы в ячейке выделены полужирным шрифтом.
Function AllBold(cell) As Boolean ‘ Возвращает TRUE, если все символы в ячейке выделены полужирным стилем AllBold = Not IsNull(cell.Font.Bold) End Function |
Следующая функция возвращает целое число, соответствующее индексу цвета заливки ячейки. Если ячейка не имеет заливки, то функция возвращает значение 4142. Эта функция не может использоваться для определения цветов заливки таблиц (которые создаются с помощью команды Ctrl+T) или сводных таблиц. В подобных случаях воспользуйтесь объектом DisplayFormat.
Function FillColor(cell) As Integer ‘ Возвращает целое число, соответствующее фону ячейки Application.Volatile FillColor = cell.Range(«A1»).Interior.ColorIndex End Function |
Беседа с рабочим листом
Функция Saylt применяет синтезатор речи Excel для озвучивания аргумента.
Function SayIt(txt) Application.Speech.Speak (txt) SayIt = txt End Function |
Эта функция носит развлекательный характер, но может использоваться и в серьезных целях. Например, ее можно включить в следующую формулу:
=ЕСЛИ(СУММ(А:А)>25000;Saylt("
Цель достигнута "
))
Если сумма значений в столбце А превышает 25 000, вы услышите синтезированный голос, сообщающий о том, что цель достигнута. Метод Speak можно также включить в конец длинной процедуры, и компьютер известит вас о том, что выполнение процедуры завершено.
Отображение даты сохранения файла или вывода файла на печать
Рабочая книга Excel содержит несколько встроенных свойств документа, к которым можно получить доступ с помощью свойства BuiltinDocumentProperties объекта Workbook. Следующая функция возвращает дату и время последнего сохранения рабочей книги.
Function LastSaved() Application.Volatile LastSaved = ThisWorkbook. _ BuiltinDocumentProperties(«Last save time») End Function |
К свойствам можно обратиться по номеру, например, BuiltinDocumentProperties(5), или по имени, как в примере выше. Получить перечень свойств можно с помощью процедуры BDPNames(), код которой приведен в приложенном Excel-файле.
Значения, возвращаемые этой функцией, совпадают со значениями даты и времени, которые отображаются в разделе Связанные даты после выбора команды Файл –> Сведения (рис. 2). Обратите внимание, что на значения даты и времени оказывает влияние свойство AutoSave. Поэтому время последнего сохранения необязательно имеет отношение ко времени сохранения файла пользователем.
Рис. 2. Сведения о рабочей книге; чтобы увеличить изображение кликните на нем правой кнопкой мыши и выберите Открыть картинку в новой вкладке
Следующая функция возвращает дату и время последнего вывода рабочей книги на печать или предварительного просмотра рабочей книги. Если рабочая книга никогда не печаталась и не просматривалась, функция возвращает ошибку #ЗНАЧ. При использовании двух последних функций, чтобы получить текущие значения данных свойств (чтобы обновить значения в ячейках), нажмите F9.
Function LastPrinted() Application.Volatile LastPrinted = ThisWorkbook.BuiltinDocumentProperties(10) End Function |
Не ко всем свойствам можно получить доступ с помощью BuiltinDocumentProperties. Например, при попытке получить доступ к свойству Number of Bytes, указывающему размер файла, будет генерироваться ошибка.
Основы иерархии объектов
Объектная модель Excel представляет собой определенную структуру: одни объекты содержатся в других объектах. На вершине этой иерархии находится объект Application. Excel содержит другие объекты, в которые, в свою очередь, вложены более низкоуровневые объекты и т.д. Следующая иерархия показывает, как в этой структуре представлен объект Range.
Объект Application
Объект Workbook
Объект Worksheet
Объект Range
Следующая функция получает один аргумент (диапазон) и возвращает имя рабочего листа, который содержит указанный диапазон. При этом используется свойство Parent объекта Range. Свойство Parent возвращает объект, содержащий объект Range.
Function SheetName(ref) As String SheetName = ref.Parent.Name End Function |
Следующая функция возвращает название рабочей книги для конкретной ячейки. Обратите внимание, что эта функция использует свойство Parent дважды. Первое свойство Parent возвращает объект Worksheet, а второе свойство Parent возвращает объект Workbook.
Function WorkbookName(ref) As String WorkbookName = ref.Parent.Parent.Name End Function |
Следующая функция переносит это упражнение на следующий логический уровень, обращаясь к свойству Parent трижды. Такая функция возвращает имя объекта Application для заданной ячейки. Указанная функция всегда будет возвращать значение Microsoft Excel.
Function AppName(ref) As String AppName = ref.Parent.Parent.Parent.Name End Function |
Подсчет количества ячеек между двумя значениями
Следующая функция возвращает количество значений в диапазоне (первый аргумент), которые попадают в область, заданную вторым и третьим аргументами.
Function CountBetween(InRange, num1, num2) As Long ‘ Подсчитывает количество значений между num1 и num2 With Application.WorksheetFunction If num1 <= num2 Then CountBetween = .CountIfs(InRange, «>=» & num1, _ InRange, «<=» & num2) Else CountBetween = .CountIfs(InRange, «>=» & num2, _ InRange, «<=» & num1) End If End With End Function |
Обратите внимание, что эта функция вызывает функцию Excel СЧЁТЕСЛИ (COUNTIFS). По сути, функция CountBetween является «оболочкой», которая может упростить формулы. (Но, наверное, не в этом учебном примере, для которого вполне достаточно стандартной функции Excel =СЧЁТЕСЛИМН(A17:A27;"
<=5"
;A17:A27;"
>=2"
) Поскольку функция СЧЁТЕСЛИ появилась в Excel 2007, приведенный код не будет работать с более ранними версиями Excel.
Определение последней непустой ячейки в столбце или в строке
Функция LastInColumn возвращает содержимое последней непустой ячейки в столбце, а LastlnRow – содержимое последней непустой ячейки в строке. В качестве единственного аргумента эти функции используют диапазон. Причем в качестве диапазона может использоваться, как весь столбец, так и вся строка. Если же в качестве аргумента не используется вся строка либо весь столбец, задействуется строка или столбец, в котором находится верхняя левая ячейка диапазона. Например, следующая формула возвращает последнее значение в столбце В: =LastInColumn(В5). Следующая формула возвращает последнее значение в строке 7: =LastInRow (С7 :D9).
Function LastInColumn(rng As Range) ‘ Возвращает содержимое последней ячейки в столбце Dim LastCell As Range Application.Volatile With rng.Parent With .Cells(.Rows.Count, rng.Column) If Not IsEmpty(.Value) Then LastInColumn = .Value ElseIf IsEmpty(.End(xlUp)) Then LastInColumn = «» Else LastInColumn = .End(xlUp).Value End If End With End With End Function |
Оператор Application.Volatile вызывает выполнение функции всякий раз, когда пересчитываются формулы на рабочем листе. Оператор Rows.Count возвращает количество строк на рабочем листе (используется именно он, а не жестко заданное значение, из соображений совместимости; новые версии Excel могут включать большее количество строк на рабочем листе). Ссылка rng.Column возвращает номер столбца левой верхней ячейки в аргументе rng. Благодаря ссылке rng.Parent функция работает корректно, даже если аргумент rng ссылается на другой лист или рабочую книгу. Метод End (с аргументом xlUp) эквивалентен переходу к последней ячейке столбца и нажатию <End> и <Т>. Функция IsEmpty проверяет, пуста ли ячейка. Если ячейка пуста, функция возвращает пустую строку. Без этого оператора пустой ячейке соответствовал бы результат 0.
Код функции LastlnRow можно найти в модуле VBA приложенного Excel-файла.
Соответствует ли строка шаблону
Следующая функция возвращает значение ИСТИНА, если строка соответствует заданному шаблону. Функция представляет собой «оболочку», позволяющую использовать в формулах оператор VBA Like.
Function IsLike(text As String, pattern As String) As Boolean ‘ Возвращает true, если первый аргумент равен второму IsLike = text Like pattern End Function |
Функция IsLike принимает два аргумента: text — текстовая строка или ссылка на ячейку, содержащую текстовую строку; pattern — строка, содержащая групповые символы согласно таблице (рис. 3).
Рис. 3. Групповые символы
Представленная ниже формула возвращает ИСТИНА, так как * соответствует любому количеству символов. Она возвращает ИСТИНА, если первый аргумент — любой текст, начинающийся с g.
=IsLike("
guitar"
, "
g*"
)
Следующая формула возвращает ИСТИНА, так как ? соответствует любому отдельному символу. Если бы первым аргументом функции был «Unit12», то функция возвращала бы ЛОЖЬ.
=IsLike("
Unit1"
, "
Unit?"
)
Следующая формула возвращает ИСТИНА, так как первый аргумент является одним из символов списка во втором аргументе.
=IsLike("
а"
, "
[aeiou]"
)
Следующая формула возвращает ИСТИНА, если ячейка А1 содержит один из символов: а, е, i, о, u, А, Е, I, О, U. При использовании функции ПРОПИСН (UPPER) в аргументе функция становится нечувствительной к регистру.
=IsLike(ПРОПИСН(А1), ПРОПИСН("
[aeiou]"
))
Следующая формула возвращает ИСТИНА, если в ячейке А1 находится значение, начинающееся с 1 и состоящее ровно из трех цифр (т.е. любое целое число от 100 до 199).
=IsLike(A1, "
1##"
)
Возвращение из строки n-го элемента
ExtractElement — специальная функция рабочего листа, которая извлекает элемент из текстовой строки.
Function ExtractElement(txt, n, Separator) As String ‘ Возвращает n-й элемент в строке, причем элементы ‘ разделены выбранным символом—разделителем Dim AllElements As Variant AllElements = Split(txt, Separator) ExtractElement = AllElements(n — 1) End Function |
В этой процедуре используется VBA-функция Split, возвращающая массив констант, из которого состоит текстовая строка. Массив начинается с нулевого элемента (а не с первого), поэтому текущий элемент имеет индекс n – 1.
Например, если ячейка содержит следующий текст "
123-456-789-0133-8844"
, вы можете использовать функцию ExtractElement для извлечения любых подстрок между дефисами. Следующая формула возвращает 0133, т.е. четвертый элемент в строке.
=ExtractElement("
123-456-789-0133-8844"
,4,"
—"
)
Функция ExtractElement принимает три аргумента:
- txt — текстовая строка, из которой извлекается подстрока (символьная строка или ссылка на ячейку);
- n — целое число, представляющее номер извлекаемого элемента;
- Separator — отдельный символ, используемый как разделитель.
Если в качестве символа-разделителя задать пробел, то несколько пробелов подряд будут рассматриваться как один, что не всегда соответствует требованиям. Если n превышает количество элементов в строке, функция возвращает пустую строку.
Преобразование чисел в текст
Функция SpellDollars возвращает текст, в который преобразуется исходное число – сумма в долларах и центах. Например, формула =SpellDollars(23,45) возвращает строку "
двадцать три и 45/100 доллара"
(рис. 4). Обратите внимание, что отрицательные числа заключаются в круглые скобки. Код функции SpellDollars приведен в приложенном Excel-файле.
Рис. 4. Примеры использования функции SpellDollars
Универсальная функция
Можно сделать так, чтобы одна функция рабочего листа работала как несколько функций. StatFunction имеет два аргумента: диапазон (rng) и операция (ор). В зависимости от значения аргумента ор функция возвращает значение, вычисленное с помощью одной из следующих функций Excel: СУММ, СРЗНАЧ, МЕДИАНА, МОДА, СЧЁТ, МАКС, МИН, ДИСП, СТАНДОТКЛОН. Например, результат формулы =StatFunction($A$33:$A$37;C36) зависит от содержимого ячейки С36, в которой должна быть текстовая строка с именем одной из допустимых функций. В нашем случае – СЧЁТ. Код функции StatFunction приведен в модуле VBA приложенного Excel-файла.
Рис. 5. Примеры использования функции StatFunction
Функция SheetOffset
В Excel ограничена поддержка «трехмерных рабочих книг». Например, чтобы сослаться на другой рабочий лист в книге, включите в формулу имя рабочего листа. Данная проблема будет оставаться незначительной до тех пор, пока вы не попытаетесь скопировать формулу из одного листа в другой. Скопированные формулы продолжают ссылаться на первоначальное имя рабочего листа, и ссылки на листы не изменяются, как это происходит в реальной трехмерной рабочей книге.
Функция VBA SheetOffset обеспечивает установку относительных ссылок на рабочие листы. Например (рис. 6), можно сослаться на ячейку А1 следующего рабочего листа с помощью такой формулы: =SheetOffset(1; А1). Первый аргумент представляет лист и может быть положительным, отрицательным или нулевым. Второй аргумент должен быть ссылкой на одну ячейку. Можете скопировать эту формулу в другие листы, и в скопированных формулах будет использована относительная ссылка.
Рис. 6. Пример использования функции SheetOffset
Function SheetOffset(Offset As Long, Optional cell As Variant) ‘ Возвращает содержимое ячейки в виде ссылки, в смещении листа Dim WksIndex As Long, WksNum As Long Dim wks As Worksheet Application.Volatile If IsMissing(cell) Then Set cell = Application.Caller WksNum = 1 For Each wks In Application.Caller.Parent.Parent.Worksheets If Application.Caller.Parent.Name = wks.Name Then SheetOffset = Worksheets(WksNum + Offset).Range(cell(1).Address) Exit Function Else WksNum = WksNum + 1 End If Next wks End Function |
Возвращение максимального значения всех рабочих листов
Если необходимо определить максимальное значение в ячейке В1 в нескольких рабочих листах, используется следующая формула: =МАКС(Лист1:Лист4!В1). Эта формула возвращает максимальное значение ячейки В1 для листов Лист1, Лист4 и всех листов между ними.
Что же произойдет, если добавить после листа Лист4 новый лист – Лист5? Формула не будет автоматически изменена, поэтому ее необходимо отредактировать, чтобы включить ссылку на новый лист: =МАКС(Лист1:Лист5!В1).
Функция VBA MaxAllSheets получает аргумент (одна ячейка) и возвращает максимальное значение в этой ячейке во всех рабочих листах данной книги. При добавлении нового листа редактировать формулу не нужно.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
Function MaxAllSheets(cell) Dim MaxVal As Double Dim Addr As String Dim Wksht As Object Application.Volatile Addr = cell.Range(«A1»).Address MaxVal = —9.9E+307 For Each Wksht In cell.Parent.Parent.Worksheets If Wksht.Name = cell.Parent.Name And _ Addr = Application.Caller.Address Then ‘ Исключение циклической ссылки Else If IsNumeric(Wksht.Range(Addr)) Then If Wksht.Range(Addr) > MaxVal Then _ MaxVal = Wksht.Range(Addr).Value End If End If Next Wksht If MaxVal = —9.9E+307 Then MaxVal = 0 MaxAllSheets = MaxVal End Function |
Оператор For Each использует для доступа к рабочей книге выражение: cell.Parent.Parent.Worksheets. «Родителем» ячейки является рабочий лист, «родителем» рабочего листа — рабочая книга. Следовательно, цикл For Each проходит по всем рабочим листам в книге. Первый оператор If внутри цикла проверяет, содержит ли ячейка, которая проверяется в данный момент, функцию. Если содержит, то ячейка игнорируется во избежание циклической ссылки.
Функцию можно изменить, чтобы она определяла минимальное, среднее значение, или сумму.
Возвращение массива случайных целых чисел без повторов
Функция Randomlntegers возвращает массив натуральных чисел без повторов. Она предназначена для применения в формуле массива в нескольких ячейках: {=RandomIntegers ()}. Формула вводится в диапазон с помощью комбинации клавиш <Ctrl+Shift+Enter>. Она возвращает массив натуральных чисел без повторов, упорядоченных произвольным образом. Если диапазон содержит 35 ячеек, числа принимают значения от 1 до 35 (рис. 7).
Рис. 7. Пример использования функции Randomlntegers
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
Function RandomIntegers() Dim FuncRange As Range Dim V() As Variant, ValArray() As Variant Dim CellCount As Double Dim i As Integer, j As Integer Dim r As Integer, c As Integer Dim Temp1 As Variant, Temp2 As Variant Dim RCount As Integer, CCount As Integer ‘ Создает объект Range Set FuncRange = Application.Caller ‘ Возвращает ошибку, если значение FuncRange слишком велико CellCount = FuncRange.Count If CellCount > 1000 Then RandomIntegers = CVErr(xlErrNA) Exit Function End If ‘ Присваивание значений переменным RCount = FuncRange.Rows.Count CCount = FuncRange.Columns.Count ReDim V(1 To RCount, 1 To CCount) ReDim ValArray(1 To 2, 1 To CellCount) ‘ Заполнение массива случайными числами ‘ и последовательными целыми числами For i = 1 To CellCount ValArray(1, i) = Rnd ValArray(2, i) = i Next i ‘ Сортировка ValArray по случайным числовым размерам For i = 1 To CellCount For j = i + 1 To CellCount If ValArray(1, i) > ValArray(1, j) Then Temp1 = ValArray(1, j) Temp2 = ValArray(2, j) ValArray(1, j) = ValArray(1, i) ValArray(2, j) = ValArray(2, i) ValArray(1, i) = Temp1 ValArray(2, i) = Temp2 End If Next j Next i ‘ Помещение рандомизованных значений в массив V i = 0 For r = 1 To RCount For c = 1 To CCount i = i + 1 V(r, c) = ValArray(2, i) Next c Next r RandomIntegers = V End Function |
Расположение значений диапазона в произвольном порядке
Функция RangeRandomize получает в качестве аргумента диапазон и возвращает массив, содержащий этот диапазон с произвольно переставленными значениями (рис. 8). Код функции приведен во вложенном Excel-файле. В диапазон В2:В11 введена формула массива:
{=RangeRandomize (А2:А11)}
Эта формула возвращает содержимое диапазона А2:А11, но в случайном порядке.
Рис. 8. Функция RangeRandomize возвращает содержимое диапазона в случайном порядке
[1] По материалам книги Джон Уокенбах. Excel 2010. Профессиональное программирование на VBA. – М: Диалектика, 2013. – С. 362–375.
1.1 Назначение и функциональные возможности электронной таблицы Excel. Основные понятия (ячейки, рабочие листы, рабочие книги)
Таблица – форма организации данных по
столбцам и строкам.
Электронная таблица – компьютерный
эквивалент обычной таблицы.
Табличный процессор – комплекс программ,
предназначенных для создания и обработки
электронных таблиц.
Табличный процессор MS Excel (электронные
таблицы) – одно из наиболее часто
используемых приложений интегрированного
пакета MS Office, мощнейший инструмент в
умелых руках, значительно упрощающий
рутинную повседневную работу. Основное
назначение MS Excel – решение практически
любых задач расчетного характера,
входные данные которых можно представить
в виде таблиц. Применение электронных
таблиц упрощает работу с данными и
позволяет получать результаты без
программирования расчётов. В сочетании
же с языком программирования Visual Basic
for Application (VBA), табличный процессор MS Excel
приобретает универсальный характер и
позволяет решить вообще любую задачу,
независимо от ее характера.
Особенность электронных таблиц
заключается в возможности применения
формул для описания связи между значениями
различных ячеек. Расчёт по заданным
формулам выполняется автоматически.
Изменение содержимого какой-либо ячейки
приводит к пересчёту значений всех
ячеек, которые с ней связаны формульными
отношениями и, тем самым, к обновлению
всей таблицы в соответствии с изменившимися
данными.
Основные возможности электронных
таблиц:
-
Ввод, редактирование и оформление
разнообразных табличных документов. -
Выполнение расчетных действий на основе
исходных данных с применением специального
инструментария. -
Сохранение созданного документа в
различных формах (Excel, web-страница,
шаблон, текстовый файл и др.). -
Ввод и обработка табличных данных с
использованием встроенных механизмов
формул, функций, макросов и т.д. -
Анализ и управление данными (автоматический
расчет итоговых и промежуточных данных,
структуризация и консолидация данных,
использование сводных таблиц и отчетов
и др.). -
Вставка в документ различных объектов
(рисунок, функция, примечание и др.). -
Форматирование документа и его составных
элементов, автоматическая проверка
орфографии, оперативное устранение
допущенных некорректностей с
использованием механизма автозамены. -
Импорт необходимых данных из различных
источников (включая базы данных OLAP) и
их последующая обработка. Поддержка
XML-формата. -
Управление параметрами представления
табличного документа на экране, а также
настройка пользовательского интерфейса. -
Доступ к данным совместно с другими
программами (например, Word, PowerPoint, Access). -
Формирование разнообразных отчетов
(аналитических, сводных, графических
и др.). -
Выполнение стандартных функций Microsoft
Office (поиск данных и их замена, печать
документа и т.д.). -
Создание приложений с применением
языка программирования VBA. -
Создание рисунков с использованием
специально предназначенной панели
инструментов. -
Защита табличного документа от
неквалифицированного и несанкционированного
доступа [7].
Специфика использования редактора
электронных таблиц Excel во многом
определяется потребностями конкретного
пользователя, поэтому перечень задач
может изменяться в зависимости от
ситуации.
Файл, созданный средствами MS Excel, принято
называть рабочей книгой [1].
Рабочих книг создать можно столько,
сколько позволит наличие свободной
памяти на соответствующем устройстве
памяти. Открыть рабочих книг можно
столько, сколько их создано. Однако
активной рабочей книгой может быть
только одна текущая (открытая) книга.
Рабочая книга представляет собой набор
рабочих листов, каждый из которых
имеет табличную структуру. В окне
документа отображается только текущий
(активный) рабочий лист, с которым и
ведётся работа.Ярлычок
активного листа выделяется цветом, а
надпись на нем – полужирным начертанием.Каждый рабочий лист имеет название,
которое отображается на ярлычке листа
в нижней части окна. С помощью ярлычков
можно переключаться к другим рабочим
листам, входящим в ту же рабочую книгу.
В каждом файле Excel
может размещаться 1
книга, а в книге – от 1 до 255 рабочих
листов (электронных таблиц). По умолчанию
в каждой книге содержится 3 рабочих
листа. Рабочий лист имеет табличную
структуру и может состоять из любого
числа страниц.
Рабочий лист (таблица) состоит из строк
и столбцов. Столбцы озаглавлены прописными
латинскими буквами и, далее, двухбуквенными
комбинациями. Всего рабочий лист содержит
256 столбцов, поименованных от A до IV.
Строки последовательно нумеруются
числами от 1 до 65536.
Заголовок столбца служит
не только для обозначения столбца, но
и для выделения всего столбца и изменения
его ширины.
Заголовок строки выполняет
аналогичные функции для строк.
Элементы рабочего листа
изображены на рисунке 1, где:
-
Поле названия главного
окна. -
Строка меню.
-
Кнопки управления
-
Панели инструментов.
-
Поле имени.
-
Строка формулы.
-
Строка состояния
-
Поле названия окна рабочей
книги (дочернее окно Excel). -
Активный лист рабочей
книги. -
Кнопка выделения всего
листа. -
Активная (текущая) ячейка.
-
Имя столбца.
-
Имя строки.
Рисунок 1 – Элементы рабочего листа
В окне Excel, как и в других программах
Windows, под заголовком окна находится
строка меню. Она содержит главное меню
Excel. Посредством команд из этого меню
можно выполнить все возможные действия
над рабочими книгами и данными в таблицах.
Строка состояния – полоса внизу экрана,
на которой выводится информация о
выбранной команде или выполняемой
операции. Выделенная команда коротко
описывается в левой части строки
состояния. Здесь также указывается
информация о выполняемой операции,
такой, как открытие или сохранение
файла, копирование ячеек или запись
макроса. Правая часть строки состояния
показывает, включены ли ключи, такие,
как CAPS LOCK, SCROLL LOCK или NUM LOCK.
Типовые технологические операции с
рабочими книгами и листами:
Название операции |
Технология |
Создать новую книгу |
|
Открыть книгу |
|
Закрыть рабочую |
|
Сохранить новую |
|
Сохранить книгу, |
Выполнить команду |
Скрыть рабочую |
|
Показать скрытую |
|
Поиск файлов |
|
Выделить рабочий |
|
Вызов контекстного |
|
Выделить несколько |
|
Выделить несколько |
|
Снять выделение |
|
Вставить рабочий |
|
Переименовать |
Альтернатива: Вызвать контекстное |
Удалить рабочий |
Альтернатива: Вызвать контекстное |
Скрыть рабочие |
|
Показать скрытый |
|
Переместить или |
1. 2. 3. В
4. Выбрать переключатель |
На пересечении столбцов и строк образуются
ячейкитаблицы. Они являются
минимальными элементами, предназначенными
для хранения данных. В текущий момент
времени активной может быть только одна
ячейка, которая активизируется щелчком
мышки по ней и выделяется рамкой. Эта
рамка в Excel играет роль курсора. Операции
ввода и редактирования данных всегда
производятся только в активной ячейке.
Формат и размеры ячеек –
ширину столбцов и высоту строк – можно
изменять с помощью команд меню (иногда
кнопок на панели инструментов), а также
вручную – с помощью мыши или клавиш
[6].
Структура ячейки Excel
изображена на рисунке 2:
Рисунок
2 – Уровни ячейки
1-й уровень
содержит видимое на экране изображение
(т. е. отформатированный текст) или
результат вычисления формулы.
2-й уровень
содержит форматы ячейки (формат чисел,
шрифты, выключатель (включатель) признак
показывать или нет ячейку, вид рамки,
защита ячейки).
3-й уровень
содержит формулу, которая может состоять
из текста, числа или встроенных функций.
4-й уровень
содержит имя ячейки, это имя может
использоваться в формулах других ячеек,
при этом обеспечивается абсолютная
адресация данной ячейки.
5-й уровень
содержит примечания данной ячейки
(произвольный текст). Если ячейка содержит
примечание, то в правом верхнем углу
появляется красный квадратик (точка).
Каждая ячейка имеет свой адрес. Адрес
ячейки состоит из имени столбца и номера
строки, на пересечении которых расположена
ячейка, например, A1, B5, DE324.
Ссылка — способ
(формат) указания адреса (имени) ячейки.
Адрес и содержимое текущей
ячейки выводятся в строке формул
электронной таблицы.
Адреса ячеек (ссылки)
могут быть относительными
или абсолютными.
Ячейки могут иметь
собственные имена.
Ссылки на ячейку (адреса
ячеек) используются в формулах и функциях
в качестве аргументов. При выполнении
вычислений на место ссылки вставляется
значение, находящееся в ячейке, на
которую указывает ссылка.
Каждая команда электронной
таблицы требует указания адреса ячейки
или блока (диапазона) ячеек, в отношении
которых она должна быть выполнена.
Блок (диапазон) ячеек –
группа последовательных
ячеек. Блок ячеек может состоять из
одной ячейки, строки (или ее части),
столбца (или его части), а также
последовательности строк или столбцов
(или их частей) (см. рис. 3).
Блок используемых ячеек
может быть указан или выделен двумя
путями:
-
непосредственным набором
с клавиатуры начального
и конечного адресов ячеек, формирующих
диапазон; -
выделением блока
с помощью мыши или клавиш управления
курсором.
Отменить выделение ячейки
или блока можно щелчком мыши по любой
другой ячейке или нажатием любой клавиши
управления курсором. Для отмены
одновременного выделения нескольких
рабочих листов следует использовать
команду контекстного меню Разгруппировать
листы.
Рисунок 3 – Блок ячеек
Типичными установками,
принимаемыми по умолчанию на уровне
всех ячеек таблицы, являются:
-
ширина ячейки — около 8
разрядов, высота —
около 12 пунктов; -
левое выравнивание
для символьных данных;
-
основной формат для цифровых
данных с выравниванием вправо.
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
На чтение 16 мин. Просмотров 14.8k.
Malcolm Gladwell
Мечтатель начинает с чистого листа бумаги и переосмысливает мир
Эта статья содержит полное руководство по использованию Excel
VBA Worksheet в Excel VBA. Если вы хотите узнать, как что-то сделать быстро, ознакомьтесь с кратким руководством к рабочему листу VBA ниже.
Если вы новичок в VBA, то эта статья — отличное место для начала. Мне нравится разбивать вещи на простые термины и объяснять их на простом языке.
Вы можете прочитать статью от начала до конца, так как она написана в логическом порядке. Или, если предпочитаете, вы можете использовать оглавление ниже и перейти непосредственно к теме по вашему выбору.
Содержание
- Краткое руководство к рабочему листу VBA
- Вступление
- Доступ к рабочему листу
- Использование индекса для доступа к рабочему листу
- Использование кодового имени рабочего листа
- Активный лист
- Объявление объекта листа
- Доступ к рабочему листу в двух словах
- Добавить рабочий лист
- Удалить рабочий лист
- Цикл по рабочим листам
- Использование коллекции листов
- Заключение
Краткое руководство к рабочему листу VBA
В следующей таблице приведен краткий обзор различных методов
Worksheet .
Примечание. Я использую Worksheet в таблице ниже, не указывая рабочую книгу, т.е. Worksheets, а не ThisWorkbook.Worksheets, wk.Worksheets и т.д. Это сделано для того, чтобы примеры были понятными и удобными для чтения. Вы должны всегда указывать рабочую книгу при использовании Worksheets . В противном случае активная рабочая книга будет использоваться по умолчанию.
Задача | Исполнение |
Доступ к рабочему листу по имени |
Worksheets(«Лист1») |
Доступ к рабочему листу по позиции слева |
Worksheets(2) Worksheets(4) |
Получите доступ к самому левому рабочему листу |
Worksheets(1) |
Получите доступ к самому правому листу |
Worksheets(Worksheets.Count) |
Доступ с использованием кодового имени листа (только текущая книга) |
Смотри раздел статьи Использование кодового имени |
Доступ по кодовому имени рабочего листа (другая рабочая книга) |
Смотри раздел статьи Использование кодового имени |
Доступ к активному листу | ActiveSheet |
Объявить переменную листа | Dim sh As Worksheet |
Назначить переменную листа | Set sh = Worksheets(«Лист1») |
Добавить лист | Worksheets.Add |
Добавить рабочий лист и назначить переменную |
Worksheets.Add Before:= Worksheets(1) |
Добавить лист в первую позицию (слева) |
Set sh =Worksheets.Add |
Добавить лист в последнюю позицию (справа) |
Worksheets.Add after:=Worksheets(Worksheets.Count) |
Добавить несколько листов | Worksheets.Add Count:=3 |
Активировать рабочий лист | sh.Activate |
Копировать лист | sh.Copy |
Копировать после листа | sh1.Copy After:=Sh2 |
Скопировать перед листом | sh1.Copy Before:=Sh2 |
Удалить рабочий лист | sh.Delete |
Удалить рабочий лист без предупреждения |
Application.DisplayAlerts = False sh.Delete Application.DisplayAlerts = True |
Изменить имя листа | sh.Name = «Data» |
Показать/скрыть лист | sh.Visible = xlSheetHidden sh.Visible = xlSheetVisible sh.Name = «Data» |
Перебрать все листы (For) | Dim i As Long For i = 1 To Worksheets.Count Debug.Print Worksheets(i).Name Next i |
Перебрать все листы (For Each) | Dim sh As Worksheet For Each sh In Worksheets Debug.Print sh.Name Next |
Вступление
Три наиболее важных элемента VBA — это Рабочая книга, Рабочий лист и Ячейки. Из всего кода, который вы пишете, 90% будут включать один или все из них.
Наиболее распространенное использование Worksheet в VBA для доступа к его ячейкам. Вы можете использовать его для защиты, скрытия, добавления, перемещения или копирования листа.
Тем не менее, вы будете в основном использовать его для выполнения некоторых действий с одной или несколькими ячейками на листе.
Использование Worksheets более простое, чем использование рабочих книг. С книгами вам может потребоваться открыть их, найти, в какой папке они находятся, проверить, используются ли они, и так далее. С рабочим листом он либо существует в рабочей книге, либо его нет.
Доступ к рабочему листу
В VBA каждая рабочая книга имеет коллекцию рабочих листов. В этой коллекции есть запись для каждого рабочего листа. Эта коллекция называется просто Worksheets и используется очень похоже на коллекцию Workbooks. Чтобы получить доступ к рабочему листу, достаточно указать имя.
Приведенный ниже код записывает «Привет Мир» в ячейках A1 на листах: Лист1, Лист2 и Лист3 текущей рабочей книги.
Sub ZapisVYacheiku1() ' Запись в ячейку А1 в листе 1, листе 2 и листе 3 ThisWorkbook.Worksheets("Лист1").Range("A1") = "Привет Мир" ThisWorkbook.Worksheets("Лист2").Range("A1") = "Привет Мир" ThisWorkbook.Worksheets("Лист3").Range("A1") = "Привет Мир" End Sub
Коллекция Worksheets всегда принадлежит книге. Если мы не
указываем рабочую книгу, то активная рабочая книга используется по умолчанию.
Sub ZapisVYacheiku1() ' Worksheets относятся к рабочим листам в активной рабочей книге. Worksheets("Лист1").Range("A1") = "Привет Мир" Worksheets("Лист2").Range("A1") = "Привет Мир" Worksheets("Лист3").Range("A1") = "Привет Мир" End Sub
Скрыть рабочий лист
В следующих примерах показано, как скрыть и показать лист.
ThisWorkbook.Worksheets("Лист1").Visible = xlSheetHidden ThisWorkbook.Worksheets("Лист1").Visible = xlSheetVisible
Если вы хотите запретить пользователю доступ к рабочему
листу, вы можете сделать его «очень скрытым». Это означает, что это может быть
сделано видимым только кодом.
' Скрыть от доступа пользователя ThisWorkbook.Worksheets("Лист1").Visible = xlVeryHidden ' Это единственный способ сделать лист xlVeryHidden видимым ThisWorkbook.Worksheets("Лист1").Visible = xlSheetVisible
Защитить рабочий лист
Другой пример использования Worksheet — когда вы хотите защитить его.
ThisWorkbook.Worksheets("Лист1").Protect Password:="Мойпароль" ThisWorkbook.Worksheets("Лист1").Unprotect Password:="Мойпароль"
Индекс вне диапазона
При использовании Worksheets вы можете получить сообщение об
ошибке:
Run-time Error 9 Subscript out of Range
Это означает, что вы пытались получить доступ к рабочему листу, который не существует. Это может произойти по следующим причинам:
- Имя Worksheet , присвоенное рабочим листам, написано неправильно.
- Название листа изменилось.
- Рабочий лист был удален.
- Индекс был большим, например Вы использовали рабочие листы (5), но есть только четыре рабочих листа
- Используется неправильная рабочая книга, например Workbooks(«book1.xlsx»).Worksheets(«Лист1») вместо
Workbooks(«book3.xlsx»).Worksheets («Лист1»).
Если у вас остались проблемы, используйте один из циклов из раздела «Циклы по рабочим листам», чтобы напечатать имена всех рабочих листов коллекции.
Использование индекса для доступа к рабочему листу
До сих пор мы использовали имя листа для доступа к листу.
Указатель относится к положению вкладки листа в рабочей книге. Поскольку
положение может быть легко изменено пользователем, не рекомендуется
использовать это.
В следующем коде показаны примеры использования индекса.
' Использование этого кода является плохой идеей, так как ' позиции листа все время меняются Sub IspIndList() With ThisWorkbook ' Самый левый лист Debug.Print .Worksheets(1).Name ' Третий лист слева Debug.Print .Worksheets(3).Name ' Самый правый лист Debug.Print .Worksheets(.Worksheets.Count).Name End With End Sub
В приведенном выше примере я использовал Debug.Print для печати в Immediate Window. Для просмотра этого окна выберите «Вид» -> «Immediate Window » (Ctrl + G).
Использование кодового имени рабочего листа
Лучший способ получить доступ к рабочему листу —
использовать кодовое имя. Каждый лист имеет имя листа и кодовое имя. Имя листа
— это имя, которое отображается на вкладке листа в Excel.
Изменение имени листа не приводит к изменению кодового имени, что означает, что ссылка на лист по кодовому имени — отличная идея.
Если вы посмотрите в окне свойств VBE, вы увидите оба имени.
На рисунке вы можете видеть, что кодовое имя — это имя вне скобок, а имя листа
— в скобках.
Вы можете изменить как имя листа, так и кодовое имя в окне
свойств листа (см. Изображение ниже).
Если ваш код ссылается на кодовое имя, то пользователь может
изменить имя листа, и это не повлияет на ваш код. В приведенном ниже примере мы
ссылаемся на рабочий лист напрямую, используя кодовое имя.
Sub IspKodImya2() ' Используя кодовое имя листа Debug.Print CodeName.Name CodeName.Range("A1") = 45 CodeName.Visible = True End Sub
Это делает код легким для чтения и безопасным от изменения
пользователем имени листа.
Кодовое имя в других книгах
Есть один недостаток использования кодового имени. Он относится только к рабочим листам в рабочей книге, которая содержит код, т.е. ThisWorkbook.
Однако мы можем использовать простую функцию, чтобы найти
кодовое имя листа в другой книге.
Sub ИспЛист() Dim sh As Worksheet ' Получить рабочий лист под кодовым именем Set sh = SheetFromCodeName("CodeName", ThisWorkbook) ' Используйте рабочий лист Debug.Print sh.Name End Sub ' Эта функция получает объект листа из кодового имени Public Function SheetFromCodeName(Name As String, bk As Workbook) As Worksheet Dim sh As Worksheet For Each sh In bk.Worksheets If sh.CodeName = Name Then Set SheetFromCodeName = sh Exit For End If Next sh End Function
Использование приведенного выше кода означает, что если
пользователь изменит имя рабочего листа, то на ваш код это не повлияет.
Существует другой способ получения имени листа внешней
рабочей книги с использованием кодового имени. Вы можете использовать элемент
VBProject этой Рабочей книги.
Вы можете увидеть, как это сделать, в примере ниже. Я включил это, как дополнительную информацию, я бы рекомендовал использовать метод из предыдущего примера, а не этот.
Public Function SheetFromCodeName2(codeName As String _ , bk As Workbook) As Worksheet ' Получить имя листа из CodeName, используя VBProject Dim sheetName As String sheetName = bk.VBProject.VBComponents(codeName).Properties("Name") ' Используйте имя листа, чтобы получить объект листа Set SheetFromCodeName2 = bk.Worksheets(sheetName) End Function
Резюме кодового имени
Ниже приведено краткое описание использования кодового имени:
- Кодовое имя рабочего листа может быть
использовано непосредственно в коде, например. Sheet1.Range - Кодовое имя будет по-прежнему работать, если имя
рабочего листа будет изменено. - Кодовое имя может использоваться только для
листов в той же книге, что и код. - Везде, где вы видите ThisWorkbook.Worksheets
(«имя листа»), вы можете заменить его кодовым именем рабочего листа. - Вы можете использовать функцию SheetFromCodeName
сверху, чтобы получить кодовое имя рабочих листов в других рабочих книгах.
Активный лист
Объект ActiveSheet ссылается на рабочий лист, который в данный момент активен. Вы должны использовать ActiveSheet только в том случае, если у вас есть особая необходимость ссылаться на активный лист.
В противном случае вы должны указать рабочий лист, который
вы используете.
Если вы используете метод листа, такой как Range, и не
упоминаете лист, он по умолчанию будет использовать активный лист.
' Написать в ячейку A1 в активном листе ActiveSheet.Range("A1") = 99 ' Активный лист используется по умолчанию, если лист не используется Range("A1") = 99
Объявление объекта листа
Объявление объекта листа полезно для того, чтобы сделать ваш
код более понятным и легким для чтения.
В следующем примере показан код для обновления диапазонов
ячеек. Первый Sub не объявляет объект листа. Вторая подпрограмма объявляет
объект листа, и поэтому код намного понятнее.
Sub NeObyavObektList() Debug.Print ThisWorkbook.Worksheets("Лист1").Name ThisWorkbook.Worksheets("Лист1").Range("A1") = 6 ThisWorkbook.Worksheets("Лист1").Range("B2:B9").Font.Italic = True ThisWorkbook.Worksheets("Лист1").Range("B2:B9").Interior.Color = rgbRed End Sub
Sub ObyavObektList() Dim sht As Worksheet Set sht = ThisWorkbook.Worksheets("Лист1") sht.Range("A1") = 6 sht.Range("B2:B9").Font.Italic = True sht.Range("B2:B9").Interior.Color = rgbRed End Sub
Вы также можете использовать ключевое слово With с объектом
листа, как показано в следующем примере.
Sub ObyavObektListWith() Dim sht As Worksheet Set sht = ThisWorkbook.Worksheets("Лист1") With sht .Range("A1") = 6 .Range("B2:B9").Font.Italic = True .Range("B2:B9").Interior.Color = rgbRed End With End Sub
Доступ к рабочему листу в двух словах
Из-за множества различных способов доступа к рабочему листу вы можете быть сбитыми с толку. Так что в этом разделе я собираюсь разбить его на простые термины.
- Если вы хотите использовать тот лист, который активен в данный момент, используйте ActiveSheet.
ActiveSheet.Range("A1") = 55
2. Если лист находится в той же книге, что и код, используйте кодовое имя.
3. Если рабочая таблица находится в другой рабочей книге, сначала получите рабочую книгу, а затем получите рабочую таблицу.
' Получить рабочую книгу Dim wk As Workbook Set wk = Workbooks.Open("C:ДокументыСчета.xlsx", ReadOnly:=True) ' Затем получите лист Dim sh As Worksheet Set sh = wk.Worksheets("Лист1")
Если вы хотите защитить пользователя от изменения имени листа, используйте функцию SheetFromCodeName из раздела «Имя кода».
' Получить рабочую книгу Dim wk As Workbook Set wk = Workbooks.Open("C:ДокументыСчета.xlsx", ReadOnly:=True) ' Затем получите лист Dim sh As Worksheet Set sh = SheetFromCodeName("sheetcodename",wk)
Добавить рабочий лист
Примеры в этом разделе показывают, как добавить новую
рабочую таблицу в рабочую книгу. Если вы не предоставите никаких аргументов для
функции Add, то новый
рабочий лист будет помещен перед активным рабочим листом.
Когда вы добавляете рабочий лист, он создается с именем по умолчанию, например «Лист4». Если вы хотите изменить имя, вы можете легко сделать это, используя свойство Name.
В следующем примере добавляется новый рабочий лист и изменяется имя на «Счета». Если лист с именем «Счета» уже существует, вы получите сообщение об ошибке.
Sub DobavitList() Dim sht As Worksheet ' Добавляет новый лист перед активным листом Set sht = ThisWorkbook.Worksheets.Add ' Установите название листа sht.Name = "Счета" ' Добавляет 3 новых листа перед активным листом ThisWorkbook.Worksheets.Add Count:=3 End Sub
В предыдущем примере вы добавляете листы по отношению к
активному листу. Вы также можете указать точную позицию для размещения листа.
Для этого вам нужно указать, какой лист новый лист должен
быть вставлен до или после. Следующий код показывает вам, как это сделать.
Sub DobavitListPervPosl() Dim shtNew As Worksheet Dim shtFirst As Worksheet, shtLast As Worksheet With ThisWorkbook Set shtFirst = .Worksheets(1) Set shtLast = .Worksheets(.Worksheets.Count) ' Добавляет новый лист на первую позицию в книге Set shtNew = Worksheets.Add(Before:=shtFirst) shtNew.Name = "FirstSheet" ' Добавляет новый лист к последней позиции в книге Set shtNew = Worksheets.Add(After:=shtLast) shtNew.Name = "LastSheet" End With End Sub
Удалить рабочий лист
Чтобы удалить лист, просто вызовите Delete.
Dim sh As Worksheet Set sh = ThisWorkbook.Worksheets("Лист12") sh.Delete
Excel отобразит предупреждающее сообщение при удалении листа. Если вы хотите скрыть это сообщение, вы можете использовать код ниже:
Application.DisplayAlerts = False sh.Delete Application.DisplayAlerts = True
Есть два аспекта, которые нужно учитывать при удалении таблиц.
Если вы попытаетесь получить доступ к рабочему листу после
его удаления, вы получите ошибку «Subscript out of Range», которую мы видели в
разделе «Доступ к рабочему листу».
Dim sh As Worksheet Set sh = ThisWorkbook.Worksheets("Лист2") sh.Delete ' Эта строка выдаст «Subscript out of Range», так как «Лист2» не существует Set sh = ThisWorkbook.Worksheets("Лист2")
Вторая проблема — когда вы назначаете переменную листа. Если вы попытаетесь использовать эту переменную после удаления листа, вы получите ошибку автоматизации, подобную этой:
Run-Time error -21147221080 (800401a8′) Automation Error
Если вы используете кодовое имя рабочего листа, а не
переменную, это приведет к сбою Excel,
а не к ошибке автоматизации.
В следующем примере показано, как происходят ошибки автоматизации.
sh.Delete ' Эта строка выдаст ошибку автоматизации Debug.Assert sh.Name
Если вы назначите переменную Worksheet действительному рабочему листу, он будет работать нормально.
sh.Delete ' Назначить sh на другой лист Set sh = Worksheets("Лист3") ' Эта строка будет работать нормально Debug.Assert sh.Name
Цикл по рабочим листам
Элемент «Worksheets» — это набор рабочих листов, принадлежащих рабочей книге. Вы можете просмотреть каждый лист в коллекции рабочих листов, используя циклы «For Each» или «For».
В следующем примере используется цикл For Each.
Sub CiklForEach() ' Записывает «Привет Мир» в ячейку A1 для каждого листа Dim sht As Worksheet For Each sht In ThisWorkbook.Worksheets sht.Range("A1") = "Привет Мир" Next sht End Sub
В следующем примере используется стандартный цикл For.
Sub CiklFor() ' Записывает «Привет Мир» в ячейку A1 для каждого листа Dim i As Long For i = 1 To ThisWorkbook.Worksheets.Count ThisWorkbook.Worksheets(i).Range("A1") = "Привет Мир" Next sht End Sub
Вы видели, как получить доступ ко всем открытым рабочим книгам и как получить доступ ко всем рабочим листам в ThisWorkbook. Давайте сделаем еще один шаг вперед — узнаем, как получить доступ ко всем рабочим листам во всех открытых рабочих книгах.
Примечание. Если вы используете код, подобный этому, для записи на листы, то сначала сделайте резервную копию всего, так как в итоге вы можете записать неверные данные на все листы.
Sub NazvVsehStr() ' Печатает рабочую книгу и названия листов для ' всех листов в открытых рабочих книгах Dim wrk As Workbook Dim sht As Worksheet For Each wrk In Workbooks For Each sht In wrk.Worksheets Debug.Print wrk.Name + ":" + sht.Name Next sht Next wrk End Sub
Использование коллекции листов
Рабочая книга имеет еще одну коллекцию, похожую на Worksheets под названием Sheets. Это иногда путает пользователей. Чтобы понять, в первую очередь, вам нужно знать о типе листа, который является диаграммой.
В Excel есть возможность создать лист, который является диаграммой. Для этого нужно:
- Создать диаграмму на любом листе.
- Щелкнуть правой кнопкой мыши на графике и выбрать «Переместить».
- Выбрать первый вариант «Новый лист» и нажмите «ОК».
Теперь у вас есть рабочая книга, в которой есть типовые листы и лист-диаграмма.
- Коллекция «Worksheets » относится ко всем рабочим листам в рабочей книге. Не включает в себя листы типа диаграммы.
- Коллекция Sheets относится ко всем листам, принадлежащим книге, включая листы типовой диаграммы.
Ниже приведены два примера кода. Первый проходит через все
листы в рабочей книге и печатает название листа и тип листа. Второй пример
делает то же самое с коллекцией Worksheets.
Чтобы опробовать эти примеры, вы должны сначала добавить лист-диаграмму в свою книгу, чтобы увидеть разницу.
Sub KollSheets() Dim sht As Variant ' Показать название и тип каждого листа For Each sht In ThisWorkbook.Sheets Debug.Print sht.Name & " is type " & TypeName(sht) Next sht End Sub Sub KollWorkSheets() Dim sht As Variant ' Показать название и тип каждого листа For Each sht In ThisWorkbook.Worksheets Debug.Print sht.Name & " is type " & TypeName(sht) Next sht End Sub
Если у вас нет листов диаграмм, то использование коллекции Sheets — то же самое, что использование коллекции WorkSheets.
Заключение
На этом мы завершаем статью о Worksheet VBA. Я надеюсь, что было полезным.
Три наиболее важных элемента Excel VBA — это рабочие книги, рабочие таблицы, диапазоны и ячейки.
Эти элементы будут использоваться практически во всем, что вы делаете. Понимание их сделает вашу жизнь намного проще и сделает изучение VBA увлекательнее.
Excel для Microsoft 365 Excel для Microsoft 365 для Mac Excel для Интернета Excel 2021 Excel 2021 для Mac Excel 2019 Excel 2019 для Mac Excel 2016 Excel 2016 для Mac Excel 2013 Еще…Меньше
В этой статье описаны синтаксис формулы и использование функции ЛИСТ в Microsoft Excel.
Описание
Возвращает номер листа, на который имеется ссылка.
Синтаксис
ЛИСТ(значение)
Аргументы функции ЛИСТ описаны ниже.
-
Значение. Необязательный аргумент. Значение — это название листа или ссылка, для которой необходимо установить номер листа. Если опустить значение, функция ЛИСТ вернет номер листа, который содержит функцию.
Замечания
-
Функция ЛИСТ включает в себя все листы (видимые, скрытые или очень скрытые), кроме всех остальных типов листов (макросов, диаграмм или диалогов).
-
Если аргумент «значение» не является допустимым значением, то лист возвращает значение #REF! (значение ошибки). Например, =ЛИСТ(Лист1!#REF) возвращает #REF! (значение ошибки).
-
Если аргумент значения является названием недействительного листа, функция ЛИСТ вернет значение ошибки #НД. Например, =ЛИСТ(«badЛИСТName») вернет значение ошибки #НД.
-
Функция ЛИСТ недоступна в объектной модели (OM), поскольку там уже содержится похожая функция.
Пример
Скопируйте образец данных из следующей таблицы и вставьте их в ячейку A1 нового листа Excel. Чтобы отобразить результаты формул, выделите их и нажмите клавишу F2, а затем — клавишу Enter. При необходимости измените ширину столбцов, чтобы видеть все данные.
Формула |
Описание |
Результат |
=ЛИСТ(КоличествоПродажПоРегионам) |
Возвращает номер листа «КоличествоПродажПоРегионам» (Лист2) с диапазоном, который делает его доступным для всей книги. |
2 |
=ЛИСТ(Таблица1) |
Возвращает номер листа с таблицей «Таблица 1» (Лист2) и диапазоном, который делает его доступным для всей книги. |
2 |
=ЛИСТ(Hi_Temps) |
Возвращает #NAME? из-за того, что Hi_Temps имя ограничено листом, содержаменем Листа 2. |
#ИМЯ? |
=ЛИСТ(«Материалы») |
Возвращает номер листа «Материалы». |
3 |
К началу страницы
Нужна дополнительная помощь?
Содержание
- Типы листов в рабочей книге Excel
- ЛИСТ (функция ЛИСТ)
- Описание
- Синтаксис
- Замечания
- Пример
- Типы листов в рабочей книге Excel
- Рабочая книга и листы в MS Excel
- Операции с рабочими листами
- Режим скрытия формул
- Групповое редактирование и форматирование
- Создание колонтитулов
Типы листов в рабочей книге Excel
Типы листов в рабочей книге Excel предлагает пользователю возможность включать в рабочую книгу листы любого из пяти доступных типов:
Рабочий (табличный) лист используется для ввода (хранения) данных и выполнения вычислений.
Лист диаграмм предназначен для представления данных табличного листа в графическом виде. Диаграмма, однако, может быть также внедрена в табличный лист.
Лист диалогового окна предназначен для создания пользователем собственных диалоговых окон.
Дополнительно в распоряжении пользователя имеются листы двух типов, используемых при программировании на макроязыке Excel 4.0. Эти типы листов обеспечивают совместимость с предыдущими версиями Excel.
Переход к нужному рабочему листу
Ярлычки рабочих листов обеспечивают удобное и быстрое перемещение между отдельными листами рабочей книги. Если необходимо обработать за один раз несколько листов рабочей книги, то нужные листы предварительно выделите.
Перемещение между листами рабочей книги
1. Выбор рабочего листа в качестве активного (активизация).
— В строке ярлычков щелкните на ярлычке с именем нужного листа. Если ярлычок нужного листа не представлен в строке ярлычков, используйте для его отображения на экране кнопки перехода между листами рабочей книги.
— Или из контекстного меню одной из кнопок перехода между листами рабочей книги выберите имя нужного листа.
— Нажав сочетание клавиш [Ctrl] + [Page Up] или [Ctrl] + [Page Down], можно быстро перейти к предыдущему или следующему листу рабочей книги.
— Имя активного листа рабочей книги представлено в полужирном начертании на белом фоне.
2. Отображение на экране ярлычков других листов.
— Чтобы представить на экране ярлычки других листов рабочей книги, используйте кнопки перехода между листами рабочей книги.
— Кнопки перехода между листами рабочей книги предназначены только для представления ярлычков других листов в строке ярлычков. Активный лист при нажатии любой из кнопок перехода между листами рабочей книги изменен не будет.
3. Изменение размера видимой части строки ярлычков.
— С помощью кнопки разделения, расположенной слева от горизонтальной полосы прокрутки, можно изменить размер видимой части строки ярлычков и соответственно размер горизонтальной полосы прокрутки.
— Поместите указатель мыши на кнопке разделения, расположенной между ярлычками листов и горизонтальной полосой прокрутки. Курсор мыши примет форму вертикальной линии с двумя стрелками.
— Перетащите кнопку разделения в нужном направлении.
— Чтобы вернуть предыдущий размер видимой части строки ярлычков, щелкните на кнопке разделения дважды. Путем изменения используемых программой по умолчанию параметров на вкладке “Вид” диалогового окна “Параметры” можно задать подавление отображения ярлычков листов.
Выделение рабочего листа
Вы можете выделить один или несколько листов рабочей книги.
1. Выделение отдельного листа.
Рабочий лист будет выделен, если определить его в качестве активного,
2. Выделение нескольких смежных рабочих листов.
Щелкните на ярлычке первого выделяемого рабочего листа и нажмите клавишу [Shift]. Удерживайте клавишу [Shift] нажатой щелкните на ярлычке последнего выделяемого листа.
3. Выделение нескольких несмежных рабочих листов.
Чтобы выделить несколько несмежных рабочих листов, щелкните на ярлычке первого рабочего листа, нажмите клавишу [Ctrl] и, удерживая ее нажатой, щелкайте на ярлычках других выделяемых рабочих листов.
4. Выделение всех рабочих листов.
Чтобы выделить все листы рабочей книги, выберите из контекстного меню любого ярлычка листа команду “Выделить все листы”.
5. Снятие выделения.
Для снятия выделения нескольких рабочих листов щелкните на ярлычке любого рабочего листа, не входящего в выделение. Этот рабочий лист станет активным рабочим листом, и выделение группы листов будет снято.
Или выполните команду “Разгруппировать листы” из контекстного меню ярлычка листа, включенного в группу выделенных листав. Этот способ снятия выделения удобен, например, если выделены все листы рабочей книги.
При выделении нескольких рабочих листов в области заголовка будет отображено обозначение “Группа”. Имена всех выделенных рабочие листов будут представлены черным шрифтом на белом фоне.
Управление рабочими листами
Вы можете добавить в рабочую книгу дополнительные листы, переименовать или удалить имеющиеся.
Источник
ЛИСТ (функция ЛИСТ)
В этой статье описаны синтаксис формулы и использование функции ЛИСТ в Microsoft Excel.
Описание
Возвращает номер листа, на который имеется ссылка.
Синтаксис
Аргументы функции ЛИСТ описаны ниже.
Значение. Необязательный аргумент. Значение — это название листа или ссылка, для которой необходимо установить номер листа. Если опустить значение, функция ЛИСТ вернет номер листа, который содержит функцию.
Замечания
Функция ЛИСТ включает в себя все листы (видимые, скрытые или очень скрытые), кроме всех остальных типов листов (макросов, диаграмм или диалогов).
Если аргумент «значение» не является допустимым значением, то лист возвращает значение #REF! (значение ошибки). Например, =ЛИСТ(Лист1!#REF) возвращает #REF! (значение ошибки).
Если аргумент значения является названием недействительного листа, функция ЛИСТ вернет значение ошибки #НД. Например, =ЛИСТ(«badЛИСТName») вернет значение ошибки #НД.
Функция ЛИСТ недоступна в объектной модели (OM), поскольку там уже содержится похожая функция.
Пример
Скопируйте образец данных из следующей таблицы и вставьте их в ячейку A1 нового листа Excel. Чтобы отобразить результаты формул, выделите их и нажмите клавишу F2, а затем — клавишу Enter. При необходимости измените ширину столбцов, чтобы видеть все данные.
Возвращает номер листа «КоличествоПродажПоРегионам» (Лист2) с диапазоном, который делает его доступным для всей книги.
Возвращает номер листа с таблицей «Таблица 1» (Лист2) и диапазоном, который делает его доступным для всей книги.
Возвращает #NAME? из-за того, что Hi_Temps имя ограничено листом, содержаменем Листа 2.
Источник
Типы листов в рабочей книге Excel
Типы листов в рабочей книге Excel предлагает пользователю возможность включать в рабочую книгу листы любого из пяти доступных типов:
Рабочий (табличный) лист используется для ввода (хранения) данных и выполнения вычислений.
Лист диаграмм предназначен для представления данных табличного листа в графическом виде. Диаграмма, однако, может быть также внедрена в табличный лист.
Лист диалогового окна предназначен для создания пользователем собственных диалоговых окон.
Дополнительно в распоряжении пользователя имеются листы двух типов, используемых при программировании на макроязыке Excel 4.0. Эти типы листов обеспечивают совместимость с предыдущими версиями Excel.
Переход к нужному рабочему листу
Ярлычки рабочих листов обеспечивают удобное и быстрое перемещение между отдельными листами рабочей книги. Если необходимо обработать за один раз несколько листов рабочей книги, то нужные листы предварительно выделите.
Перемещение между листами рабочей книги
1. Выбор рабочего листа в качестве активного (активизация).
— В строке ярлычков щелкните на ярлычке с именем нужного листа. Если ярлычок нужного листа не представлен в строке ярлычков, используйте для его отображения на экране кнопки перехода между листами рабочей книги.
— Или из контекстного меню одной из кнопок перехода между листами рабочей книги выберите имя нужного листа.
— Нажав сочетание клавиш [Ctrl] + [Page Up] или [Ctrl] + [Page Down], можно быстро перейти к предыдущему или следующему листу рабочей книги.
— Имя активного листа рабочей книги представлено в полужирном начертании на белом фоне.
2. Отображение на экране ярлычков других листов.
— Чтобы представить на экране ярлычки других листов рабочей книги, используйте кнопки перехода между листами рабочей книги.
— Кнопки перехода между листами рабочей книги предназначены только для представления ярлычков других листов в строке ярлычков. Активный лист при нажатии любой из кнопок перехода между листами рабочей книги изменен не будет.
3. Изменение размера видимой части строки ярлычков.
— С помощью кнопки разделения, расположенной слева от горизонтальной полосы прокрутки, можно изменить размер видимой части строки ярлычков и соответственно размер горизонтальной полосы прокрутки.
— Поместите указатель мыши на кнопке разделения, расположенной между ярлычками листов и горизонтальной полосой прокрутки. Курсор мыши примет форму вертикальной линии с двумя стрелками.
— Перетащите кнопку разделения в нужном направлении.
— Чтобы вернуть предыдущий размер видимой части строки ярлычков, щелкните на кнопке разделения дважды. Путем изменения используемых программой по умолчанию параметров на вкладке “Вид” диалогового окна “Параметры” можно задать подавление отображения ярлычков листов.
Выделение рабочего листа
Вы можете выделить один или несколько листов рабочей книги.
1. Выделение отдельного листа.
Рабочий лист будет выделен, если определить его в качестве активного,
2. Выделение нескольких смежных рабочих листов.
Щелкните на ярлычке первого выделяемого рабочего листа и нажмите клавишу [Shift]. Удерживайте клавишу [Shift] нажатой щелкните на ярлычке последнего выделяемого листа.
3. Выделение нескольких несмежных рабочих листов.
Чтобы выделить несколько несмежных рабочих листов, щелкните на ярлычке первого рабочего листа, нажмите клавишу [Ctrl] и, удерживая ее нажатой, щелкайте на ярлычках других выделяемых рабочих листов.
4. Выделение всех рабочих листов.
Чтобы выделить все листы рабочей книги, выберите из контекстного меню любого ярлычка листа команду “Выделить все листы”.
5. Снятие выделения.
Для снятия выделения нескольких рабочих листов щелкните на ярлычке любого рабочего листа, не входящего в выделение. Этот рабочий лист станет активным рабочим листом, и выделение группы листов будет снято.
Или выполните команду “Разгруппировать листы” из контекстного меню ярлычка листа, включенного в группу выделенных листав. Этот способ снятия выделения удобен, например, если выделены все листы рабочей книги.
При выделении нескольких рабочих листов в области заголовка будет отображено обозначение “Группа”. Имена всех выделенных рабочие листов будут представлены черным шрифтом на белом фоне.
Управление рабочими листами
Вы можете добавить в рабочую книгу дополнительные листы, переименовать или удалить имеющиеся.
Дата добавления: 2019-01-14 ; просмотров: 1090 ; Мы поможем в написании вашей работы!
Источник
Рабочая книга и листы в MS Excel
Анастасия Николаевна Королева
Эксперт по предмету «Информатика»
С нами работают 108 689 преподавателей из 185 областей знаний. Мы публикуем только качественные материалы
Рабочая книга располагается в рабочей области окна табличного процессора.
Рабочая книга – это файл, который предназначен для хранения электронной таблицы и имеет расширение .xlsx. Рабочая книга состоит из рабочих листов, которых по умолчанию в новой рабочей книге 3.
Рабочий лист является основным элементом рабочей книги и предназначен для ввода, редактирования, хранения данных, выполнения вычислений. Основной структурной единицей рабочего листа является ячейка.
Рабочие листы могут быть двух типов:
- рабочий лист с данными электронной таблицы (по умолчанию имеют имена Лист1–Лист3);
- лист диаграммы с графическим представлением данных электронной таблицы (по умолчанию называются Диаграмма1, Диаграмма2 и т.д.).
Рабочий лист разбит на строки (нумеруются арабскими цифрами) и столбцы (именуются латинскими буквами). Максимально допустимое число листов в одной книге – 255.
Количество листов в рабочей книге можно изменить в меню Параметры кнопки Office на вкладке Основные в группе При создании новых книг.
Ярлыки всех рабочих листов в книге отображается в нижнем левом углу окна над строкой состояния.
Операции с рабочими листами
Для добавления нового рабочего лист можно воспользоваться контекстным меню ярлыка любого рабочего листа, в котором нужно выбрать пункт Вставить.
Рисунок 1. Контекстное меню ярлыка рабочего листа
С помощью контекстного меню можно также переименовать, переместить или скопировать рабочий лист, изменить цвет ярлычка листа, скрыть лист, выделить все листы и удалить лист.
При удалении листа рабочей книги стоит обратить внимание, что в случае, если на листе содержатся какие-либо данные, программа выдаст дополнительный запрос подтверждения его удаления.
Программа не позволит удалить все листы рабочей книги (должен остаться хотя бы один). Выделение листов происходит аналогично выделению любых объектов электронной таблицы. Для выделения:
- одного листа нужно щелкнуть по ярлыку листа;
- нескольких смежных листов – щелкнуть по ярлыку первого листа и, при нажатой клавише Shift, щелкнуть по ярлыку последнего листа;
- нескольких несмежных листов – щелкнуть по ярлыку первого листа и, при нажатой клавише Ctrl, отмечать мышкой ярлыки нужных листов.
Можно защитить лист от несанкционированного доступа или изменения. Для этого в диалоговом окне Защита листа нужно выбрать нужный вариант защиты, который применяется только к текущему листу.
Рисунок 2. Диалоговое окно Защита листа
Перед защитой листа нужно выделить ячейки, которые необходимо оставить незаблокированными.
Режим скрытия формул
На рабочем листе можно включить режим скрытия формул в ячейках. При использовании такого режима при выделении ячеек в строке формул не будут отображаться формулы, которые в них содержатся. Для включения режима скрытия формул нужно:
- Выделить ячейки, формулы в которых нужно скрыть.
- Из контекстного меню открыть вкладку Защита диалогового окна Формат Ячеек и установить флажок Скрыть формулы.
Групповое редактирование и форматирование
Для одновременного выполнения редактирования или форматирования нескольких рабочих листов их нужно сгруппировать. Для группировки листов их нужно выделить, после чего все действия, которые будут выполняться на одном листе, автоматически будут применяться к аналогичным ячейкам остальных листов, которые включены в группу. Отмена группировки выполняется с помощью команды Разгруппировать листы.
Создание колонтитулов
Колонтитулы – области, которые расположены в верхнем и нижнем полях каждой из страниц документа. Колонтитулы можно создать в режиме просмотра Разметка страницы.
Колонтитул состоит их трех полей: левого, центрального и правого, которые заполняются и оформляются независимо друг от друга. Поля колонтитула можно увидеть при наведении стрелки мыши.
Для добавления колонтитула нужно щелкнуть в левом, центральном или правом поле верхнего или нижнего колонтитула, после чего автоматически откроется дополнительная вкладка Конструктор инструмента Работа с колонтитулами.
Рисунок 3. Дополнительная вкладка Конструктор для работы с колонтитулами
В колонтитулы можно добавлять текст прямо с клавиатуры.
С помощью кнопок группы Элементы колонтитулов в поля колонтитула можно вставить информацию, которая автоматически обновляется:
- номер страницы;
- число страниц – вставляет общее количество страниц для печати;
- текущая дата – вставляет автоматически обновляющуюся дату при печати;
- текущее время;
- путь к файлу – отображает весь путь (диск, папки) к файлу, причем описание автоматически изменится, если файл будет перемещен в другую папку или переименован;
- имя файла – отображает имя файла и автоматически изменяет его при переименовании;
- имя листа.
При вставке сама информация не отображается, а отображается символ & (амперсант) с названием типа информации в квадратных скобках (например, &[Файл]).
С помощью кнопки Рисунок можно вставлять в колонтитулы рисунки из графических файлов.
Для изменения некоторых параметров шрифта колонтитула нужно:
- Выделить текст всего поля колонтитула или нужной части.
- Установить параметры шрифта с помощью элементов группы Шрифт на вкладке Главная или всплывающей мини-панели инструментов.
Можно установить особый колонтитул для первой страницы (в таком случае на первой странице он не будет отображаться) и разные колонтитулы для четных и нечетных страниц. Для этого нужно установить соответствующие флажки в группе Параметры.
Выйти из режима редактирования колонтитулов можно щелкнув на любой ячейке листа или нажав Esc.
Источник
План урока:
Понятие и назначение электронных таблиц
Рабочий лист и книга, ячейка и ее адрес, диапазон ячеек
Интерфейс MS Excel: строка заголовка, строка меню, панель инструментов
Типы данных в Excel
Виды ссылок: абсолютные и относительные
Встроенные функции и их использование
Диаграмма. Виды и порядок построения диаграммы
Понятие и назначение электронных таблиц
Электронной таблицей (табличным процессором) называют программное обеспечение, основными задачами которого являются создание, изменение, сохранение и визуализация данных, представленных в табличной форме.
Современные электронные таблицы выпускаются и поддерживаются разными коммерческими производителями, а также открытыми сообществами разработчиков, но основные функциональные возможности этих продуктов, представленные на первом рисунке, схожи.
Рисунок 1 – Основные функции электронных таблиц
Как правило, электронные таблицы предназначены для решения следующих задач:
— хранение разнородных данных в электронном виде в табличной форме;
— организация вычислений, выполняемых в автоматическом режиме;
— статистический анализ данных и поиск управленческих решений;
— построение графиков и диаграмм для наглядного представления данных;
— создание отчетов в форматах, удобных для последующей печати или распространения в сети.
Рабочий лист и книга, ячейка и ее адрес, диапазон ячеек
Электронные таблицы представляют собой строгую иерархическую конструкцию из книг, содержащих листы, каждый из которых разделен на пронумерованные строки и столбцы, по аналогии с архивными записями или бухгалтерскими книгами прошлого века, для замены которых была придумана этап программа. Далее работу с электронными таблицами мы будем рассматривать на примере Microsoft Excel.
Книгой в среде Excel называют файл, содержащий один или несколько листов с данными, часто объединенных по какому-то признаку, например, расписания занятий на каждый день недели.
Рабочий лист электронной таблицы – это базовый элемент Excel, представляющий собой отдельную таблицу, имеющую свое имя (заголовок), и свою внутреннюю адресацию. Именно на листах хранятся и редактируются данные, задаются формулы для расчетов и выводятся графики.
Адресация рабочего листа Excel задается в двумерной системе координат, где первой координатой является столбец листа, а второй – строка.
Ячейка Excel – это хранилище одного элемента данных таблицы, доступ к которому осуществляется по адресу ячейки – номерам столбца и строки, на пересечении которых находится ячейка. Например, ячейка, расположенная в столбце «B» строки «6», будет иметь адрес «B6».
Диапазоном ячеек называют прямоугольную область, охватывающую стразу несколько строк и/или столбцов. Такие области имеют составную адресацию. Например, диапазон, охватывающий столбцы от «A» до «E» и строки от «4» до «9» включительно, будет иметь адрес «A4:E9».
Интерфейс MS Excel: строка заголовка, строка меню, панель инструментов
Интерфейс электронной таблицы Excel видоизменяется с каждым выпуском, следуя общему стилю и функциональности всего пакета MS Office. Тем не менее некоторые ключевые элементы, такие как строка заголовка, меню и панель инструментов присутствуют в каждой версии.
Строка заголовка, помимо стандартных кнопок сворачивания/разворачивания/закрытия, присущих большинству программных окон, содержит название текущей открытой книги, что позволяет идентифицировать ее среди множества других открытых книг.
Рисунок 2 – Строка заголовка Excel
Под строкой заголовка располагается меню, в состав которого в стандартном режиме работы входят следующие разделы:
— «Файл»;
— «Главная»;
— «Вставка»;
— «Разметка страницы»;
— «Формулы»;
— «Данные»;
— «Рецензирование»;
— «Вид»;
— «Разработчик»;
— «Справка».
Рисунок 3 – Строка меню
При выполнении определенных задач состав меню может динамически видоизменяться, дополняясь новыми пунктами. Например, при редактировании диаграмм добавляются «Конструктор диаграмм» и «Формат».
Рисунок 4 – Динамически добавляемые пункты меню
На панели инструментов Excel, находящейся непосредственно под строкой меню, размещаются элементы управления, относящиеся к данному разделу. Пример содержимого панели приведен на рисунке.
Рисунок 5 – Фрагмент панели инструментов для пункта меню «Главная»
Типы данных в Excel
Мы уже выяснили, что в таблицах можно хранить разнородные данные, но, чтобы Excel мог их правильно отображать, сортировать и корректно обрабатывать в функциях, каждому элементу данных должен быть сопоставлен его тип.
Тип данных – это формальное соглашение о том, какой объем памяти будет занимать элемент данных, как он будет храниться, обрабатываться в формулах и преобразовываться в другие типы.
Основные типы данных Excel:
— число;
— текст;
— дата и время;
— логическое значение;
— формула.
В большинстве случаев тип данных определяется автоматически, но бывают ситуации, когда Excel «не понимает» что имел в виду пользователь, тогда формат данных (включающий тип и способ его представления) указывают вручную. Это можно сделать как для отдельных ячеек, так и для целых столбцов, строк или диапазонов. Функция выбора формата доступна из контекстного меню.
Рисунок 6 – Команда контекстного меню для выбора формата данных
В появившемся окне «Формат ячеек», в первой его вкладке «Число», можно указать формат данных.
Рисунок 7 – Окно «формат ячеек»
Не все форматы отвечают за разные типы данных. Например, форматы «Числовой», «Денежный» и «Финансовый» – это просто разные представления числового типа, определяющие количество знаков после запятой, правила вывода отрицательных чисел, разделители разрядов и пр.
Виды ссылок: абсолютные и относительные
Поскольку каждая ячейка, строка, столбец или диапазон имеют свой адрес, при составлении формул и выражений мы можем ссылаться на эти элементы.
Ссылка в Excel – это адрес элемента или группы элементов данных, заданный в абсолютном или относительном виде.
Относительная ссылка – это простой адрес вида «столбец, строка», используемый в качестве аргумента в формуле. Относительной она называется потому, что Excel запоминает расположение адресуемой ячейки относительно ячейки с формулой, и при изменении положения формулы на листе будет меняться и ссылка.
Примеры относительных ссылок: «B3», «F2», «AP34».
Абсолютная ссылка – это адрес вида «$столбец, $строка», ссылающийся на ячейку, позиция которой остается неизменной при перемещении ячейки с формулой. Допускается отдельно «фиксировать» столбец или строку, указывая перед ними знак «$».
Примеры абсолютных ссылок:
— на ячейку E32: «$E$32»;
— на столбец F: «$F2»;
— на строку 4: «A$4».
Порядок создания формулы в Excel
Рассмотрим шаги создания формулы на примере произведения чисел.
При правильном выполнении всех шагов, в ячейке C1 отобразится произведение чисел из ячеек A1 и B1. Более того, это произведение будет автоматически изменяться при изменении множителей.
Ошибки при вводе формул
При вводе новой формулы в ячейку, перед ее выполнением Excel осуществляет синтаксический анализ выражения и контроль входящих в него ссылок. Несоответствия приводят к выводу ошибки, которую необходимо устранить, прежде чем формула будет вычисляться.
Самые распространенные ошибки при вводе формул:
«#ДЕЛ/0!» – произошло деление на ноль или на пустую ячейку;
«#Н/Д» – один из аргументов функции в данный момент недоступен;
«#ИМЯ?» – некорректно задано название функции или аргумента;
«#ПУСТО!» – указанный диапазон не содержит ячеек;
«#ЧИСЛО!» – ячейка содержит значение, которое нельзя преобразовать в число;
«#ССЫЛКА!» – ссылка некорректна;
«#ЗНАЧ!» – один или несколько аргументов функции принимают недопустимые значения.
Встроенные функции и их использование
Программный пакет Excel не был бы таким эффективным и удобным инструментом, если бы не огромное количество встроенных функций, позволяющих пользователям, не являющимся ни программистами, ни математиками, решать задачи анализа данных разной степени сложности, приложив минимум усилий.
В списке встроенных представлены математические, логические, статистические и финансовые функции, операции обработки текста, дат и времени, процедуры взаимодействия с базами данных.
Для использования встроенных функций откройте раздел меню «Формулы». На панели инструментов появятся кнопка «Вставить функцию», а также библиотека функций с удобными рубрикаторами по типам решаемых задач.
Рисунок 13 – Библиотека функций на панели инструментов
Рассмотрим использование встроенных функций на конкретном примере.
Пример вычисления математической функции
Допустим, перед нами стоит задача определения среднего балла ученика по имеющемуся списку оценок.
Шаг 1. На пустом листе в столбце B создайте список дисциплин, а в столбце C – соответствующих им оценок. Под списком дисциплин разместите ячейку с текстом «Средний балл».
Шаг 2. Поместите курсор в ячейку столбца C, расположенную напротив ячейки с текстом «Средний балл». В меню выберите пункт «Формулы» и нажмите на панели инструментов кнопку «Вставить функцию».
Шаг 3. Из списка функций выберите «СРЗНАЧ» — вычисление среднего значения, и нажмите кнопку «ОК». Появится окно заполнения аргументов функции, в которое Excel уже автоматически вписал столбец оценок.
Шаг 4. Если автоматически выбранный диапазон вас не устраивает, его можно скорректировать вручную. В нашем случае в диапазон попала ячейка с адресом C9, в которой никаких оценок нет. Ограничьте диапазон строками с третьей по восьмую, просто выделив его мышью.
Шаг 5. Подтвердите выбор, нажав кнопку «ОК». В ячейке C10 при этом появится среднее значение.
Шаг 6. Выводимое значение получилось не очень красивым, ограничим его одним знаком после запятой. Для этого щелкните правой кнопкой мыши по ячейке и в контекстном меню выберите «Формат ячеек…»
Шаг 7. В появившемся окне выберите формат «Числовой», число десятичных знаков – 1.
Теперь расчет и отображение среднего балла работают как нам нужно.
Диаграмма. Виды и порядок построения диаграммы
Диаграмма в excel – это форма наглядного графического представления набора данных.
Доступ к панели инструментов «Диаграммы» осуществляется через меню «Вставка».
В Excel имеется множество шаблонов диаграмм, объединенных в группы, самые популярные среди которых:
— гистограммы;
— точечные диаграммы;
— графики;
— круговые диаграммы.
Рассмотрим пошаговый порядок построения диаграммы успеваемости по четвертям учебного года. В качестве наиболее подходящего вида диаграммы определим столбчатую (гистограмму).
Шаг 1. Дополните таблицу из предыдущего примера тремя столбцами оценок, сформировав тем самым аттестацию за четыре четверти. Над оценками проставьте номера соответствующих четвертей.
Шаг 2. Выделите на листе область, охватывающую все введенные данные и подписи.
Шаг 3. В меню «Вставка» — «Диаграммы» выберите первый элемент – «Гистограмма».
Шаг 4. Проверьте корректность создания диаграммы, при необходимости отмените шаги 2,3 и выделите диапазон заново.
Шаг 5. Измените название диаграммы. Щелкнув по нему мышью, введите «Успеваемость по четвертям».
Шаг 6. Слева на оси оценок мы видим значения 0 и 6. Таких оценок не бывает, поэтому исправим формат вывода. Наведите курсор мыши на ось оценок, нажмите правую кнопку и выберите «Формат оси…».
Шаг 7. В открывшемся окне параметров введите минимум – 1, максимум – 5, основные и промежуточные деления – 1.
Шаг 8. Добавьте к диаграмме таблицу оценок, нажав кнопку «+» в правом верхнем углу диаграммы и выбрав «Таблица данных».
Если вы все сделали правильно, то диаграмма будет выглядеть как на рисунке.
Поздравляем! Вы научились основам ввода, обработки и визуализации данных в программе Microsoft Excel.
По окончании урока вы сможете:
- Настраивать шрифт книги по умолчанию
- Переименовывать рабочие листы
- Перемещаться по рабочей книге 3-мя способами
- Выделять рабочие листы и вносить одновременно информацию на несколько листов
- Вставлять и удалять рабочие листы
- Перемещать и копировать рабочие листы
В Excel файлы называются рабочими книгами. Рабочие книги могут содержать несколько рабочих листов и листы диаграмм. При сохранении файла сохраняется вся рабочая книга.
1. Настройка шрифта в рабочей книге
По умолчанию рабочим шрифтом в книге Excel принят шрифт Calibri размер 11 пт. Но в большинстве организаций рабочий шрифт Times New Roman. Можно, конечно, выделить весь лист и задать нужный вам шрифт
Шаг 1. Выделяем всю таблицу (щелкаем курсором выделения ячеек по пересечению строки имен столбцов и строки имен строк):
Шаг 2. Назначаем шрифт для работы в книге (лента Главная → группа команд Шрифты → кнопка выпадающего меню с названием шрифта → название нужного шрифта):
Но… Каждый раз при создании новой книги вы должны будете делать эту операцию.
Давайте назначим нужный нам шрифт по умолчанию. Открываем новую книгу (запускаем программу Excel) и переходим на ленту «Файл»:
- Открываем окно «Параметры Excel командой «Параметры»
- Вкладка «Общие» и раздел «При открытии новой книги»
- Кнопка выпадающего меню «Шрифт текста»
- Выбираем нужный шрифт
- ОК и появляется сообщение:
Говорим ОК. Теперь при создании новой книги шрифт по умолчанию будет Times New Roman.
Скачайте файл тут и откройте его. Впрочем можете воспользоваться собственным файлом.
2. Ярлычки рабочего листа
В рабочей книге, как правило, содержится несколько рабочих листов. Чтобы не запутаться в листах, рекомендую давать им имена.
Шаг 1. Щелкаем ПМ по имени ярлыка и выбираем команду «Переименовать»:
Но можно обойтись двойным щелчком мышкой ЛМ на ярлычке листа.
В результате, будет выделено Имя ярлычка.
Шаг 2. Вводим новое имя с клавиатуры и нажимаем Enter
Когда листов много (а у меня бывает до 23 листов и больше), то очень удобно ключевые листы выделить цветом ярлычка.
Шаг 3. Щелкаем ПМ по имени ярлыка и выбираем команду «Цвет ярлычка»:
Не пренебрегайте этими возможностями Excel. Если листов в книге больше 4-х, то вероятность запутаться возрастает в геометрической прогрессии.
3. Перемещение по рабочей книге
Бывают ситуации, когда в вашей книге Excel много листов, между которыми нужно постоянно переключаться.
Способ 1.
Переход по листам рабочей книги с помощью ярлычков.
- Кнопки перехода на один лист
- Кнопка перехода на первый лист
- Ярлычки с именами
- Кнопка перехода на последний лист
- Кнопка добавления нового листа
- Движок уменьшения или увеличения размера полосы прокрутки
Способ 2.
Переход по листам рабочей книги с помощью клавиатуры.
Ctrl + Page Down | Перейти на следующий лист |
Ctrl + Page Up | Перейти на предыдущий лист |
Способ 3.
Переход по листам рабочей книги с помощью контекстного содержания.
- Щелкаем ПМ мыши по стрелкам перехода по листам
- Выбираем нужный лист в контекстном содержании «Переход к листу текущей книги»
Поэтому-то так важно давать значимые имена листам, чтобы не запутаться в контекстном содержании.
4. Выделение рабочих листов
Ярлычок рабочего листа, на котором вы работаете, белого цвета, т.е. лист активен и считается выделенным.
Выделение нескольких рабочих листов аналогично выделению группы ячеек.
ЛМ + Shift | Выделение смежных листов |
ЛМ + Ctrl | Выделение несмежных листов |
Если нужно выделить все рабочие листы книги, то щелкаем ПМ мыши на любом ярлычке листа и выбираем команду «Выделить все листы».
Выделив несколько рабочих листов, можно вводить одни и те же данные одновременно в каждый из них.
Шаг 1. Выделяем два листа «Зарплата за апрель» и Зарплата за май»:
Шаг 2. В строке «2» неважно какого листа вводим последовательно в ячейках: «ФИО», «Оклад», «Коэффициент», «К выплате»
Шаг 3. Убеждаемся, что на другом листе в соответствующих ячейках появился соответствующий текст:
5. Вставка и удаление рабочих листов
Шаг 1. Щелкаем по имени рабочего листа ПМ и выбираем команду Удалить (Delete).
Шаг 2. Появиться сообщение, что данная операция отменена быть не может. Если мы уверены, что хотим удалить лист, нажимаем ОК, в противном случае – Отмена:
6. Перемещение и копирование рабочих листов
Внутри рабочей книги можно перемещать и копировать рабочие листы. Это позволит систематизировать информацию в файле, располагать ее в логическом порядке.
Шаг 1. Щелкаем ЛМ на имени листа, который требуется переместить, и перетащите указатель листа в нужное место. При перемещении стрелка указывает то место, в котором будет находиться лист, если отпустить кнопку мыши.
Копируем рабочий лист аналогично операции перемещения, только при этом нужно держать нажатой клавишу Ctrl и отпустить ее в последнюю очередь.
На иконке листа около курсора появился значок «+» – это сигнал операции «Копирование». Обратите внимание на имя скопированного листа.
Понять и запомнить! | Имя рабочего листа на ярлычке уникально! |
Если у нас много рабочих листов, то эта операция уже будет проблемой. Поэтому воспользуемся контекстным меню.
Шаг 2. Щелкаем ЛМ по имени рабочего листа и выбираем команду «Переместить или скопировать»:
Шаг 3. Выбираем место куда хотим переместить лист и нажимаем ОК.
Если мы хотим создать копию, отмечаем галочкой «Создать копию».
Переместить или скопировать выбранный рабочий лист можно не только внутри открытой книги, но и в новую книгу или открытую книгу.
Шаг 4. Выбираем в выпадающем меню, куда хотим отправить выбранный рабочий лист. При этом решаем важную задачу: скопировать или переместить? Если скопировать, то отмечаем галочкой режим «Создать копию»:
Копировать или перемещать можно не только единичный рабочий лист, но и несколько выбранных листов, как смежных, так и несмежных.
Теперь вы сможете:
- Настраивать шрифт книги
- Переименовывать рабочие листы
- Перемещаться по рабочей книге 3-мя способами
- Выделять рабочие листы и вносить одновременно информацию на несколько листов
- Вставлять и удалять рабочие листы
- Перемещать и копировать рабочие листы
A spreadsheet is a grid-based file that organizes data and performs calculations using scalable entries. These are used all over the world to create tables for personal and business purposes. It contains rows and columns of cells and can be used to organize, calculate, and sort data. Spreadsheet data can include text, formulas, references, and functions, as well as numeric values.
A spreadsheet has evolved over the years from a simple grid to a powerful tool that functions as a database or app, performing numerous calculations on one sheet. Using a spreadsheet, you can figure out your mortgage payments over time or determine how depreciation affects your business’s taxes. You can also merge data between several sheets and then visualize it in color-coded tables for better understanding. It can be intimidating for new users to use a spreadsheet program because of all the new features.
A worksheet is a collection of cells(It is a basic data unit in the worksheet), where you can store and manipulate data. By default, every workbook contains at least one worksheet in it. It is easier to organize and locate information in your workbook by using multiple worksheets when working with many data. Adding information to multiple worksheets simultaneously is also easily accomplished by grouping worksheets. In Excel, worksheets can easily be added, renamed, and deleted. Spreadsheet applications like Microsoft Excel are fantastic for maintaining long data lists, budgets, sales figures, etc. A worksheet contains 1048576 rows, 16384 columns, and 17,179,869,184 cells per worksheet.
When the Excel program is opened for the first time, the user sees three blank worksheets in the workbook. The screenshot below shows the first worksheet with three tabs at the bottom left corner named Sheet1, Sheet2, and Sheet3. If a workbook contains many worksheets, arrows will also make it easier to view the worksheet tabs.
It is not necessary to delete the two unused worksheets if you’re only using one worksheet – most people don’t bother. Newer versions of Excel save workbooks as xlsx files. Older versions xls extension.
Can we have more than one Excel worksheet in one workbook? According to Microsoft, it’s limited by the number of memory slots on your computer. This is useful if you’re linking data from one worksheet to another, and especially if you’re grouping worksheets that are extremely closely related. However, using the worksheet tabs back and forth can become confusing.
Characteristics of a good worksheet
- An appealing worksheet should have specific titles that indicate what it is about as well as pictures or other clipart to draw some attention.
- It is important that the paper and the writing are in good contrast so that eye strain is minimized.
- Users should be able to do the worksheet independently by following the directions with examples.
- Despite the fact that the worksheet needs to illuminate a pattern in problem solving or usage, it shouldn’t grind an idea into dust.
- Once the worksheet has been completed, the user should be able to explain how it was formed or what it was meant to teach: the answer to this question should be linked to the worksheet’s title.
View a Worksheet
To view a worksheet, click on a worksheet’s tab to view it. Worksheet names and/or many worksheet tabs may not allow the workbook window to display all tabs, so use the arrows on the left of each tab to navigate left or right, or right-click on any arrow and select the worksheet to show from the list.
Click on worksheet to view a worksheet
Rename a Worksheet
To rename a worksheet, follow the following steps:
Step 1: Right-click on the current tab you will get a list.
Step 2: Now in this list select Rename option and then typing a new name.
You can also rename the worksheet by double-clicking on the tab.
Insert a Worksheet
One of the fastest ways to insert a worksheet in a workbook is to click on the small tab to the right of the last worksheet tab. The worksheet can then be moved to a different position if necessary.
Alternative Method to insert a Worksheet
As an alternative, you can add a new worksheet left of an existing worksheet by using the following steps:
Step 1: Right-click on the tab of the existing worksheet that is just to the right of where you want the new worksheet to be placed. Whenever a spreadsheet is inserted into a worksheet, Excel inserts it to the left.
Step 2: A dialogue box open, here select worksheet.
Step 3: Press OK and your new worksheet is add on the left of the current worksheet.
So this is how you can insert new worksheet.
Delete a Worksheet
To delete a worksheet, follow the following steps:
Step 1: Right-click on the current tab(or the tab that your want to delete) you will get a list.
Step 2: Now in this list select the Delete option and your list will be deleted.
So this is how you can delete worksheets.
Example
Now, let’s take a working example. Here, I am creating a lesson plan for c++ subject:
Now if I want to teach more than 1 subject then I need to include or insert one more worksheet and for inserting a new worksheet click on the small tab to the right of the last worksheet tab.
Now, if we want to rename that file then we can rename the spreadsheet tab by right-clicking it, selecting Rename option from the context menu, and then typing a new name. Here, I rename that sheet1 with 16MCS22CLAB.
Now, if I want to view the 16MCS22C2 worksheet then click on a worksheet’s tab to view it.
Now, after some time I don’t need the 16MCS22CLAB file. So, to delete that file and for deleting a file, select the Delete option from the context menu by right-clicking the worksheet tab.