Содержание
- Объект Worksheet (Excel)
- Замечания
- Пример
- События
- Методы
- Свойства
- См. также
- Поддержка и обратная связь
- Worksheets
- Select a Worksheet
- Insert a Worksheet
- Rename a Worksheet
- Move a Worksheet
- Delete a Worksheet
- Copy a Worksheet
- SHEETS function
- Worksheets and Workbooks in Excel
- Worksheet Details
- Worksheet Names
- Workbook Details
- Insert or delete a worksheet
- Insert a worksheet
- Rename a worksheet
- Move a worksheet
- Delete a worksheet
- What do you want to do?
- Insert multiple worksheets at the same time
- Change the default number of worksheets in a new workbook
- Insert a new sheet that is based on a custom template
- Rename a worksheet
- Delete one or more worksheets
- Need more help?
Объект Worksheet (Excel)
Замечания
Объект Worksheet является членом коллекции Worksheets . Коллекция Worksheets содержит все объекты Worksheet в книге.
Объект Worksheet также является членом коллекции Sheets . Коллекция Листов содержит все листы книги (как листы диаграмм, так и листы).
Пример
Используйте worksheets (index), где index — это номер или имя индекса листа, чтобы вернуть один объект Worksheet . В следующем примере лист скрыт в активной книге.
Номер индекса листа обозначает положение листа на панели вкладок книги. Worksheets(1) — это первый (самый левый) лист в книге, а Worksheets(Worksheets.Count) — последний. Все листы включаются в число индексов, даже если они скрыты.
Имя листа отображается на вкладке листа. Используйте свойство Name , чтобы задать или вернуть имя листа. В следующем примере выполняется защита сценариев на Листе 1.
Если лист является активным листом, можно использовать свойство ActiveSheet , чтобы ссылаться на него. В следующем примере используется метод Activate для активации Sheet1, задает ориентацию страницы в альбомный режим, а затем выводит лист.
В этом примере событие BeforeDoubleClick используется для открытия указанного набора файлов в Блокноте. Чтобы использовать этот пример, лист должен содержать следующие данные:
- Ячейка A1 должна содержать имена файлов для открытия, разделенные запятой и пробелом.
- Ячейка D1 должна содержать путь к расположению файлов Блокнота.
- Ячейка D2 должна содержать путь к расположению программы Блокнота.
- Ячейка D3 должна содержать расширение файла без точки для файлов Блокнота (txt).
При двойном щелчке ячейки A1 файлы, указанные в ячейке A1, открываются в Блокноте.
События
Методы
Свойства
См. также
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.
Источник
Worksheets
A worksheet is a collection of cells where you keep and manipulate the data. Each Excel workbook can contain multiple worksheets.
Select a Worksheet
When you open an Excel workbook, Excel automatically selects Sheet1 for you. The name of the worksheet appears on its sheet tab at the bottom of the document window.
Insert a Worksheet
You can insert as many worksheets as you want. To quickly insert a new sheet, click the plus sign at the bottom of the document window.
Rename a Worksheet
To give a worksheet a more specific name, execute the following steps.
1. Right click on the sheet tab of Sheet1.
2. Choose Rename.
3. For example, type Sales 2016.
Move a Worksheet
To move a worksheet, click on the sheet tab of the worksheet you want to move and drag it into the new position.
1. For example, click on the sheet tab of Sheet2 and drag it before Sales 2016.
Delete a Worksheet
To delete a worksheet, right click on a sheet tab and choose Delete.
1. For example, delete Sheet2.
Copy a Worksheet
Imagine, you have got the sales for 2016 ready and want to create the exact same sheet for 2017, but with different data. You can recreate the worksheet, but this is time-consuming. It’s a lot easier to copy the entire worksheet and only change the numbers.
1. Right click on the sheet tab of Sales 2016.
2. Choose Move or Copy.
The ‘Move or Copy’ dialog box appears.
3. Select (move to end) and check Create a copy.
Note: you can even copy a worksheet to another Excel workbook by selecting the specific workbook from the drop-down list (see the dialog box shown earlier).
SHEETS function
To count the total number of worksheets in a workbook, use the SHEETS function in Excel (without any argument).
Источник
Worksheets and Workbooks in Excel
Learn about worksheets and spreadsheets in Excel and Google Sheets
A worksheet or sheet is a single page in a file created with an electronic spreadsheet program such as Microsoft Excel or Google Sheets. A workbook is the name given to an Excel file and contains one or more worksheets. When you open an electronic spreadsheet program, it loads an empty workbook file consisting of one or more blank worksheets for you to use.
Instructions in this article apply to Excel for Microsoft 365, Excel 2019, 2016, 2013, and 2010; Excel for Mac, Excel Online, and Google Sheets.
Worksheet Details
You use worksheets to store, manipulate, and display data.
The primary storage unit for data in a worksheet is a rectangular-shaped cell arranged in a grid pattern in every sheet. Individual cells of data are identified and organized using the vertical column letters and horizontal row numbers of a worksheet, which create a cell reference, such as A1, D15, or Z467.
Worksheet specifications for current versions of Excel include:
- 1,048,576 rows per worksheet
- 16,384 columns per worksheet
- 17,179,869,184 cells per worksheet
- A limited number of sheets per file based on the amount of memory available on the computer
For Google Sheets:
- 256 columns per sheet
- 400,000 cells for all worksheets in a file
- 200 worksheets per spreadsheet file
Worksheet Names
In both Microsoft Excel and Google Sheets, each worksheet has a name. By default, the worksheets are named Sheet1, Sheet2, Sheet3, and so on, but you can change these names.
Workbook Details
- Add worksheets to a workbook using the context menu or the New Sheet/Add Sheet icon (+) next to the current sheet tabs.
- Delete or hide individual worksheets in a workbook.
- Rename individual worksheets and change worksheet tab colors to make it easier to identify single sheets in a workbook using the context menu.
- Select the sheet tab at the bottom of the screen to change to another worksheet.
In Excel, use the following shortcut key combinations to switch between worksheets:
- Ctrl+PgUp (page up): Move to the right
- Ctrl+PgDn (page down): Move to the left
In Google Sheets, the shortcut key combinations to switch between worksheets are:
- Ctrl+Shift+PgUp: Move to the right
- Ctrl+Shift+PgDn: Move to the left
Get the Latest Tech News Delivered Every Day
Источник
Insert or delete a worksheet
In Excel, you can easily insert, rename, and delete worksheets in your workbook.
Insert a worksheet
Select the New Sheet plus icon at the bottom of the workbook.
Or, select Home > Insert > Insert Sheet.
Rename a worksheet
Double-click the sheet name on the Sheet tab to quickly rename it.
Or, right-click on the Sheet tab, click Rename, and type a new name.
Move a worksheet
To move the tab to the end, right-click the Sheet tab then Move or Copy > (move to end) > OK .
Or, click and drag to tab to any spot.
Delete a worksheet
Right-click the Sheet tab and select Delete.
Or, select the sheet, and then select Home > Delete > Delete Sheet.
Note: Sheet tabs are displayed by default. If you don’t see them, click Options > Advanced > Display options for this workbook > Show Sheet tabs.
To insert a new worksheet, do one of the following:
To quickly insert a new worksheet at the end of the existing worksheets, click the Insert Worksheet tab at the bottom of the screen.
To insert a new worksheet in front of an existing worksheet, select that worksheet and then, on the Home tab, in the Cells group, click Insert, and then click Insert Sheet.
Tip: You can also right-click the tab of an existing worksheet, and then click Insert. On the General tab, click Worksheet, and then click OK.
Note: To change the order of the worksheets in a workbook, click the tab of the worksheet that you want to move, and then drag it to the location that you want.
What do you want to do?
Insert multiple worksheets at the same time
Hold down SHIFT, and then select the same number of existing sheet tabs of the worksheets that you want to insert in the open workbook.
For example, if you want to add three new worksheets, select three sheet tabs of existing worksheets.
On the Home tab, in the Cells group, click Insert, and then click Insert Sheet.
Tip: You can also right-click the selected sheet tabs, and then click Insert. On the General tab, click Worksheet, and then click OK.
To change the order of the worksheets in a workbook, click the tab of the worksheet that you want to move, and then drag it to the location that you want.
Change the default number of worksheets in a new workbook
Click the File tab.
What and where is the Microsoft Backstage Button?
For more information about the Microsoft Backstage Button, see What and where is the Backstage?
Under Excel, click Options.
In the General category, under When creating new workbooks, in the Include this many sheets box, enter the number of sheets that you want to include by default when you create a new workbook.
Click any other tab to return to your file.
Insert a new sheet that is based on a custom template
If needed, create the worksheet template that you want to base a new worksheet on.
How to create a worksheet template
Select the worksheet that you want to use as a template.
Click the File tab.
Under Info, click Save As.
In the File name box, type the name of the worksheet template.
To create a custom worksheet template, type the file name that you want to use.
To create the default worksheet template, type sheet.
Note: Custom templates are automatically saved in the Templates folder. The default worksheet template, sheet.xltx or sheet.xltm, should be saved in the XLStart folder, which is usually C:Program FilesMicrosoft OfficeOffice14XLStart.
Do one of the following:
On a computer that is running Windows Vista, in the list, click Excel Template or Excel Macro-Enabled Template.
On a computer that is running Microsoft Windows XP, in the Save as type box, click Excel Template or Excel Macro-Enabled Template.
Right-click the sheet tab of a worksheet, and then click Insert.
Double-click the template for the type of sheet that you want.
Rename a worksheet
On the Sheet tab bar, right-click the sheet tab that you want to rename, and then click Rename Sheet.
Select the current name, and then type the new name.
Tip: You can include the name of the sheet when you print the worksheet.
How to print sheet names
On the Insert tab, in the Text group, click Header & Footer.
In the Page Layout View, click the location where you want the sheet name to appear.
In the Header & Footer elements group, click Sheet Name .
Delete one or more worksheets
Select the worksheet or worksheets that you want to delete.
Tip: When multiple worksheets are selected, [Group] appears in the title bar at the top of the worksheet. To cancel a selection of multiple worksheets in a workbook, click any unselected worksheet. If no unselected sheet is visible, right-click the tab of a selected sheet, and then click Ungroup Sheets on the shortcut menu.
On the Home tab, in the Cells group, click the arrow next to Delete, and then click Delete Sheet.
Tip: You can also right-click the sheet tab of a worksheet or a sheet tab of any selected worksheets that you want to delete, and then click Delete Sheet.
Need more help?
You can always ask an expert in the Excel Tech Community or get support in the Answers community.
Источник
Select a Worksheet | Insert a Worksheet | Rename a Worksheet | Move a Worksheet | Delete a Worksheet | Copy a Worksheet | SHEETS function
A worksheet is a collection of cells where you keep and manipulate the data. Each Excel workbook can contain multiple worksheets.
Select a Worksheet
When you open an Excel workbook, Excel automatically selects Sheet1 for you. The name of the worksheet appears on its sheet tab at the bottom of the document window.
Insert a Worksheet
You can insert as many worksheets as you want. To quickly insert a new sheet, click the plus sign at the bottom of the document window.
Result:
Rename a Worksheet
To give a worksheet a more specific name, execute the following steps.
1. Right click on the sheet tab of Sheet1.
2. Choose Rename.
3. For example, type Sales 2016.
Move a Worksheet
To move a worksheet, click on the sheet tab of the worksheet you want to move and drag it into the new position.
1. For example, click on the sheet tab of Sheet2 and drag it before Sales 2016.
Result:
Delete a Worksheet
To delete a worksheet, right click on a sheet tab and choose Delete.
1. For example, delete Sheet2.
Result:
Copy a Worksheet
Imagine, you have got the sales for 2016 ready and want to create the exact same sheet for 2017, but with different data. You can recreate the worksheet, but this is time-consuming. It’s a lot easier to copy the entire worksheet and only change the numbers.
1. Right click on the sheet tab of Sales 2016.
2. Choose Move or Copy.
The ‘Move or Copy’ dialog box appears.
3. Select (move to end) and check Create a copy.
4. Click OK.
Result:
Note: you can even copy a worksheet to another Excel workbook by selecting the specific workbook from the drop-down list (see the dialog box shown earlier).
SHEETS function
To count the total number of worksheets in a workbook, use the SHEETS function in Excel (without any argument).
1. For example, select cell A1.
2. Type =SHEETS() and press Enter.
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.
На чтение 16 мин. Просмотров 14.7k.
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 Worksheet (Table of Contents)
- What is Worksheet in Excel?
- How to Create New Worksheets in Excel?
What is Worksheet in Excel?
A worksheet is a compilation of cells where you hold and modify the data. A worksheet is a name given to the large grid where you are actually performing your calculations. Worksheets are where you store your info, and you typically have more than one worksheet in your workbook.
By default, when we open the workbook, we get 3 worksheets named “Sheet 1, Sheet 2, and Sheet 3”.
To go to any of the worksheets, we need to just click on that worksheet by using our left click of the mouse.
As soon as you see the above cursor click your left mouse key, and it will take you to that page, and the view will be of that page only.
If you want to use a shortcut key for quick navigation between worksheets, then use the below shortcut key.
- Ctrl + Page Down: To go to the right side sheets of the active sheet.
- Ctrl + Page Up: To go to the left side sheets of the active sheet.
How to Create New Worksheets in Excel?
If you want to have more worksheets, we can insert new worksheets with just a mouse click. Click on the “PLUS” icon of the sheet tab to add a new worksheet.
As soon as you click on this button, it will insert a new sheet to the right of the active sheet; for example, in the above image active sheet is “Sheet1”, if we click on the insert sheet icon, we will get the new sheet to the right of this sheet.
Once the sheet is inserted, we can also change the position of the worksheet by moving the worksheet to wherever we want to by holding the worksheet with our left click of the mouse. Before the insertion of the new sheet, the active sheet was “Sheet 1”, but as soon as you insert the new sheet, it will take the place of the active sheet.
Change Name of the Worksheets
Also, at the same time, we can change the name of the worksheet to whatever name we wish to give. For example, we need to change the “Sheet2” name to “Sale Data”, so right-click on the sheet and choose the “Rename” option.
Now it will highlight the existing sheet name with edit mode.
Give the name and press Enter key to change the name of the worksheet.
If you are a fan of shortcut keys, use the below shortcut key.
ALT + O + R will take you to the sheet name edit mode straight away.
Change Worksheets Tab Color
We can also change the tab color of worksheets right click on the worksheet name and choose “Tab Color”.
As soon as you move your cursor on the “Tab Color”, it will show you a different gallery, so choose the desired color you wish to apply for the sheet.
So, the selected color will be applied to the sheet.
We cannot see the sheet tab color exactly at this point in time, so select the next sheet to view the tab color of the sheet correctly.
Change the Default Sheet Count
We can also change the default sheet count of getting 3 worksheets from 3 to any other number. Follow the below steps to change settings.
Step 1: Click on the “FILE” tab in the ribbon.
Step 2: Choose OPTIONS in that window.
Step 3: Go to “General” and find “When Creating New Workbooks”.
In this, we can actually change the default font name, size, view and number sheets to be included. The minimum count should be 1, so you can enter any other numbers. Click on “Ok” to close the above settings window, and whenever you open a new worksheet, it will give those many numbers of worksheets as we have provided in the settings.
Things to Remember
- By default, we get 3 worksheets.
- Shift + F11 is the shortcut key to insert a new worksheet.
- ALT + E + L is the shortcut key to delete a worksheet.
Recommended Articles
This is a guide to Worksheets in Excel. Here we discuss How to make Worksheets in Excel along with practical examples and a downloadable excel template. You can also go through our other suggested articles –
- Group Worksheets In Excel
- VBA Worksheets
- Unprotect Excel Workbook
- VBA Save Workbook