Вы можете легко и быстро открыть файл Excel из окна просмотра при работе с книгой вместо того, чтобы свернуть активированную книгу, чтобы выбрать и открыть другую книгу. В этом руководстве будет рассказано о том, как открыть файл Excel с помощью окна просмотра в книге Excel.
Откройте файл Excel с помощью окна просмотра с кодом VBA
Откройте файл Excel с помощью окна просмотра с кодом VBA
Чтобы открыть книгу Excel с помощью окна просмотра, следующий код VBA может помочь вам. Сделайте следующее:
1. Удерживайте ALT + F11 , чтобы открыть Microsoft Visual Basic для приложений окно.
2. Нажмите Вставить > Модули, и вставьте следующий макрос в Модули Окно.
Код VBA: откройте книгу Excel с помощью окна просмотра:
Sub OpenNewBox()
Dim xFilePath As String
Dim xObjFD As FileDialog
Set xObjFD = Application.FileDialog(msoFileDialogFilePicker)
With xObjFD
.AllowMultiSelect = False
.Filters.Add "Excel Files", "*.xls; *.xlsx; *.xlsm; *.xlsb", 1
.Show
If .SelectedItems.Count > 0 Then
xFilePath = .SelectedItems.Item(1)
Else
Exit Sub
End If
End With
Workbooks.Open xFilePath
End Sub
3. После вставки кода выше нажмите F5 ключ для запуска этого кода, и Приложения отобразится окно, затем выберите книгу Excel, которую хотите открыть, и нажмите OK кнопку, см. снимок экрана:
4. И конкретная книга будет открыта немедленно.
Лучшие инструменты для работы в офисе
Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%
- Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
- Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон…
- Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны…
- Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
- Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
- Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии…
- Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
- Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF…
- Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.
Вкладка Office: интерфейс с вкладками в Office и упрощение работы
- Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
- Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
- Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
Комментарии (1)
Оценок пока нет. Оцените первым!
DenRacer 0 / 0 / 0 Регистрация: 20.03.2016 Сообщений: 19 |
||||||
1 |
||||||
Excel 11.06.2020, 14:44. Показов 2729. Ответов 12 Метки lookup, vba, ПРОСМОТР (Все метки)
Добрый день. Есть небольшая база данных с двумя столбцами «a» и «b» Все получается, если применить формулу для получения значения «a» через ‘=ПРОСМОТР(H3;B2:B14;A2:A14)’ и последующего сложения a + 2 При попытке написать макрос, для дальнейшей возможности работы с большим перечнем, столкнулся с такой проблемой — появляется ошибка форматов.
Что можно предпринять, чтобы устранить ее? Спасибо Вложения
0 |
Programming Эксперт 94731 / 64177 / 26122 Регистрация: 12.04.2006 Сообщений: 116,782 |
11.06.2020, 14:44 |
12 |
2632 / 1637 / 745 Регистрация: 23.03.2015 Сообщений: 5,149 |
|
11.06.2020, 15:28 |
2 |
DenRacer,
0 |
0 / 0 / 0 Регистрация: 20.03.2016 Сообщений: 19 |
|
11.06.2020, 16:17 [ТС] |
3 |
Ничего не понятно… Попытаюсь расписать более понятно — есть перечень возможных остановок и соответствующий километраж до них. Пытаюсь создать макрос, который не будет привязываться к ячейкам, а будет работать с переменными, т.е. алгоритм такой На шаге три возникает ошибка 13 Type mismatch.
0 |
Kubuntovod 2670 / 786 / 176 Регистрация: 14.01.2013 Сообщений: 3,676 |
||||
11.06.2020, 16:28 |
4 |
|||
На шаге три возникает ошибка 13 Type mismatch Это значит буквально «несовпадение типов». Т.е., если Вы собираетесь складывать числа, то и аргументы должны быть числами.
А — строка. Всё, что в кавычках, это строки. И вот, Вы пытаетесь сложить строку и число. У VBA кукуху и выносит.
0 |
ᴁ® 3070 / 1736 / 361 Регистрация: 13.12.2016 Сообщений: 5,940 Записей в блоге: 4 |
|
11.06.2020, 16:30 |
5 |
DenRacer,
0 |
0 / 0 / 0 Регистрация: 20.03.2016 Сообщений: 19 |
|
11.06.2020, 16:30 [ТС] |
6 |
А — строка. Всё, что в кавычках, это строки. И вот, Вы пытаетесь сложить строку и число. У VBA кукуху и выносит. А как можно исправить это? Не использовать кавычки и приравнивать переменную к функции?
0 |
ᴁ® 3070 / 1736 / 361 Регистрация: 13.12.2016 Сообщений: 5,940 Записей в блоге: 4 |
|
11.06.2020, 16:30 |
7 |
опс..
0 |
Kubuntovod 2670 / 786 / 176 Регистрация: 14.01.2013 Сообщений: 3,676 |
||||
11.06.2020, 16:36 |
8 |
|||
А как можно исправить это? Не использовать кавычки и приравнивать переменную к функции? Если Вы хотите заюзать функцию листа, то и вызывать её надо соответсвенно
Ткните в «Запись макроса», вставьте формулу. Увидите текст, который можно юзать в VBA. Добавлено через 2 минуты
0 |
Narimanych 2632 / 1637 / 745 Регистрация: 23.03.2015 Сообщений: 5,149 |
||||
11.06.2020, 16:51 |
9 |
|||
DenRacer,
0 |
0 / 0 / 0 Регистрация: 20.03.2016 Сообщений: 19 |
|
11.06.2020, 16:53 [ТС] |
10 |
Спасибо, буду изучать логику
0 |
2632 / 1637 / 745 Регистрация: 23.03.2015 Сообщений: 5,149 |
|
11.06.2020, 16:54 |
11 |
DenRacer,
0 |
0 / 0 / 0 Регистрация: 20.03.2016 Сообщений: 19 |
|
11.06.2020, 19:22 [ТС] |
12 |
файл прикреплен… А если возникает обратная задача, т.е. имеется цена и путем обратного анализа нужно определить остановку — тоже делать через цикл или можно как-то приравнять результат выполнения функции к переменно?
0 |
2632 / 1637 / 745 Регистрация: 23.03.2015 Сообщений: 5,149 |
|
11.06.2020, 19:53 |
13 |
DenRacer,
через цикл
0 |
IT_Exp Эксперт 87844 / 49110 / 22898 Регистрация: 17.06.2006 Сообщений: 92,604 |
11.06.2020, 19:53 |
13 |
The first step to working with VBA in Excel is to get yourself familiarized with the Visual Basic Editor (also called the VBA Editor or VB Editor).
In this tutorial, I will cover all there is to know about the VBA Editor and some useful options that you should know when coding in Excel VBA.
What is Visual Basic Editor in Excel?
Visual Basic Editor is a separate application that is a part of Excel and opens whenever you open an Excel workbook. By default, it’s hidden and to access it, you need to activate it.
VB Editor is the place where you keep the VB code.
There are multiple ways you get the code in the VB Editor:
- When you record a macro, it automatically creates a new module in the VB Editor and inserts the code in that module.
- You can manually type VB code in the VB editor.
- You can copy a code from some other workbook or from the internet and paste it in the VB Editor.
Opening the VB Editor
There are various ways to open the Visual Basic Editor in Excel:
- Using a Keyboard Shortcut (easiest and fastest)
- Using the Developer Tab.
- Using the Worksheet Tabs.
Let’s go through each of these quickly.
Keyboard Shortcut to Open the Visual Basic Editor
The easiest way to open the Visual Basic editor is to use the keyboard shortcut – ALT + F11 (hold the ALT key and press the F11 key).
As soon as you do this, it will open a separate window for the Visual Basic editor.
This shortcut works as a toggle, so when you use it again, it will take you back to the Excel application (without closing the VB Editor).
The shortcut for the Mac version is Opt + F11 or Fn + Opt + F11
Using the Developer Tab
To open the Visual Basic Editor from the ribbon:
- Click the Developer tab (if you don’t see a developer tab, read this on how to get it).
- In the Code group, click on Visual Basic.
Using the Worksheet Tab
This is a less used method to open the Vb Editor.
Go to any of the worksheet tabs, right-click, and select ‘View Code’.
This method wouldn’t just open the VB Editor, it will also take you to the code window for that worksheet object.
This is useful when you want to write code that works only for a specific worksheet. This is usually the case with worksheet events.
Anatomy of the Visual Basic Editor in Excel
When you open the VB Editor for the first time, it may look a bit overwhelming.
There are different options and sections that may seem completely new at first.
Also, it still has an old Excel 97 days look. While Excel has improved tremendously in design and usability over the years, the VB Editor has not seen any change in the way it looks.
In this section, I will take you through the different parts of the Visual Basic Editor application.
Note: When I started using VBA years ago, I was quite overwhelmed with all these new options and windows. But as you get used to working with VBA, you would get comfortable with most of these. And most of the time, you’ll not be required to use all the options, only a hand full.
Below is an image of the different components of the VB Editor. These are then described in detail in the below sections of this tutorial.
Now let’s quickly go through each of these components and understand what it does:
Menu Bar
This is where you have all the options that you can use in the VB Editor. It is similar to the Excel ribbon where you have tabs and options with each tab.
You can explore the available options by clicking on each of the menu element.
You will notice that most of the options in VB Editor have keyboard shortcuts mentioned next to it. Once you get used to a few keyboard shortcuts, working with the VB Editor becomes really easy.
Tool Bar
By default, there is a toolbar in the VB Editor which has some useful options that you’re likely to need most often. This is just like the Quick Access Toolbar in Excel. It gives you quick access to some of the useful options.
You can customize it a little by removing or adding options to it (by clicking on the small downward pointing arrow at the end of the toolbar).
In most cases, the default toolbar is all you need when working with the VB Editor.
You can move the toolbar above the menu bar by clicking on the three gray dots (at the beginning of the toolbar) and dragging it above the menu bar.
Note: There are four toolbars in the VB Editor – Standard, Debug, Edit, and User form. What you see in the image above (which is also the default) is the standard toolbar. You can access other toolbars by going to the View option and hovering the cursor on the Toolbars option. You can add one or more toolbars to the VB Editor if you want.
Project Explorer
Project Explorer is a window on the left that shows all the objects currently open in Excel.
When you’re working with Excel, every workbook or add-in that is open is a project. And each of these projects can have a collection of objects in it.
For example, in the below image, the Project Explorer shows the two workbooks that are open (Book1 and Book2) and the objects in each workbook (worksheets, ThisWorkbook, and Module in Book1).
There is a plus icon to the left of objects that you can use to collapse the list of objects or expand and see the complete list of objects.
The following objects can be a part of the Project Explorer:
- All open Workbooks – within each workbook (which is also called a project), you can have the following objects:
- Worksheet object for each worksheet in the workbook
- ThisWorkbook object which represents the workbook itself
- Chartsheet object for each chart sheet (these are not as common as worksheets)
- Modules – This is where the code that is generated with a macro recorder goes. You can also write or copy-paste VBA code here.
- All open Add-ins
Consider the Project Explorer as a place that outlines all the objects open in Excel at the given time.
The keyboard shortcut to open the Project Explorer is Control + R (hold the control key and then press R). To close it, simply click the close icon at the top right of the Project Explorer window.
Note: For every object in Project Explorer, there is a code window in which you can write the code (or copy and paste it from somewhere). The code window appears when you double click on the object.
Properties Window
Properties window is where you get to see the properties of the select object. If you don’t have the Properties window already, you can get it by using the keyboard shortcut F4 (or go to the View tab and click Properties window).
Properties window is a floating window which you can dock in the VB Editor. In the below example, I have docked it just below the Project Explorer.
Properties window allows us to change the properties of a selected object. For example, if I want to make a worksheet hidden (or very hidden), I can do that by changing the Visible Property of the selected worksheet object.
Related: Hiding a Worksheet in Excel (that can not be un-hidden easily)
Code Window
There is a code window for each object that is listed in the Project Explorer. You can open the code window for an object by double-clicking on it in the Project Explorer area.
Code window is where you’ll write your code or copy paste a code from somewhere else.
When you record a macro, the code for it goes into the code window of a module. Excel automatically inserts a module to place the code in it when recording a macro.
Related: How to Run a Macro (VBA Code) in Excel.
Immediate Window
The Immediate window is mostly used when debugging code. One way I use the Immediate window is by using a Print.Debug statement within the code and then run the code.
It helps me to debug the code and determine where my code gets stuck. If I get the result of Print.Debug in the immediate window, I know the code worked at least till that line.
If you’re new to VBA coding, it may take you some time to be able to use the immediate window for debugging.
By default, the immediate window is not visible in the VB Editor. You can get it by using the keyboard shortcut Control + G (or can go to the View tab and click on ‘Immediate Window’).
Where to Add Code in the VB Editor
I hope you now have a basic understanding of what VB Editor is and what all parts it has.
In this section of this tutorial, I will show you where to add a VBA code in the Visual Basic Editor.
There are two places where you can add the VBA code in Excel:
- The code window for an object. These objects can be a workbook, worksheet, User Form, etc.
- The code window of a module.
Module Code Window Vs Object Code Window
Let me first quickly clear the difference between adding a code in a module vs adding a code in an object code window.
When you add a code to any of the objects, it’s dependent on some action of that object that will trigger that code. For example, if you want to unhide all the worksheets in a workbook as soon as you open that workbook, then the code would go in the ThisWorkbook object (which represents the workbook).
The trigger, in this case, is opening the workbook.
Similarly, if you want to protect a worksheet as soon as some other worksheet is activated, the code for that would go in the worksheet code window.
These triggers are called events and you can associate a code to be executed when an event occurs.
Related: Learn more about Events in VBA.
On the contrary, the code in the module needs to be executed either manually (or it can be called from other subroutines as well).
When you record a macro, Excel automatically creates a module and inserts the recorded macro code in it. Now if you have to run this code, you need to manually execute the macro.
Adding VBA Code in Module
While recording a macro automatically creates a module and inserts the code in it, there are some limitations when using a macro recorder. For example, it can not use loops or If Then Else conditions.
In such cases, it’s better to either copy and paste the code manually or write the code yourself.
A module can be used to hold the following types of VBA codes:
- Declarations: You can declare variables in a module. Declaring variables allows you to specify what type of data a variable can hold. You can declare a variable for a sub-routine only or for all sub-routines in the module (or all modules)
- Subroutines (Procedures): This is the code that has the steps you want VBA to perform.
- Function Procedures: This is a code that returns a single value and you can use it to create custom functions (also called User Defined Functions or UDFs in VBA)
By default, a module is not a part of the workbook. You need to insert it first before using it.
Adding a Module in the VB Editor
Below are the steps to add a module:
- Right-click on any object of the workbook (in which you want the module).
- Hover the cursor on the Insert option.
- Click on Module.
This would instantly create a folder called Module and insert an object called Module 1. If you already have a module inserted, the above steps would insert another module.
Once the module is inserted, you can double click on the module object in the Project Explorer and it will open the code window for it.
Now you can copy-paste the code or write it yourself.
Removing the Module
Below are the steps to remove a module in Excel VBA:
- Right-click on the module that you want to remove.
- Click on Remove Module option.
- In the dialog box that opens, click on No.
Note: You can export a module before removing it. It gets saved as a .bas file and you can import it in some other project. To export a module, right-click on the module and click on ‘Export file’.
Adding Code to the Object Code Window
To open the code window for an object, simply double-click on it.
When it opens, you can enter the code manually or copy-paste the code from other modules or from the internet.
Note that some of the objects allow you to choose the event for which you want to write the code.
For example, if you want to write a code for something to happen when selection is changed in the worksheet, you need to first select worksheets from the drop-down at the top left of the code window and then select the change event from the drop-down on the right.
Note: These events are specific to the object. When you open the code window for a workbook, you will see the events related to the workbook object. When you open the code window for a worksheet, you will see the events related to the worksheet object.
Customizing the VB Editor
While the default settings of the Visual Basic Editor are good enough for most users, it does allow you to further customize the interface and a few functionalities.
In this section of the tutorial, I will show you all the options you have when customizing the VB Editor.
To customize the VB Editor environment, click Tools in the menu bar and then click on Options.
This would open the Options dialog box which will give you all the customization options in the VB Editor. The ‘Options’ dialog box has four tabs (as shown below) that have various customizations options for the Visual Basic Editor.
Let’s quickly go through each of these tabs and the important options in each.
Editor Tab
While the inbuilt settings work fine in most cases, let me still go through the options in this tab.
As you get more proficient working with VBA in Excel, you may want to customize the VB Editor using some of these options.
Auto Syntax Check
When working with VBA in Excel, as soon as you make a syntax error, you will be greeted by a pop-up dialog box (with some description about the error). Something as shown below:
If you disable this option, this pop-up box will not appear even when you make a syntax error. However, there would be a change in color in the code text to indicate that there is an error.
If you’re a beginner, I recommend you keep this option enabled. As you get more experienced with coding, you may start finding these pop-up boxes irritating, and then you can disable this option.
Require Variable Declaration
This is one option I recommend enabling.
When you’re working with VBA, you would be using variables to hold different data types and objects.
When you enable this option, it automatically inserts the ‘Option Explicit’ statement at the top of the code window. This forces you to declare all the variables that you’re using in your code. If you don’t declare a variable and try to execute the code, it will show an error (as shown below).
In the above case, I used the variable Var, but I didn’t declare it. So when I try to run the code, it shows an error.
This option is quite useful when you have a lot of variables. It often helps me find misspelled variables names as they are considered as undeclared and an error is shown.
Note: When you enable this option, it does not impact the existing modules.
Auto List Member
This option is quite useful as it helps you get a list of properties of methods for an object.
For example, if I want to delete a worksheet (Sheet1), I need to use the line Sheet1.Delete.
While I am typing the code, as soon as I type the dot, it will show me all the methods and properties associated with the Worksheet object (as shown below).
Auto list feature is great as it allows you to:
- Quickly select the property and method from the list and saves time
- Shows you all the properties and methods which you may not be aware of
- Avoid making spelling errors
This option is enabled by default and I recommend keeping it that way.
Auto Quick Info Options
When you type a function in Excel worksheet, it shows you some information about the function – such as the arguments it takes.
Similarly, when you type a function in VBA, it shows you some information (as shown below). But for that to happen, you need to make sure the Auto Quick Info option is enabled (which it is by default).
Auto Data Tips Options
When you’re going through your code line by line and place your cursor above a variable name, it will show you the value of the variable.
I find it quite useful when debugging the code or going through the code line by line which has loops in it.
In the above example, as soon as I put the cursor over the variable (var), it shows the value it holds.
This option is enabled by default and I recommend you keep it that way.
Auto Indent
Since VBA codes can get long and messy, using indentation increases the readability of the code.
When writing code, you can indent using the tab key.
This option ensures that when you are done with the indented line and hit enter, the next line doesn’t start from the very beginning, but has the same indentation as the previous line.
In the above example, after I write the Debug.Print line and hit enter, it will start right below it (with the same indentation level).
I find this option useful and turning this off would mean manually indenting each line in a block of code that I want indented.
You can change the indentation value if you want. I keep it at the default value.
Drag and Drop Text Editing
When this option is enabled, it allows you to select a block of code and drag and drop it.
It saves time as you don’t have to first cut and then paste it. You can simply select and drag it.
This option is enabled by default and I recommend you keep it that way.
Default to Full Module View
When this option is enabled, you will be able to see all the procedures in a module in one single scrollable list.
If you disable this option, you will only be able to see one module at a time. You will have to make a selection of the module you want to see from the drop-down at the top right of the code window.
This option is enabled by default and I recommend keeping it that way.
One reason you may want to disable it when you have multiple procedures that are huge and scrolling across these is taking time, or when you have a lot of procedures and you want to quickly find it instead of wasting time in scrolling.
Procedure Separator
When this option is enabled, you will see a line (a kind of divider) between two procedures.
I find this useful as it visually shows when one procedure ends and the other one starts.
It’s enabled by default and I recommend keeping it that way.
Editor Format Tab
With the options in the Editor Format tab, you can customize the way your code looks in the code window.
Personally, I keep all the default options as I am fine with it. If you want, you can tweak this based on your preference.
To make a change, you need to first select an option in the Code Colors box. Once an option is selected, you can modify the foreground, background, and indicator color for it.
The font type and font size can also be set in this tab. It’s recommended to use a fixed-width font such as Courier New, as it makes the code more readable.
Note that the font type and size setting will remain the same for all code types (i.e., all the code types shown in the code color box).
Below is an image where I have selected Breakpoint, and I can change the formatting of it.
Note: The Margin Indicator Bar option when enabled shows a little margin bar to the left of the code. It’s helpful as it shows useful indicators when executing the code. In the above example, when you set a breakpoint, it will automatically show a red dot to the left of the line in the margin bar. Alternatively, to set a breakpoint, you can simply click on the margin bar on the left of the code line that you want as the breakpoint.
By default, Margin Indicator Bar is enabled and I recommend keeping it that way.
One of my VBA course students found this customization options useful and she was color blind. Using the options here, she was able to set the color and formats that made it easy for her to work with VBA.
General Tab
The General tab has many options but you don’t need to change any of it.
I recommend you keep all the options as is.
One important option to know about in this tab is Error Handling.
By default, ‘Break on Unhandled Errors’ is selected and I recommend keeping it that way.
This option means that if your code encounters an error, and you have not handled that error in your code already, then it will break and stop. But if you have addressed the error (such as by using On Error Resume Next or On Error Goto options), then it will not break (as the errors are not unhandled).
Docking Tab
In this tab, you can specify which windows you want to get docked.
Docking means that you can fix the position of a window (such as project explorer or the Properties window) so that it doesn’t float around and you can view all the different windows at the same time.
If you don’t dock, you will be able to view one window at a time in full-screen mode and will have to switch to the other one.
I recommend keeping the default settings.
Other Excel tutorials you may like:
- How to Remove Macros From an Excel Workbook
- Comments in Excel VBA (Add, Remove, Block Commenting)
- Using Active Cell in VBA in Excel (Examples)
ПРОСМОТР (функция ПРОСМОТР)
Смотрите также (вводится ctrl+shift+enter), возможноSameer значение и возвращает этого в ячейке поиск в соответствии Особенности использования функцииСледующий этап — подключение книгиЕсли же нужно изменить достаточно ещё раз
Далее перемещаемся в раздел из наименований просматриваемого которые нам нужно будет осуществляться. Существует то функция столбца B, находящегося функцияИспользуйте функцию ПРОСМОТР, одну кто-нибудь предложит без: Нет вроде бы.
значение из аналогичной C2 введем следующую с размерностями массива, будут указаны ниже к веб-части Excel только внешний вид нажать на эту
«Печать» диапазона. найти. два способа использованияПРОСМОТР в той жеПРОСМОТР из функций поиска промежуточных значений. Сортировка не имеет позиции последней строки формулу: то есть в в примерах. Web Access. документа на печати,
Функцию ПРОСМОТР можно использовать двумя способами: в векторной форме и в форме массива.
-
же кнопку..Как видим, после этогоПосле того, как все функции: векторная формавозвращает значение ошибки строке.ищет в первом и работы соJhonson значения или столбца массива.=ПРОСМОТР(B2;$A$12:$A$17;$B$12:$B$17)
-
первой строке либоФункция ПРОСМОТР упрощает поискК началу страницы то это можноЕсли документ состоит изВ правой части открывшегося автоматически в соответствующую данные введены, жмем и форма массива. #Н/Д.оранжевый векторе. ссылками, когда нужно
: С обычными формулами,СашаВПРОписание значений: первом столбце таблицы, данных в строке,Важно: сделать в блоке нескольких страниц, то окна будет располагаться область выводится результат. на кнопкуДанный способ наиболее частоМассив.=ПРОСМОТР(5,75; A2:A6; B2:B6)Искомое_значение взять одну строку
Векторная форма
но с доп: Вы выборочно читаетеИщет значение вB2 – сумма взятого если она содержит столбце таблицы и Прежде чем продолжить,«Настройка» по умолчанию сразу область предпросмотра, гдеВнимание! Нужно заметить, что
Синтаксис
«OK»
применим среди пользователей Обязательный аргумент. Диапазон ячеек,Поиск значения 5,75 вможет быть числом, или столбец и
-
столбцом. ответы с целью крайнем левом столбце клиентом кредита. больше столбцов чем массиве данных наряду создайте книгу Excelраздела в окне предпросмотра отображается документ в вид формулы ПРОСМОТР
-
. при использовании оператора содержащих текст, числа столбце A, соответствующего текстом, логическим значением, найти значение, находящеесяБез промежуточных значений «чисто поговорить»? таблицы и возвращает
$A$12:$A$17 – массив сумм, строк либо больше с ее аналогами: и опубликуйте ее«Печать» видна только первая том виде, в для массива являетсяНо, как видим, пока ПРОСМОТР. или логические значения, ближайшему наименьшему значению именем или ссылкой в той же решения не нашел
-
Да, в некоторых значение в той среди которых производится строк чем столбцовВПР; в библиотеке SharePoint, который расположен слева из них. Внизу котором он будет устаревшим. В новых
Замечания
-
что функция выводитДля удобства строим вторую которые требуется сравнить (5,17), и возврат на значение. позиции в другой (((( частных случаях эти же строке из поиск эквивалентного или
-
соответственно.ГПР; Server или Office от области предпросмотра. под областью предварительного выглядеть на печати. версиях Excel он в ячейку некорректный таблицу с колонками
Примеры векторов
с искомым значением. значения из столбцаПросматриваемый_вектор строке или столбце.Amfibiya две функции будут указанного столбца таблицы. ближайшего значения кОбратите внимание: запись функции
-
ПОИСКПОЗ. 365. Вы не Тут можно произвести просмотра указан номер
Можно также заменить все присутствует, но оставлен
результат. Для того,«Искомое значение»
Форма массива функции
B, находящегося в
Обязательный аргумент. Диапазон, состоящий
Предположим, что вы знаете
: Спасибо вот вы
возвращать одинаковый результат.
Функция ВПР используется
искомому.
ПРОСМОТР в форме
Обратите внимание: результат работы
сможете отобразить книгу
смену ориентации страницы
-
текущей страницы, а эти действия простым только в целях чтобы она начала
иПРОСМОТР
той же строке. из одной строки
артикул детали автомобиля,
красавцы тут, серьезно
Ровно как и
вместо функции ГПР,$B$12:$B$17 – массив соответствующих массива была предусмотрена функции ПРОСМОТР может в веб-части Excel или масштабирования, в
справа от него
нажатием сочетания горячих
совместимости с документами, работать, следует в«Результат»очень похожа нажелтый или одного столбца. но не знаете
знаете. Разберусь дальше.
все остальные функции
когда сравниваемые значения процентов. только для совместимости оказаться некорректным, если Web Access, если случае, если она общее количество страниц
клавиш
сделанными в предыдущих
область искомого значения. Это не обязательно, функции=ПРОСМОТР(7,66; A2:A6; B2:B6) Значения в аргументе ее цену. Тогда,Bakhtovar
по работе со
-
расположены в столбцеПримечание: знак «$» использован различных программных продуктов данные в массиве она не опубликована не вписывается на в книге Excel.Ctrl+F2 версиях. Хотя использовать
Форма массива
ввести нужный нам так как дляГПРПоиск значения 7,66 впросматриваемый_вектор используя функцию ПРОСМОТР,: Посмотрите пожалуйста что ссылками и массивами. слева от искомых для «фиксации» ссылок для работы с или столбце таблицы в надежной библиотеке. один печатный лист,Чтобы просмотреть в области. форму массива можно
параметр из просматриваемого данных целей можнои столбце A, соответствующегомогут быть текстом, вы сможете вернуть в этом формулеПредалагаю так же данных. на ячейки. таблицами, аналогичных Excel. не отсортированы в Подробные сведения о настроить поля, разделить предварительного просмотра нужную
Синтаксис
Но в версиях приложения
и в современных вектора. использовать любые ячейкиВПР ближайшему наименьшему значению
-
числами или логическими значение цены в не так, как обсудить гпр+трансп, индекс/смещ/двссыл+поискпоз/мин(если(..строка).Буква «В» вРезультат вычислений: Эта форма записи порядке возрастания числового том, как это документ по копиям, страницу, требуется вбить
-
ранее Excel 2010 экземплярах программы, рекомендуетсяПосле того, как данные на листе. Но. Различие заключается в (6,39), и возврат значениями. ячейку H2 при правильно написать
-
Все эти сочетания имени функции ВПРТо есть, Иванову был может возвращать некорректные значения или алфавитном сделать, смотрите в выбрать формат бумаги через клавиатуру её перемещение в раздел вместо этого применять были введены, ячейка,
-
-
так будет удобнее. том, что функция значения из столбцаВажно: вводе артикула в=ПРОСМОТР((BDN5;BDR5;BDV5;BDZ5;BED5;BEH5;BEL5;BEP5;BET5;BEX5;BFB5;BFF5;BFK5); — Эта
в частных случаях означает «вертикальный». выдан кредит под результаты и не порядке. Если сортировка разделе Общий доступ и выполнить некоторые номер и нажать предварительного просмотра происходит новые более усовершенствованные в которой находитсяВыделяем ячейку, куда будетГПР B, находящегося в Значения в аргументе ячейку H1. искомое значение («Январь»;»Февраль»;»Март»;»Апрель»;»Май»;»Июнь»;»Июль»;»Август»;»Сентябрь»;»Октябрь»;»Ноябрь»;»Декабрь»;»Год»); могут заменять другvikttur 6% годовых. рекомендуется для использования.
-
невозможна в силу к книгам с другие действия. После на клавишу несколько по-другому, чем функции ВПР (для функция, автоматически заполняется выводиться итоговый результат.ищет той же строке.
-
просматриваемый_векторИспользуйте функцию ПРОСМОТР для -месяцы они условии друга.: Никогда не зналДля определения суммы возврата При работе с различных причин, рекомендуется
-
помощью служб Excel. того, как необходимыеENTER в современных аналогах. поиска в первом соответствующим показателем из В ней иискомое_значениесинийдолжны быть расположены поиска в одной поиска
Различия в чём полной расшифровки ВПР введем формулу: массивами данных рекомендуют использовать перечисленные вышеСначала откройте страницу SharePoint манипуляции по редактированию. Давайте вкратце остановимся столбце диапазона) и вектора результатов. будет находиться самав первой строке,=ПРОСМОТР(0; A2:A6; B2:B6)
-
support.office.com
Использование функции ПРОСМОТР в Microsoft Excel
в порядке возрастания: строке или одном(BDN8;BDR8;BDV8;BDZ8;BED8;BEH8;BEL8;BEP8;BET8;BEX8;BFB8;BFF8;BFK8)) — ну именно между функциями (ГПР) :)=B2+B2*C2 применять аналоги: ГПР аналоги данной функции. для редактирования и произведены, можно посылатьДля перехода на следующую на алгоритме открытия ГПР (для поискаЕсли мы введем в формула. Кликаем по функцияПоиск значения 0 в …, -2, -1, столбце. В приведенном а здесь уже
впр и просмотрВертикальный (горизонтальный) -
Применение оператора ПРОСМОТР
Описание значений: и ВПР.Данная функция может быть добавьте на нее документ на печать. страницу нужно кликнуть области предпросмотра для в первой строке ячейку искомого значения пиктограммеВПР столбце A и
Способ 1: векторная форма
0, 1, 2, выше примере рассматривается результаты вам не видны?
- понятно. А дальше?B2 – сумма (тело) записана в двух пустую веб-часть ExcelУрок: по треугольнику, направленному этих случаев. диапазона). Они ничем другое наименование, то«Вставить функцию»
- — в первом возврат значения ошибки, …, A-Z, ЛОЖЬ, поиск цен вно не как В алгоритмах поиска Поиск решения? Просмотр кредита, взятого Ивановым;
- Пример 1. Физик определял синтаксических вариантах: Web Access.Как распечатать страницу в углом направо, которыйДля перехода в окно не уступают по и результат, соответственно,
- . столбце, а функция так как 0 ИСТИНА; в противном столбце D. не получается, в результата или в результата? Просветите.B2*C2 – сумма процентов ускорение свободного падения1. Векторная форма записи.В пустой веб-части Excel Экселе расположен справа от предпросмотра в Excel функционалу формуле ПРОСМОТР
- поменяется.Открывается окно Мастера функций.ПРОСМОТР
- меньше наименьшего значения
- случае функция
- Используйте функцию
результате получается #Н/Д области применения? ВSameer за использование в эмпирическим путем: с Вектором данных в Web Access, вКак видим, с помощью
нумерации страниц.
2007 нужно выполнить для массивов, ноФункция ПРОСМОТР очень напоминает В перечне ищем
выполняет поиск в (4,14) в столбцеПРОСМОТРВПРЗа ранее благодарен. каком случае(т е: Извините за назойливость, денежном эквиваленте. определенной высоты запускал Excel принято считать разделе инструмента предварительного просмотраДля перехода на предыдущую следующие действия: работают более корректно. ВПР. Но в
- элемент соответствии с размерностями A.может возвратить неправильныйдля поиска данныхAlexM исходные данные). вы могли быРезультат вычислений: обтекаемый предмет и диапазон данных, содержащихВыбор книги в Экселе можно страницу требуется щелкнутьКликаем по логотипу
- А вот векторный ВПР просматриваемый столбец«ПРОСМОТР» массива.#Н/Д результат. Текст в
- в одной строке: Может быть яSameer привести пример гдеТо есть, клиент Иванов
- засекал время, которое лишь одну строку, выберите ссылку перед выводом на по треугольнику, направленномуMicrosoft Office оператор ПРОСМОТР является обязательно должен бытьвыделяем его иЕсли ширина массива больше
Чтобы эти формулы выводили нижнем и верхнем или столбце, а что-то не понял,: Все спасибо, уже вместо функции «ВПР»
обязан вернуть 127,2 требовалось на прохождение либо столбец таблицы.Щелкните здесь, чтобы открыть принтер документа просмотреть,
углом влево, которыйв верхнем левом актуальным до сих крайним левым. У кликаем по кнопке его высоты (т. результат, может потребоваться регистрах считается эквивалентным. также для поиска
но получилось. дошло, можете закрывать
Способ 2: форма массива
функцию «ПРОСМОТР» использовать денежных единиц. Подобным пути от точки Соответственно, функция ПРОСМОТР область инструментов как он будет расположен слева от углу запущенной программы. пор. ПРОСМОТР данное ограничение
- «OK» е. есть массив выделить их наВектор_результатов в нескольких строкахВ диапазон соответствия тему. невозможно? методом производится расчет запуска до момента используется для поиска. Откроется область инструментов. выглядеть при распечатке. нумерации страниц.В раскрывшемся меню наводим
- Урок: отсутствует, что мы. имеет больше столбцов листе Excel и Необязательный аргумент. Диапазон, состоящий и столбцах (например, очков и местvikttur
Sameer
задолженности для остальных соприкосновения с поверхностью определенного значения вВ разделе Если отображаемый результатЧтобы просмотреть книгу в курсор на пункт
- Примеры функции ВПР в и видим наДалее открывается дополнительное окно. чем строк), то нажать клавишу F2, из одной строки в таблице). добавил ячейки Z1: Куда закрывать?! А: Элементарно. Когда необходимо клиентов. земли. Затем по одной строке или
- Отображение книги не будет соответствовать целом, можно установить«Печать» Эксель
- примере выше. У других операторов функция а затем — ВВОД. или столбца.Это расширенная версия функции и Z2 на мой вопрос
искать по неточномуПример 3. В офисе формуле g=2S/t2 определял
одном столбце. Синтаксис:в поле тому итогу, который курсор на полосу.Как видим, оператор ПРОСМОТРУрок: оно редко встречается.ПРОСМОТР При необходимости изменитеВектор_результатов ПРОСМОТРФормула для ячейки где ответ? :) соответствию — последний работают 5 сотрудников искомую величину. После=ПРОСМОТР(искомое_значение; просматриваемый_вектор; [вектор_результатов])Книга пользователь желает получить, прокрутки в крайнейВ блоке справа откроется является отличным помощникомМастер функций в Excel Тут нужно выбратьищет ширину столбцов, чтобыдолжен иметь тот.
E4vikttur аргумент ВПР =
различного возраста. Необходимо проведения нескольких опытовДва первых аргумента функцииукажите адрес веб-сайта то он может правой части окна, дополнительный список действий. при поиске данныхВ отличие от предыдущего одну из формискомое_значение видеть все данные. же размер, чтоПосмотрите видеоролик о том,200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ПРОСМОТР(D4;$R$2:$Z$2;$R$1:$Z$1): Во, другое дело.
ИСТИНА или 1.{/post}{/quote}
lumpics.ru
Предварительный просмотр в Microsoft Excel
найти возраст Виталия. были получены следующие должны быть обязательно (URL-адрес) книги. Если отредактировать книгу и зажать левую кнопку В нем нужно по искомому значению. способа, данная форма обработки данных, ов первой строке.Совет: и как использовать функциюФормула для ячейки Можно закрывать :)Спасибо за ответ.Внесем исходные данные в
результаты: указаны.
URL-адрес неизвестен, нажмите уже после этого мыши и потянуть
Использование предварительного просмотра
выбрать пункт Особенно эта возможность оперирует целым массивом, которых шёл разговорЕсли высота массива больше Мы настоятельно рекомендуем пользоватьсяпросматриваемый_вектор ВПР К4 Код200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ЕСЛИ(J4;РАНГ(J4;$J$4:$J$11);»вне зачета»)The_Prist, спасибо. Столько А если аргумент таблицу:Необходимо определить, находится ли
Описание версии 3-х аргументов: кнопку посылать её на курсор вниз, пока«Предварительный просмотр» полезна в длинных в который сразу
Переход в область предварительного просмотра
выше: векторную или его ширины (т. функцией
- ..На листе «Jhonson» лет в неведении ВПР = ЛОЖЬ,
- Для определения возраста самого среди полученных результатовИскомое_значение – объект числовых,
- Обзор печать. Таким образом, вы не просмотрите. таблицах. Также следует входит просматриваемый диапазон форму массива. Так
е. массив имеетВПРЕсли функцииВекторная форма Используйте функцию решение Евгения с :)
Переход в предварительный просмотр в старых версиях программы
то получается что младшего сотрудника введем значение, соответствующее общепризнанному текстовых, ссылочных или, выберите нужную книгу, будет сэкономлено время документ в целом.После этого в отдельной заметить, что существуют и диапазон результатов.
как мы сейчас больше строк, чемилиПРОСМОТР
- ПРОСМОТР для поиска доп столбцом дляВсе думал, что одно и то
- формулу в ячейке значение g=9,81. логических данных. Функция а затем нажмите
- и расходный материал Кроме того, можно вкладке открывается окно две формы этой При этом просматриваемый рассматриваем именно векторный
- столбцов), то функцияГПРне удается найти значения в одной сравнения. это два слова. же? Ведь как E3:
Для решения запишем в ПРОСМОТР выполняет поискВставка для распечатки (тонер, воспользоваться кнопкой, расположенной предпросмотра. Для его функции – векторная
- диапазон должен являться вид, то выбираемПРОСМОТРвместо формы массива.искомое_значение
- строке или вBakhtovarAmfibiya я знаю аргумент
- =ПРОСМОТР(D3;A2:A6;B2:B6) ячейку D2 следующую
Режимы предпросмотра
значения этих данных. бумага и т.д.) внизу. Она находится закрытия следует нажать и для массивов. обязательно крайнем левым
- первый вариант. Жмемвыполняет поиск вПосмотрите видеоролик о функции
- , то в одном столбце. Векторная, на форуме принято: Уважаемые гуру! Помогите «ИСТИНА» используется редко.Описание значений: формулу: в векторе данных.(Необязательно.) Чтобы отобразить один
- в сравнении с под полосой прокрутки на большую красную Последняя из них столбцом массива. на кнопку
- первом столбце. ВПР, в которомпросматриваемом_векторе форма позволяет указать для новых вопросов решить проблему доGuestD3 – имя сотрудника,=ПРОСМОТР(9,81;B2:B7)
- Просматриваемый_вектор – диапазон данных, элемент, например диаграмму, тем, если бы и представляет собой
Навигация по документу
кнопку является уже устаревшей.После того, как выбрана«OK»Используя функции приведены конкретные примеры.выбирается наибольшее значение, диапазон значений, по открывать новую тему конца. Ваш сотрудник: 1|а возраст которого необходимо
- Описание значений: который представляет собой таблицу, отчет сводной пришлось распечатывать один треугольник, направленный углом«Закрыть окно предварительного просмотра» Хотя некоторыми пользователями ячейка, куда будет
- .ГПР. Форма массива функции которое меньше которым вы хотите и показывать свое
мне подсказал формулу,2|б определить;C2 (9,81) – явно столбец таблицы или диаграммы или отчет
- и тот же вниз. При каждом. она применяется до выводиться результат, запущенОткрывается окно аргументов. КакиПРОСМОТРискомого_значения выполнить поиск. Например, решение в файле-примере но что-то она3|вA2:A6 – просматриваемый вектор введенное искомое значение; строку. Вектор данных сводной таблицы, в документ несколько раз, клике по этомуЕщё больше отличается от сих пор. Мастер функций и
- видим, у даннойВПРпредназначена для обеспеченияили равно ему. если вам нужно в формате XLS не совсем корректно4|г имен;B2:B7 – массив данных, может содержать числовые,
- поле в случае невозможности значку левой кнопкой Excel 2010 иАвтор: Максим Тютюшев сделан переход к
- функции три аргумента:, можно указывать индекс совместимости с другимиЕсли
- найти значение вBakhtovar работает. В примере5|д
- B2:B6 – вектор соответствующих среди которых производится текстовые и логические
- Именованный элемент просмотреть, как он мыши будет совершен
Редактирование книги
последующих версий алгоритмПеред тем, как распечатывать оператору ПРОСМОТР, открываетсяИскомое значение; по направлению вниз редакторами электронных таблиц,искомое_значение первых шести строках: Вид тема касается все видно вПРОСМОТР в таком возрастов. поиск. значения. Все значениявведите имя элемента. будет выглядеть на переход на одну
перехода в окно готовый документ, созданный окно для выбораПросматриваемый вектор; и вправо, а но ее возможностименьше, чем наименьшее столбца A. формулу просмотр - примечаниях. массиве может лишьРезультат вычислений:Результат вычислений: вектора данных должны При этом в печати с экрана страницу. предпросмотра в Excel в любой программе, формы оператора. ВВектор результатов. функция ограничены. значение в аргументеФорма массива. Мы настоятельно
и у меняJhonson найти один символ,
Значит, возраст сотрудника ВиталияТо есть, среди результатов быть отсортированы в веб-части будет отображен монитора.Аналогичным образом можно переходить 2003. Хотя он желательно предварительно просмотреть, данном случае выбираемДля тех пользователей, которыеПРОСМОТРФорма массива функциипросматриваемый_вектор рекомендуем пользоваться функцией вопрос касательно этой: Возможно так а ВПР может составляет 43 года. вычислений находилась искомая порядке возрастания величин только один элемент,Автор: Максим Тютюшев и в начало и проще. как именно он вид оператора для желают применять данныйвсегда выбирает последнееПРОСМОТР, функция
ВПР
lumpics.ru
Отображение книги Excel в веб-части Excel Web Access
теме, я помню200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ПРОСМОТР(C4;{1;2;3;4;5;6;7;8};$S$1:$Z$1) найти символ вВ данном примере мы величина. (А-Я; ЛОЖЬ, ИСТИНА; а не всяДопустим, опубликовав книгу Excel документа, но дляВ горизонтальном меню открытого будет выглядеть на
-
массива, то есть, оператор вручную, без значение в строке
-
просматривает первую строкуПРОСМОТР
-
или что если подобныеAmfibiya левом столбце и
Добавление веб-части Excel Web Access на страницу SharePoint
-
ознакомились с двумяПримечание: значения в
-
-2, 0, 103, книга. в библиотеке SharePoint, этого следует либо
окна программы щелкаем печати. Ведь, возможно, вторую позицию в использования или столбце. -
или первый столбецвозвращает значение ошибкиГПР темы уже открыты: По-моему все нормально отразить значение из версиями функции ПРОСМОТР столбце Результат не 1000).
-
В нижней части области вы хотите показать тянуть полосу прокрутки по пункту что его часть перечне. Жмем
«Мастера функций»Важно: массив, находит указанное
#Н/Д.
Подключение книги к веб-части Excel Web Access
вместо формы массива. то создать еще считает. Большое спасибо правого столбца, например; на 2 и отсортированы в порядкеВектор_результатов – необязательный аргумент, инструментов нажмите кнопку ее полностью или вверх, либо кликать«Файл» не попадает в«OK», важно знать синтаксис Значения в массиве должны значение и возвращаетЧтобы лучше разобраться вПосмотрите видеоролик об использовании
-
одну необъязателно, по за решение вопроса.просмотр(1:5;3)=3 3 аргумента для возрастания. Как было
-
представляющий собой диапазонОК частично в отдельной по пиктограмме в. область печати или. его написания. Он
-
быть расположены в значение из аналогичной работе функции ПРОСМОТР, функции ВПР этому и поискалJhonsonвпр(3;1:д;1;ложь)=3 и впр(3;1:д;2;ложь)=в заполнения входящими данными. сказано ранее, функция данных из одной. веб-части SharePoint. Вы виде треугольника, направленного
-
В раскрывшемся списке выбираем отображается некорректно. ДляОткрывается окно аргументов. Как выглядит следующим образом: порядке возрастания: …, позиции последней строки вы можете сами. Форма массива предназначена по названиям и: Для колонки ИТОГО и плюс соSameer возвращает наибольшее значение
-
строки либо столбцаКнига отобразится в веб-части. можете сделать это углом вверх, которая
пункт этих целей в видим, данный подтип=ПРОСМОТР(искомое_значение;просматриваемый_вектор;вектор_результатов) -2, -1, 0, или столбца массива.
опробовать рассмотренные примеры
Задание параметров перемещения и взаимодействия для книги, отображенной в веб-части Excel Web Access
-
для обеспечения совместимости продолжал
-
МЕСТО В ГРУППЕ значениями «ложь»/»истина» можно: Здравствуйте уважаемые знатоки! из массива, которое таблицы. Размеры просматриваемого Далее при желании с помощью специальной расположена над полосой
-
«Предварительный просмотр» Экселе существует такой функции имеет всегоМы же остановимся на 1, 2, …, Эта форма функции на практике. В
-
с другими редакторамиAlexM можно использовать формулу: поэкспериментироватьВот уже как меньше либо равно
и вектора результатов
support.office.com
Примеры функции ПРОСМОТР для быстрого поиска в диапазоне Excel
вы можете задать веб-части Excel Web прокрутки.. инструмент, как предварительный два аргумента – тех значениях, которые A-Z, ЛОЖЬ, ИСТИНА;ПРОСМОТР первом примере у электронных таблиц, но:
Функция ПРОСМОТР в Excel и особенности ее использования
200?’200px’:»+(this.scrollHeight+5)+’px’);»>=РАНГ(I4;$I$4:$I$11)+СУММПРОИЗВ(—(РАНГ(I4;$I$4:$I$11)=$J$3:J3))Саша более двух лет искомому. Если бы должны быть тождественны.
- для веб-части Excel
- Access. Выполните эти
- Кроме того, можно совершать
После этого окно предпросмотра просмотр. Давайте разберемся,«Искомое значение» следует вносить в в противном случаеиспользуется, если сравниваемые вас должна получиться ее возможности ограничены.BakhtovarAmfibiya: Совершенно разный синтаксис открыл для себя производился поиск, например,
2. Форма массива. В Web Access параметры простые действия.
переходы на определенные будет открыто. как в негои окно аргументов. функция значения находятся в электронная таблица, котораяМассив — это набор значений, понимаете, если вопрос: Jhonson ну ты
и ограничения вы
формулу «Просмотр». Активно числа 10, в Excel массивом считается
перемещения и взаимодействия.
- Добавьте веб-часть Excel Web страницы документа вВ области предпросмотра можно перейти, и как«Массив»В поле
- ПРОСМОТР первой строке или выглядит примерно так: в строках и касается только функции, крут, как догадался тоже не заметили? ею пользуюсь это данном случае было группа ячеек либоК началу страницы Access на страницу области предпросмотра, воспользовавшись
- переключать режимы предварительного с ним работать.. Соответственно её синтаксис«Искомое значение»может возвратить неправильный первом столбце массива.Скопируйте данные из таблицы
столбцах (например, в то искать надо про последний столбец? Разницу результатов при одна из мощных бы возвращено значение значений, обрабатываемых вОткройте страницу SharePoint для SharePoint. клавишами навигации на просмотра документа. Это
Скачать последнюю версию
следующий:вводим координаты ячейки, результат. Текст в
ПРОСМОТР(искомое_значение, массив)
- ниже и вставьте таблице), в которых в справке Excel.Тогда помоги до отсутствии искомых значений? формул Excel. Будьте 9,4, что не качестве единого модуля. редактирования.Подключите книгу к веб-части клавиатуре: можно делать при Excel=ПРОСМОТР(искомое_значение;массив) куда будем записывать нижнем и верхнем
- Функция их в новый выполняется поиск. Например,Каждая тема это конца. И посмотри Достаточно ведь 2 добры обьясните мне является верным результатом Некоторые функции ExcelВ правом верхнем углу Excel Web Access.Стрелка вверх помощи двух кнопок,Читайте также:В поле
параметр, по которому регистрах считается эквивалентным.ПРОСМОТР лист Excel. если вам нужно новая задача. Она пожалуйста вторую половинку минуты поэксперементировать чтобы различия функций «ВПР» (максимальное значение в принимают массивы в веб-части Excel нажмитеЗадайте для веб-части Excel– переход на размещенных в нижнем
Предварительный просмотр в MS
Примеры использования функции ПРОСМОТР для быстрого поиска в таблицах Excel
«Искомое значение» будет проводиться поиск.Excel – это преждев форме массиваСкопируйте эти данные в найти значение в может решаться те корректно ли я увидеть отличия… и «ПРОСМОТР». Что столбце – 9,5). качестве аргументов, либо стрелку вниз, чтобы Web Access параметры одну страницу вверх правом углу окна.
Word, как и при Мы во второй всего программа для
имеет аргументы, указанные столбец A первых шести строках
только той функцией,
туда формулы перенес.
- Sameer можно сделать в
- Для корректной работы возвращают результаты в открыть меню веб-части,
перемещения и взаимодействия
документа;При нажатии левой кнопкиГлавной особенностью предварительного просмотра
предыдущем способе, вписываем таблице назвали так обработки данных, которые ниже.Скопируйте эти данные в столбцов A и которая на первыйА то если: Вы наверное написали «ВПР», чего нельзя функции необходимо выполнить виде массивов данных. и выберите пункт (необязательно).Стрелка вниз«Показать поля» является то, что координаты ячейки, в отдельную ячейку. Как находятся в таблице.
Вторая версия функции ПРОСМОТР в Excel
Искомое_значение. столбец B B, это и взгляд подходит, но любое значение убрать функцию просмотр в сделать С «ПРОСМОТР»? сортировку массива данных. Синтаксис:Изменить веб-частьОткройте страницу SharePoint для– переход наотображаются поля документа. в его окне которую будет вводиться обычно, адрес ссылки Функция ПРОСМОТР выводит
Обязательный аргумент. Значение, котороеЧастота будет поиском с и связками других или нечисловое, то форме массива, а Разве это неПример 2. В банк=ПРОСМОТР(искомое_значение; массив). Откроется область инструментов редактирования. одну страницу вниз
Наведя курсор на нужное
документ будет отображаться
- запрос. прописывается в поле
- искомое значение из функция4,14 использованием массива. Функция функций.
- перекашивает всю табл. я имею в
одно и то обратились 5 клиентовВсе аргументы в данной
веб-части Excel.
В нужной зоне на документа; поле, и зажав
точно так же,А вот в поле
либо вручную с
таблицы, обработав заданный
- ПРОСМОТРЦвет
- ПРОСМОТР вернет наиболееА еще необходим Хотелось бы при
виду в форме
же? с целью получения форме записи являютсяВ разделах «Панель инструментов», странице выберите гипертекстEnd
левую кнопку мыши, как после распечатки,«Массив» клавиатуры, либо путем
известный параметр, находящийсяищет в массиве.
красный близкое значение. Чтобы ваш файл-пример. Без вводе неявка или
вектора.
dobcity
- кредита на определенные обязательными. «Строка заголовка» и
- Добавить веб-часть– перемещение в
- в случае необходимости в том числе
нужно указать координаты
выделения соответствующей области. в той же
Аргумент4,19 использовать форму массива, файла ответ будет дисквал. все считалось.А если так:
exceltable.com
«ВПР» и «ПРОСМОТР» — в чем отличия?
: ПРОСМОТР различные между собой
Описание версии 2-х аргументов: «Перемещение и взаимодействие». конец документа; можно увеличивать или с разбивкой на всего массива, в Второй вариант намного строке или столбце.искомое_значениеоранжевый сначала необходимо отсортировать не скорым или Да, если у ПРОСМОТР(1;1:5;б:д) где 1Возвращает значение из
суммы. Банк определяетИскомое_значение — объект текстовых,
выберите свойства, которыеВ верхней частиHome уменьшать его границы, страницы. В случае, котором находится как удобнее. Таким образом, например,может быть числом,5,17 данные. его совсем не вас новички так — искомое значение, строки, из столбца процент за использование логических, числовых или вы хотите включить. страницы вы увидите– переход в просто передвинув их, если увиденный результат просматриваемый диапазон, такВ поле можно вывести в
текстом, логическим значением,
желтыйПри использовании векторной формы будет. эксель знают…. 1:5 вектор поиска, или из массива кредита с учетом ссылочных данных, значение Чтобы отключить свойство, области, отображающие доступные начало документа. тем самым редактируя
не удовлетворил пользователя, и диапазон результатов.«Просматриваемый вектор»
отдельную ячейку цену именем или ссылкой5,77 функции
bakhtovarMCH б:д — вектор . Функция ПРОСМОТР
суммы запрошенных средств которого функция ПРОСМОТР снимите соответствующий флажок. категории и типыЕсли в процессе предварительного книгу для печати. можно сразу отредактировать
При этом, просматриваемыйуказываем диапазон ячеек, товара, указав его на значение.зеленыйПРОСМОТР
: Да согласен, но: или так результатов имеет две синтаксические в долг. Каждый ищет в определенномЧтобы применить изменения и веб-частей.
просмотра вы выявилиДля отключения показа полей
книгу Excel.
диапазон обязательно должен
а в нашем
наименование. Аналогичным образом
Если функции6,39выполняется поиск значения я не могу200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ИНДЕКС($S$1:$Z$1;C4)Я знаю что формы: вектор и клиент должен вернуть
массиве данных. Если
закрыть область инструментов,В области в документе какие-то достаточно кликнуть ещё
Рассмотрим работу с предварительным быть крайней левой случае тот столбец, можно найти номерПРОСМОТРсиний в пределах только войти по томуMCH
есть различия между массив. Векторная форма банку сумму денег, искомое_значение отсутствует в в ее нижнейКатегории неточности, ошибки или
раз по той просмотром на примере колонкой массива, иначе где находятся наименования, телефона по фамилиине удается найти
Теперь скопируйте формулы ПРОСМОТРА одной строки или что забыл пароль: формула в I4 этими функциями, а функции ПРОСМОТР просматривает которая телу кредита указанном массиве, функция части нажмите кнопку
выберите вас не устраивает же кнопке, которой программы Excel 2010. формула будет работать одно из которых человека. Давайте подробно
искомое_значение из приведенной ниже одного столбца (так и ссылка «Забыли
=ЕСЛИ(ЕЧИСЛО(H4);ИНДЕКС($T$1:$AA$1;H4);0) то бы эти диапазон, в который и процентов в
выбирает наибольшее значениеОКБизнес-данные оформление, то книгу было включено их Более поздние версии некорректно. будем записывать в
разберемся, как работает, то в массиве таблицы в столбец называемый вектор) и пароль?» у меняJhonson
2 формулы не входят значения только пересчете на денежные из массива, которое.. Затем в области Excel следует отредактировать. отображение. этой программы имеют
После того, как указанные ячейке функция ПРОСМОТР. выбирается наибольшее значение,
D своего листа. возврат значения из не работает, я:
создавались бы. Просто одной строки или средства. Введем исходные
меньше или равноК началу страницыЧасти
В случае, еслиПравая кнопка режима предпросмотра
planetaexcel.ru
Формула с функцией ПРОСМОТР
схожий алгоритм работы данные введены, жмем«Искомое значение»Скачать последнюю версию которое меньшеСкопируйте эту формулу в той же позиции кликну в негоAmfibiya до конца не
одного столбца (так данные в таблицу:
искомому. Ошибка #Н/Д
Функция ПРОСМОТР в Excelвыберите нужно исправить само —
данного инструмента. на кнопку. Вносить координаты в Excel
искомого_значения
столбец D второго диапазона. а не какой, посмотрите с формулой
догоняю в чем называемый вектор) вЗадача состоит в поиске будет возвращена, если возвращает искомое значение
Excel Web Access содержимое документа, то«По размеру страницы»Прежде всего, разберемся, как«OK» это поле такжеПрежде, чем приступить кили равно ему.Ниже описано, что этаПРОСМОТР(искомое_значение; просматриваемый_вектор; [вектор_результатов])
реакции нет от
:(
поисках определенного значения процента возврата с
значение первого элемента
из массива данных,. есть, данные, которые. После её нажатия попасть в область. легче всего путем
использованию инструмента ПРОСМОТРЕсли формула означаетФункцияbakhtovarMCHGuest и возвращает значение
учетом зависимости между массива больше, чем строки либо столбцаНажмите
он содержит, то страница приобретает те предварительного просмотра.
Теперь, как и в выделения области на нужно создать таблицу,искомое_значение
Предполагаемый результатПРОСМОТР: все я нашел,: если я не
из другого столбца процентом и суммой искомое_значение. таблицы. Она позволяет
Добавить нужно вернутся во размеры в области
Находясь в окне открытой прошлый раз, для листе.
где будут значения,
меньше, чем наименьшееФормулав векторной форме пароль создам тему
для колонки ИТОГО ошибаюсь, то для или строки. Форма кредита, а также
Массив – массив данных быстро найти искомое, чтобы добавить веб-часть
вкладку предпросмотра, какие она
книги Excel, переходим того, чтобы использоватьВ поле которые нужно найти,
значение в первой=ПРОСМОТР(4,19; A2:A6; B2:B6) имеет аргументы, указанныеЧитайте правила. В МЕСТО В ГРУППЕ, вектора значения должны массива функции ПРОСМОТР
вычисление суммы возврата. в Excel (текстовые, значения без необходимости на страницу. Держите«Главная» будет иметь на во вкладку данную функцию, в«Вектор результатов» и заданные значения. строке или первомПоиск значения 4,19 в ниже.
них есть ответы смог придумать только быть ОТСОРТИРОВАНЫ, а просматривает первую строку Определим искомые величины числовые, логические), сравниваемый ручного поиска среди
страницу открытой дляи произвести необходимые печати.«Файл» ячейку для искомоговносятся координаты диапазона, Именно по данным столбце (в зависимости
столбце A иИскомое_значение на все вопросы. с доп. столбцом для впр() сортировка или первый столбец
для клиента с с искомым значением. больших объемов информации. редактирования. действия по редактированию.Для отключения данного режима. значения вводим одно где находятся значения, параметрам поиск и от размерности массива),
возврат значения из Обязательный аргумент. Значение, которое Эта тема закрыта.
и формулой массива не имеет значения. массива, находит указанное фамилией Иванов. Для
excelworld.ru
Функция ПРОСМОТР производит
In this Article
- Opening the Visual Basic Editor
- To enable the Developer Ribbon
- Understanding the VBE Screen
- Inserting a module or form into your code
- Removing a Module or Form from the Project Explorer
- The Properties Window
- The Code Window
- Understanding the Code
- Sub Procedures
- Function Procedures
- Creating a new Procedure
- Writing Code that is easy to understand and navigate
- Adding Comments
- Indenting
- UpperCase vs LowerCase
- AutoComplete
- Error trapping and Debugging
- Syntax errors
- Compilation Errors
- Runtime Errors
- Logical Errors
- On Error Go To
- On Error Resume Next
This tutorial will show you how to open and program in the Visual Basic Editor in VBA.
Opening the Visual Basic Editor
There are a few ways to access the Visual Basic Editor (VBE) in Excel.
Press Alt + F11 on your keyboard.
OR
Click View > Macros > View Macros. From here you can Edit an existing macro or Create a new one. Either option opens up the VB Editor.
OR
Developer > Visual Basic
Note: If you don’t see the Developer Ribbon, you’ll need to enable it.
To enable the Developer Ribbon
Click on the File tab in the Ribbon, and go down to Options. In the Customize Ribbon options, tick the Developer check box. This is switched off by default so you will need to switch it on to see the tab on the ribbon.
Click OK.
The Developer tab will appear on the main ribbon. Click on Visual Basic at the start of the ribbon to access the Visual Basic Editor.
Understanding the VBE Screen
The VBE Screen is shown in the graphic below.
The Project Explorer
The Project Explorer enables you to see how the Project in which you are working is organized. You can see how many modules and forms are stored in the project, and can navigate between these modules and forms. A module is where the code in your workbook is stored, when you record a macro, it will be stored in a standard module – which will by default be named ‘Module1’.
Each of the worksheets in your Excel file also has module behind it, as does the workbook itself. When you insert a new sheet into the workbook via the main Excel screen, you will see an additional sheet module appear in the Project Explorer.
Double-click on a module to move to the code for that module.
You can also click on the Window menu on the toolbar and select the module there to move to the code for that module.
Type of Modules
The modules are organized into 5 different types.
- Standard modules – most of your code will go into this type of module. When you record a macro, it gets put into a standard module. When you write a general procedure to be used throughout your workbook, it also normally goes into a standard module.
- Workbook modules – this module holds the code the is unique to that individual workbook. Most of the code in these type of modules are known as EVENTS. An event can occur when a workbook is opened or closed for example. The module can also contain code that is written by yourself and used by the events.
- Sheet modules – this module holds the code that is unique to that individual sheet. They can occur when a sheet is clicked on for example (the Click Event), or when you change data in a cell. This module can also hold code that is written by yourself and called by the Events.
- Form modules – this is the module behind a custom form that you may create. For example you may create a form to hold details for an invoice, with an OK button, the code behind the button (the Click Event) contains the code that will run when the button is clicked.
- Class modules – this module is used to create objects at run time. Class module are used by Advanced VBA programmers and will be covered at a later stage.
Inserting a module or form into your code
To insert a new module into your code, click on the Insert option on the menu bar, and click Module.
Or, click on the Insert Module button which you will find on the standard ribbon.
To insert a new user form into your code, select the UserForm option.
A new user form will appear in the Project Explorer and will be shown in the Code Window on the right.
You can also insert a Class Module
A class module is used to insert objects into your VBA project.
Removing a Module or Form from the Project Explorer
Right-click on the module or form you wish to remove to show the right click short cut menu.
Click Remove (in this case UserForm1…)
OR
Click on the File menu, and then click on Remove (UserForm1).
A warning box will appear asking if you want to Export the form or module before you remove it. Exporting the form or module enables you to save it as an individual file for use in a different Excel project at some other time.
More often than not when you remove a module or form it is because you do not need it, so click No.
The Properties Window
You will see the properties window below the Project Explorer. You may need to switch this on.
Press F4 or click View, Properties Window.
The properties window enables you to see the properties for the particular module or form that is selected in the Project Explorer. When you are working in modules, you can use the properties window to change the name of the module. This is the only property available to a module. However, when you are working with forms, there will be far more properties available and the Properties window is then used extensively to control the behavior of forms and the controls contained in the form.
When you record a macro, it is automatically put into a standard module. The module will named ‘Module1’ and any code that is contained in that module is available to be used throughout your project. You should rename your module to something that is significant, that would make your code easy to find if you were to add multiple modules to the project.
You can also rename your forms.
If you have renamed your sheet in Excel, the name of the sheet will show up as the name of the sheet in brackets after Sheet1.
If you want to change the name of the module behind the sheet, you can change it in the same way you change the module and user form name – by changing the Name property in the Properties Window.
VBA Coding Made Easy
Stop searching for VBA code online. Learn more about AutoMacro — A VBA Code Builder that allows beginners to code procedures from scratch with minimal coding knowledge and with many time-saving features for all users!
Learn More
The Code Window
The code window shows you the sub procedures and functions that are contained in your modules – it shows you the actual code. When you record a macro, a sub procedure will be created for you. If you add a short cut key to the macro, it will show up as a comment in the macro to let you know what the short cut key is that you assigned to the macro.
At the top of the code window are two combo boxes. These allow you to see which object (if any) within the Module that you might be working on, and which Procedure you might be working on.
In the example above, we are not working on any object – thus this is set to general, but we are working within the Gridlines procedure.
If we had more than one procedure in this module, we could use the combo box above to navigate to the other procedures.
Understanding the Code
There are 2 types of procedures – Sub procedures and Function procedures.
Sub Procedures
The macro recorder can only record Sub procedures. A Sub procedure does things. They perform actions such as formatting a table or creating a pivot table, or in the gridline example, changing the view settings of your active window. The majority of procedures written are Sub procedures. All macros are Sub procedures.
A sub procedure begins with a Sub statement and ends with an End Sub statement. The procedure name is always followed by parentheses.
Sub HideGridLines()
ActiveWindow.DisplayGridlines = False
End Sub
VBA Programming | Code Generator does work for you!
Function Procedures
A Function procedure returns a value. This value may be a single value, an array, a range of cells or an object. Functions usually perform some type of calculation. Functions in Excel can be used with the Function Wizard or they can be called from Sub Procedures.
Function Kilos(pounds as Double)
Kilos = (pounds/2.2)
End Function
This function could be used within the Insert Function dialog box in Excel to convert Pounds to Kilograms.
Creating a new Procedure
Before you create your new procedure, make sure you are in the module in which you wish to store the procedure. You can create a new procedure by clicking on the Insert menu, Procedure;
or you can click on the icon on the toolbar
The following dialog box will appear
- Type the name of your new procedure in the name box – this must start with a letter of the alphabet and can contain letters and number and be a maximum of 64 characters.
- You can have a Sub procedure, a Function procedure or a Property procedure. (Properties are used in Class modules and set properties for ActiveX controls that you may have created).
- You can make the scope of the procedure either Public or Private. If the procedure is public (default), then it can be used by all the modules in the project while if the procedure is private, it will only be able to be used by this module.
- You can declare local variables in this procedure as Statics (this is to do with the Scope of the variable and makes a local procedure level variable public to the entire module). We will not use this option.
When you have filled in all the relevant details, click on OK.
You then type your code between the Sub and End Sub statements.
ALTERNATIVELY – you can type the Sub and End Sub statements in your module exactly as it appears above. You do not need to put the word Public in front of the word sub – if this word is omitted, all procedures in the module are automatically assumed to be Public.
Then you type Sub and then the name of your procedure followed by parenthesis.
ie:
Sub test()
The End Sub statement will appear automatically.
Writing Code that is easy to understand and navigate
Get into the habit of putting in comments in your code in order to remind yourself at a later stage of the functionality of the code.
You can insert a comment in your code but typing an apostrophe on the keyboard or you can switch on the Edit toolbar, and use the comment button which appears on that toolbar.
Right-click on the toolbars.
Select Edit.
Click on the comment button to insert a comment into your code.
NOTE: You usually only use the comment block button when you have a few lines of code you wish to comment out (and not delete). It is easier for a single comment to use an apostrophe.
Indenting
A good habit to get into is to indent your code making it easy to read through the code and see the different parts of the code.
There can be many levels of indenting, depending on the logic of your code.
AutoMacro | Ultimate VBA Add-in | Click for Free Trial!
UpperCase vs LowerCase
VBA adjusts all code to Proper Case so if you type ALL IN UPPERCASE or all in lowercase it will Readjust Your Code To Be In Proper Case!
AutoComplete
When you adjust your code, you will notice that VBA tries to help you by suggesting the code that you can type. This is known as AutoComplete.
Error trapping and Debugging
There are 4 types of errors that can occur when you write VBA code – Syntax errors, Compilation errors, Runtime errors and Logical Errors.
Syntax errors
These occur when you write the code incorrectly. This is largely prevented by VBA by having the Syntax check option switch on. This is normally on by default but if your is switch off, then switch it on by going to Tools, Options and click Auto Syntax Check.
If you type the code incorrectly (for example excluding something that should be in the code), a message box will pop up while you are writing the code giving you the opportunity to amend the code.
AutoMacro | Ultimate VBA Add-in | Click for Free Trial!
Compilation Errors
These occur when something is missing from the code that prevents the code from running. The error does not come up when you write the code, but it occurs when you try and run the code.
Runtime Errors
These occur when you run the code, and the syntax and compilation is correct, but something else occurs to prevent the code from running correctly.
In this case, Sheet4 does not exist. This error message is more useful than the compile error messages as it gives you the opportunity to Debug the code and see why it is not working.
Click Debug. The code will stop at the error and highlight the error in yellow enabling you to correct your error.
Amend Sheet4 to Sheet2 (as Sheet 2 exists and Sheet 4 does not exist).
Press F5 or click on the Continue button on the toolbar.
Logical Errors
These are the most difficult to find. In their case, the code is written correctly but the actual logic of the code is flawed, so you may not get the result that you want from the code. For logical errors, error trapping is essential.
There are 2 types of error traps
On Error Go To
The following code is to open the File Open Dialog box – it will give us an error if the user clicks Cancel.
When you run the code the File Open dialog box appears.
When you then click cancel, the error will occur.
The following Error trap will continue the code to the Exit Function of the code, and return message.
This makes use of On Error GoTo to exit the function.
When you run the code and click cancel, the message box will appear.
On Error Resume Next
If you put the On Error Resume Next Statement into your code, the line that contains the error will be ignored and the code will continue.
For example, if the user clicks Cancel in the code below, the code will not give you a run-time error, it will just end without the code doing anything further.
There are times when this is very useful but it can also be very dangerous in some circumstances as it does not return a message as to why you obtained an error.
Задача по объединению данных из нескольких Excel-файлов, или подгрузка доп.данных из внешнего файла решается достаточно просто: создается объект Excel, который можно скрыть визуально, затем открывается необходимый файл и выполняются нужные действия. Просто приведу несколько примеров.
Открытие файла Excel
Set objExcel = New Excel.Application objExcel.Visible = False Set wb = objExcel.Workbooks.Open(fname) Set ws = wb.Sheets(1)
В первой строке запускаем новый Excel, затем делаем его невидимым, в 3-й строке открываем файл fname. В последней строке получаем первый лист открытого excel-кого файла.
Альтернативный вариант открытия файла
Set objExcel = New Excel.Application Set wb = objExcel.Workbooks wb.Open fname, local:=True Set ws = wb.Item(1).ActiveSheet
При открытии файла можно использовать доп.параметры (приведу некоторые):
UpdateLinks — обновлять или нет внешние ссылки при открытии файла;
ReadOnly — открытие в режиме только для чтения;
Format — используемый при открытии разделитель (1 — символ tab, 2 — запятые, 3 — пробелы, 4 — точка с запятой, 5 — без разделителя, 6 — пользовательский разделитель, заданный в Delimiter);
Delimiter — пользовательский разделитель (в случае, если Format = 6);
Origin — тип операционной системы (xlMacintosh, xlWindows или xlMSDOS);
Local — использование в Excel языка такого же, как в открываемом файле.
Теперь можно выполнять какие-то действия с открытым файлом, просто обращаясь через wb и ws.
ws.Cells(1, 1).Value = "Test" ws.Cells(1, 1).Font.Size = 18 ' Поменять размер шрифта ws.Cells(1, 1).HorizontalAlignment = xlCenter '
Записать книгу и закрыть
wb.Save ' Записать с тем же именем wb.SaveAs Filename:="имя_нового_файла", FileFormat:=xlOpenXMLWorkbookMacroEnabled ' Записать в новый файл wb.Close ' Закрыть книгу
Для записи текущей книги (где находится макрос), можно использовать:
ActiveWorkbook.SaveAs
Чтобы сохранить или перезаписать книгу Excel без вопросов, можно применить такой вариант:
Application.DisplayAlerts = False ActiveWorkbook.SaveAs Filename:="c:Temp001.xlsm", FileFormat:=xlOpenXMLWorkbookMacroEnabled Application.DisplayAlerts = True
У метода SaveAs есть несколько параметров сохранения, с ними можно ознакомиться на сайте Microsoft.
Если нужно, можно закрыть книгу Excel без сохранения изменений таким образом:
wb.Close False
Visual Basic for Applications (VBA) is a frequently used utility for Microsoft applications — including Microsoft Excel, Office, PowerPoint, Word, and Publisher. As VBA is a fairly complicated language to learn, much has been written about it and its capabilities (and if you want to learn more about VBA and Excel, you can read about it here).
One of the most basic tasks you can use VBA for is to open and manipulate files, such as an Excel file. VBA open files will open the Excel file — from there you can control how it is read and written. Commonly, you would use VBA code to open the file, and then use Excel VBA macros to write to the file.
Let’s take a deeper look into how VBA open files can be used with an Excel Workbook.
What is VBA Open Files and how does it work?
VBA is extremely similar to Visual Basic, a programming language used within the Microsoft ecosystem. It is used to create “macros.” A macro is a sequence of automated events which can fine-tune, optimize, automate, and improve your operations. The Excel VBA implementation can open files and run macros on them.
In Excel, you use VBA by inserting the code in the Visual Basic Editor. You can also choose the “Macro” button on the Developer Tab. From there, you will enter in code as though programming.
Before you start digging into VBA, you should have some understanding of programming. Programming means directing a computer to perform a certain sequence of events. Keep a few things in mind:
- You should always test your programming thoroughly to make sure it does what you want it to do.
- You should never implement your programming in a “live” environment with important data rather than test data.
- You should save your work frequently and you should be prepared to restore both your programming and your data if needed.
Running the macros you program
When macros are created, they’re assigned to given keypresses. Sometimes this is a combination of keys, and sometimes it’s an extra mouse button. Regardless, they’re intended to set off an automated chain of events whenever you do the given action (whether it’s pressing a key on your keyboard, or a button on your mouse). You can also run a macro manually by selecting it.
So, when you run a macro, you have Microsoft Excel already open. The macro runs within Excel, and you will do all your VBA programming inside of that program. Likewise, you will do your Microsoft Word VBA programming inside of Microsoft Word.
Opening an Excel file with VBA
The first step to updating, modifying, and saving Excel files is to be able to open them. To open an Excel file with VBA you would program as follows:
Sub openworksheet()
Workbooks.Open filename:= _ “filepath”
End sub
The “sub” above is a lot like a function. It creates a small amount of code that is intended to take action. It begins with “Sub” and ends with “End Sub.”
In the above code, note that the italicized “filepath” references the full path of the workbook. Without the appropriate Workbooks.Open filename, you won’t be able to open the given file. You will also need the appropriate file type (Microsoft Excel, which is either XLS or XLSX) or the open method will fail.
Of course, the above assumes that you are always going to be opening the Workbook at the “filepath.” You might also want to open any file at all. You can create a macro that opens a dialog, through which you can select any file.
Sub openworksheet()
Dim Flocation as Variant
Flocation = Application.GetOpenFileName()
If Flocation <> false then
Workbooks.Open Filename:= Flocation
End If
End Sub
The above code prompts the user to give a file name. If the user does give a file name (the variable, Flocation is no longer false), then the program will open that file.
Also note that Flocation is just the name of the variable that’s being used. You could call it something else; in fact, you could even call it just “f.” All that’s important is that you don’t use a word that the code already uses, such as “Variant” or “Filename.”
You might also be wondering why this code is so important. After all, you can open your own files at any time. But you can bind it to a specific keypress, making it a macro. So, now, typing something like “F8” will automatically open the “open a file” dialog.
But once you’ve automatically opened a file, what’s next? Generally, opening the file is only the first step. Once you’ve opened the Excel file, you still need to be able to read and write to it.
Reading the Excel file
You’ve opened your Excel file. But what’s inside of it? Luckily for you, it’s pretty easy to start reading an Excel file once you’ve opened it with VBA.
First, you should know that when you open a file, it becomes the ActiveWorkbook, which can be referenced in code as “ActiveWorkbook.”
Let’s say you want to read the first cell of the book.
Dim contents As Integer
contents = ActiveWorkbook.Range(“A1”).value
Now, that does assume that the cell is an Integer. You would need to change it to a String if you were reading a string, or a Date if you were reading a Date. Consequently, you need to be really familiar with the type of data you’re reading before you go any further.
Now, note that this is reading the contents of the cell into just a variable. That’s not displaying it. That’s not doing anything with it at all. If you wanted to see, perhaps, what the contents were, you would then type:
MsgBox contents
Alternatively, you could:
MsgBox ActiveWorkbook.Range(“A1”).value
Either of these options should display the value. But, of course, it’s a static value; it’s always going to display A1. So, you might need to code things a little more expressively if you’re trying to read the entirety of a document, or if you’re trying to transition one document to another.
Writing to the file
So, you have your workbook open through the power of VBA. But now you want to write to the file. Writing can be used in tandem with reading; once the Workbook is open you could do both.
As an example, you could write a macro that would open a Workbook and copy one column to another column, by reading the data in the first column and then writing that data to the second column.
Similarly, you could write a macro that would open two Workbooks and copy data from one to another, and then save both Workbooks, and then close both Workbooks.
As mentioned, once you open a workbook with VBA, the workbook that you opened becomes the ActiveWorkbook. This also happens if you have created a new workbook within VBA.
You can then access its data through:
ActiveWorkbook.Sheets
ActiveWorbook.Cells
As an example, if you wanted to edit the cell at column 1, row 1, on Sheet 1, you would write as follows:
ActiveWorkbook.Sheets(“Sheet 1”).Cells(1,1).Value= “1”
If this is confusing, you can also use the “Range” field.
ActiveWorkbook.Sheets(“Sheet 1”).Range(“A1”).Value= “1”
The above would have the same result.
Writing to a sheet can become very complex. Consider that, when you’re writing the macro system, you don’t know what data is in those cells. You only know their positions. You’re essentially writing to that position blindly.
Macros are frequently used to do things such as read CSV files and import that CSV information into a brand new Microsoft Excel workbook. But it takes a lot of time and a lot of testing to ensure that the data is going through correctly.
In the above case, you’re only altering range A1. But you could iterate through all the rows and columns of a workbook one by one if you were trying to fill it out line by line. As you learn more about Excel and VBA, you will learn more advanced methods of both reading and writing data.
Saving the Excel workbook file
Just like when you’re using Excel regularly, you still need to save your changes. If you have opened and changed a Workbook, save it before you close it.
ActiveWorkbook.Save
You could even write a Macro that would save all your workbooks and close them, as follows:
For each workbook in Application.Workbooks
workbook.Save
Next workbook
Application.Quit
The above code iterates through each Workbook saving it until it cannot find a Workbook anymore. Once it can no longer find a Workbook, it quits the application. This is very useful for those who want to shut down fast and have a lot of workbooks left to save.
Closing the selected file
Closing the file is just as easy as opening a workbook. In fact, it’s actually easier, because you don’t need to know the file name. VBA already knows which file it has opened.
To close the Excel file you would type:
ActiveWorkbook.Close
On the other hand, perhaps you wanted to close a specific Workbook. In that case, you would use the following:
Workbooks(“book.xlsx”).Close
This is under the assumption the book was called “book.xlsx”; you would replace the given name for your sheet. Once you have closed the Workbook, you will not be able to make any further modifications to it until you open it again.
Opening a Microsoft Excel workbook that is password protected
Sometimes you may have password-protected your workbooks. That goes into more complicated territory. Understandably, it’s not going to open if you just try to directly open it.
But you can still open it with VBA.
Workbooks.Open(filename:= “filename”, Password:= “password”)
As you can see above, you just added the password directly into the macro. Now the file is going to open just fine.
But there’s a problem with the above, which (if you’re good with security) you already know. You just saved your password as plain text!
Now, anyone with access to your computer could potentially open that file without knowing the password. And if you’ve been using that password for multiple files (a big no-no), they could be compromised, too.
So, VBA does provide a method of opening files that have a password. But it’s not a good method because of the above reasons. It means that your system could be compromised. If you just have a password to prevent outside intrusion (the file being sent somewhere else and opened by an outsider), this may not be a problem. But if you’re trying to protect your file internally as well as externally, it can be a major issue.
The alternative is to use the previous method of opening a file with a dialogue box. When you press a button (or otherwise launch your macro), you’ll be given a dialogue box, and you’ll be able to open whatever file you want. Your macro can then continue actions on the file after you have manually entered your password.
Opening a read-only file
Some Microsoft Excel files don’t have a password when you open them. Instead, they are set to read-only. If they’re set to read-only, you’ll be able to open and read from them. But you won’t be able to actually write to them without a secondary password.
ActiveWorkbook.Password = “password”
Above is the method that you would call after you’ve opened the book so that you can start to write to it. You wouldn’t include the password when opening the file, because you wouldn’t have been prompted for it then.
The benefits of using Excel VBA Open
VBA is used to automate routine, mundane tasks, such as copying large volumes of data from one book to another. Any time you’re finding yourself spending hours just copying and pasting data, or running fairly mundane calculations, a macro can help.
You can also use VBA to automate smaller tasks that you find use a lot of keypresses. If you find yourself frequently needing to open the same 10 Excel Workbooks at once, for instance, you can create a macro that will open all of them on a single keypress, and close them all, too.
While it may only save you a few minutes of time, those minutes of time add up.
Potential issues with Excel VBA Open
It’s possible to run into issues with VBA open. If you have a protected workbook, you won’t be able to open it without the password (as noted). If you don’t have the password, you aren’t going to be able to open the file.
If the selected file is read-only, you aren’t going to be able to write to it without the right permissions. If you don’t realize that the file is read-only, you could try writing to it only for the action to fail.
And because you can’t always see what the macro is doing until you run it, you can potentially overwrite data or delete it altogether. This is why it’s always important to test your macros with test data before trying to implement it with live data.
But even so, Excel VBA open is a robust language. Most common activities with Workbooks (such as opening, closing, reading, writing, and saving) can be completed quite intuitively and often with a single line of code.
Learning more about Excel VBA
In the right hands, VBA is very powerful. If you have any automated, routine tasks in Excel, consider automating them with Excel VBA. Even better, once you learn the basics of VBA, you can also use it in other Microsoft applications such as Microsoft Word.
Still, powerful also means that mistakes can be made. Because VBA can open files and write to them, it’s also possible that it can overwrite data. This is why testing your programming is so important.
Frequently Asked Questions:
Can a macro open a file?
The Excel Macro can be used to prompt a user to open a file or to open a specific file (given the entire filename).
How do I open a text file in Excel VBA?
The VBA OpenTextFile method can be used to open a text file, just as the VBA Workbooks.Open method is used to open an Excel file.
How do I open a new workbook in VBA?
To open a new workbook in VBA, you would use the Workbooks.Add() VBA function. This function both creates a new workbook and prioritizes it as the active workbook.
Excel – это прежде всего программа для обработки данных, которые находятся в таблице. Функция ПРОСМОТР выводит искомое значение из таблицы, обработав заданный известный параметр, находящийся в той же строке или столбце. Таким образом, например, можно вывести в отдельную ячейку цену товара, указав его наименование. Аналогичным образом можно найти номер телефона по фамилии человека. Давайте подробно разберемся, как работает функция ПРОСМОТР.
Применение оператора ПРОСМОТР
Прежде, чем приступить к использованию инструмента ПРОСМОТР нужно создать таблицу, где будут значения, которые нужно найти, и заданные значения. Именно по данным параметрам поиск и будет осуществляться. Существует два способа использования функции: векторная форма и форма массива.
Способ 1: векторная форма
Данный способ наиболее часто применим среди пользователей при использовании оператора ПРОСМОТР.
- Для удобства строим вторую таблицу с колонками «Искомое значение» и «Результат». Это не обязательно, так как для данных целей можно использовать любые ячейки на листе. Но так будет удобнее.
- Выделяем ячейку, куда будет выводиться итоговый результат. В ней и будет находиться сама формула. Кликаем по пиктограмме «Вставить функцию».
- Открывается окно Мастера функций. В перечне ищем элемент «ПРОСМОТР» выделяем его и кликаем по кнопке «OK».
- Далее открывается дополнительное окно. У других операторов оно редко встречается. Тут нужно выбрать одну из форм обработки данных, о которых шёл разговор выше: векторную или форму массива. Так как мы сейчас рассматриваем именно векторный вид, то выбираем первый вариант. Жмем на кнопку «OK».
- Открывается окно аргументов. Как видим, у данной функции три аргумента:
- Искомое значение;
- Просматриваемый вектор;
- Вектор результатов.
- Для тех пользователей, которые желают применять данный оператор вручную, без использования «Мастера функций», важно знать синтаксис его написания. Он выглядит следующим образом:
- =ПРОСМОТР(искомое_значение;просматриваемый_вектор;вектор_результатов)
- Мы же остановимся на тех значениях, которые следует вносить в окно аргументов.
В поле «Искомое значение» вводим координаты ячейки, куда будем записывать параметр, по которому будет проводиться поиск. Мы во второй таблице назвали так отдельную ячейку. Как обычно, адрес ссылки прописывается в поле либо вручную с клавиатуры, либо путем выделения соответствующей области. Второй вариант намного удобнее.
- В поле «Просматриваемый вектор» указываем диапазон ячеек, а в нашем случае тот столбец, где находятся наименования, одно из которых будем записывать в ячейке «Искомое значение». Вносить координаты в это поле также легче всего путем выделения области на листе.
- В поле «Вектор результатов» вносятся координаты диапазона, где находятся значения, которые нам нужно найти.
- После того, как все данные введены, жмем на кнопку «OK».
- Но, как видим, пока что функция выводит в ячейку некорректный результат. Для того, чтобы она начала работать, следует в область искомого значения ввести нужный нам параметр из просматриваемого вектора.
- После того, как данные были введены, ячейка, в которой находится функция, автоматически заполняется соответствующим показателем из вектора результатов.
- Если мы введем в ячейку искомого значения другое наименование, то и результат, соответственно, поменяется.
Функция ПРОСМОТР очень напоминает ВПР. Но в ВПР просматриваемый столбец обязательно должен быть крайним левым. У ПРОСМОТР данное ограничение отсутствует, что мы и видим на примере выше.
Урок: Мастер функций в Excel
Способ 2: форма массива
В отличие от предыдущего способа, данная форма оперирует целым массивом, в который сразу входит просматриваемый диапазон и диапазон результатов. При этом просматриваемый диапазон должен являться обязательно крайнем левым столбцом массива.
- После того, как выбрана ячейка, куда будет выводиться результат, запущен Мастер функций и сделан переход к оператору ПРОСМОТР, открывается окно для выбора формы оператора. В данном случае выбираем вид оператора для массива, то есть, вторую позицию в перечне. Жмем «OK».
- Открывается окно аргументов. Как видим, данный подтип функции имеет всего два аргумента – «Искомое значение» и «Массив». Соответственно её синтаксис следующий:
=ПРОСМОТР(искомое_значение;массив)
В поле «Искомое значение», как и при предыдущем способе, вписываем координаты ячейки, в которую будет вводиться запрос.
- А вот в поле «Массив» нужно указать координаты всего массива, в котором находится как просматриваемый диапазон, так и диапазон результатов. При этом, просматриваемый диапазон обязательно должен быть крайней левой колонкой массива, иначе формула будет работать некорректно.
- После того, как указанные данные введены, жмем на кнопку «OK».
- Теперь, как и в прошлый раз, для того, чтобы использовать данную функцию, в ячейку для искомого значения вводим одно из наименований просматриваемого диапазона.
- Как видим, после этого автоматически в соответствующую область выводится результат.
Внимание! Нужно заметить, что вид формулы ПРОСМОТР для массива является устаревшим. В новых версиях Excel он присутствует, но оставлен только в целях совместимости с документами, сделанными в предыдущих версиях.
Хотя использовать форму массива можно и в современных экземплярах программы, рекомендуется вместо этого применять новые более усовершенствованные функции ВПР (для поиска в первом столбце диапазона) и ГПР (для поиска в первой строке диапазона).
Они ничем не уступают по функционалу формуле ПРОСМОТР для массивов, но работают более корректно. А вот векторный оператор ПРОСМОТР является актуальным до сих пор.
Урок: Примеры функции ВПР в Эксель
Как видим, оператор ПРОСМОТР является отличным помощником при поиске данных по искомому значению. Особенно эта возможность полезна в длинных таблицах. Также следует заметить, что существуют две формы этой функции – векторная и для массивов. Последняя из них является уже устаревшей. Хотя некоторыми пользователями она применяется до сих пор.
Мы рады, что смогли помочь Вам в решении проблемы.
Опишите, что у вас не получилось.
Наши специалисты постараются ответить максимально быстро.
Помогла ли вам эта статья?
ДА НЕТ
Источник: https://lumpics.ru/function-view-in-excel/
Функция просмотр в excel на простом примере
В этом уроке мы познакомимся с функцией ПРОСМОТР, которая позволяет извлекать нужную информацию из электронных таблиц Excel.
На самом деле, Excel располагает несколькими функциями по поиску информации в книге, и каждая из них имеет свои преимущества и недостатки.
Далее Вы узнаете в каких случаях следует применять именно функцию ПРОСМОТР, рассмотрите несколько примеров, а также познакомитесь с ее вариантами записи.
ВАРИАНТЫ ЗАПИСИ ФУНКЦИИ ПРОСМОТР
Начнем с того, что функция ПРОСМОТР имеет две формы записи: векторная и массив. Вводя функцию на рабочий лист, Excel напоминает Вам об этом следующим образом:
ФОРМА МАССИВА
Форма массива очень похожа на функции ВПР и ГПР. Основная разница в том, что ГПР ищет значение в первой строке диапазона, ВПР в первом столбце, а функция ПРОСМОТР либо в первом столбце, либо в первой строке, в зависимости от размерности массива. Есть и другие отличия, но они менее существенны.
Данную форму записи мы подробно разбирать не будем, поскольку она давно устарела и оставлена в Excel только для совместимости с ранними версиями программы. Вместо нее рекомендуется использовать функции ВПР илиГПР.
ВЕКТОРНАЯ ФОРМА
Функция ПРОСМОТР (в векторной форме) просматривает диапазон, который состоит из одной строки или одного столбца. Находит в нем заданное значение и возвращает результат из соответствующей ячейки второго диапазона, который также состоит из одной строки или столбца.
Вот это да! Это ж надо такое понаписать… Чтобы стало понятней, рассмотрим небольшой пример.
ПРИМЕР 1
На рисунке ниже представлена таблица, где указаны номера телефонов и фамилии сотрудников. Наша задача по фамилии сотрудника определить его номер телефона.
В данном примере функцию ВПР не применить, поскольку просматриваемый столбец не является крайним левым. Именно в таких случаях можно использовать функцию ПРОСМОТР. Формула будет выглядеть следующим образом:
Первым аргументом функции ПРОСМОТР является ячейка C1, где мы указываем искомое значение, т.е. фамилию. Диапазон B1:B7 является просматриваемым, его еще называют просматриваемый вектор.
Из соответствующей ячейки диапазона A1:A7 функция ПРОСМОТР возвращает результат, такой диапазон также называют вектором результатов. Нажав Enter, убеждаемся, что все верно.
ПРИМЕР 2
Функцию ПРОСМОТР в Excel удобно использовать, когда векторы просмотра и результатов относятся к разным таблицам, располагаются в отдаленных частях листа или же вовсе на разных листах. Самое главное, чтобы оба вектора имели одинаковую размерность.
На рисунке ниже Вы можете увидеть один из таких примеров:
Как видите, диапазоны смещены друг относительно друга, как по вертикали, так и по горизонтали, но формула все равно вернет правильный результат. Главное, чтобы размерность векторов совпадала. Нажав Enter, мы получим требуемый результат:
При использовании функции ПРОСМОТР в Excel значения в просматриваемом векторе должны быть отсортированы в порядке возрастания, иначе она может вернуть неверный результат.
ФУНКЦИИ ИНДЕКС И ПОИСКПОЗ В EXCEL НА ПРОСТЫХ ПРИМЕРАХ
Совместное использование функций ИНДЕКС и ПОИСКПОЗ в Excel – хорошая альтернатива ВПР, ГПР и ПРОСМОТР. Эта связка универсальна и обладает всеми возможностями этих функций.
А в некоторых случаях, например, при двумерном поиске данных на листе, окажется просто незаменимой.
В данном уроке мы последовательно разберем функции ПОИСКПОЗ и ИНДЕКС, а затем рассмотрим пример их совместного использования в Excel.
Более подробно о функциях ВПР и ПРОСМОТР.
ФУНКЦИЯ ПОИСКПОЗ В EXCEL
Функция ПОИСКПОЗ возвращает относительное расположение ячейки в заданном диапазоне Excel, содержимое которой соответствует искомому значению. Т.е. данная функция возвращает не само содержимое, а его местоположение в массиве данных.
Например, на рисунке ниже формула вернет число 5, поскольку имя «Дарья» находится в пятой строке диапазона A1:A9.
В следующем примере формула вернет 3, поскольку число 300 находится в третьем столбце диапазона B1:I1.
Из приведенных примеров видно, что первым аргументом функции ПОИСКПОЗ является искомое значение. Вторым аргументом выступает диапазон, который содержит искомое значение. Также функция имеет еще и третий аргумент, который задает тип сопоставления. Он может принимать один из трех вариантов:
· — функция ПОИСКПОЗ ищет первое значение в точности равное заданному. Сортировка не требуется.
· 1 или вовсе опущено — функция ПОИСКПОЗ ищет самое большое значение, которое меньше или равно заданному. Требуется сортировка в порядке возрастания.
· -1 — функция ПОИСКПОЗ ищет самое маленькое значение, которое больше или равно заданному. Требуется сортировка в порядке убывания.
- В одиночку функция ПОИСКПОЗ, как правило, не представляет особой ценности, поэтому в Excel ее очень часто используют вместе с функцией ИНДЕКС.
- ФУНКЦИЯ ИНДЕКС В EXCEL
Функция ИНДЕКС возвращает содержимое ячейки, которая находится на пересечении заданных строки и столбца. Например, на рисунке ниже формула возвращает значение из диапазона A1:C4, которое находится на пересечении 3 строки и 2 столбца.
- Стоит отметить, что номера строк и столбцов задаются относительно верхней левой ячейки диапазона. Например, если ту же таблицу расположить в другом диапазоне, то формула вернет тот же результат:
Если массив содержит только одну строку или один столбец, т.е. является вектором, то второй аргумент функцииИНДЕКС указывает номер значения в этом векторе. При этом третий аргумент указывать необязательно.
- Например, следующая формула возвращает пятое значение из диапазона A1:A12 (вертикальный вектор):
- Данная формула возвращает третье значение из диапазона A1:L1(горизонтальный вектор):
- СОВМЕСТНОЕ ИСПОЛЬЗОВАНИЕ ПОИСКПОЗ И ИНДЕКС В EXCEL
Если Вы уже работали с функциями ВПР, ГПР и ПРОСМОТР в Excel, то должны знать, что они осуществляют поиск только в одномерном массиве.
Но иногда приходится сталкиваться с двумерным поиском, когда соответствия требуется искать сразу по двум параметрам.
Именно в таких случаях связка ПОИСКПОЗ и ИНДЕКС в Excel оказывается просто незаменимой.
На рисунке ниже представлена таблица, которая содержит месячные объемы продаж каждого из четырех видов товара. Наша задача, указав требуемый месяц и тип товара, получить объем продаж.
Пускай ячейка C15 содержит указанный нами месяц, например, Май. А ячейка C16 — тип товара, например, Овощи. Введем в ячейку C17 следующую формулу и нажмем Enter:
- =ИНДЕКС(B2:E13; ПОИСКПОЗ(C15;A2:A13;0); ПОИСКПОЗ(C16;B1:E1;0))
- Как видите, мы получили верный результат. Если поменять месяц и тип товара, формула снова вернет правильный результат:
- В данной формуле функция ИНДЕКС принимает все 3 аргумента:
1. Первый аргумент – это диапазон B2:E13, в котором мы осуществляем поиск.
2. Вторым аргументом функции ИНДЕКС является номер строки. Номер мы получаем с помощью функцииПОИСКПОЗ(C15;A2:A13;0). Для наглядности вычислим, что же возвращает нам данная формула:
3. Третьим аргументом функции ИНДЕКС является номер столбца. Этот номер мы получаем с помощью функцииПОИСКПОЗ(C16;B1:E1;0). Для наглядности вычислим и это значение:
- Если подставить в исходную громоздкую формулу вместо функций ПОИСКПОЗ уже вычисленные данные из ячеек D15 и D16, то формула преобразится в более компактный и понятный вид:
- =ИНДЕКС(B2:E13;D15;D16)
Источник: https://studopedia.net/1_40027_funktsiya-prosmotr-v-EXCEL-na-prostom-primere.html
Excel-лайфхаки для тех, кто занимается отчётностью и обработкой данных
Ренат уже не в первый раз выступает гостевым автором на Лайфхакере. Ранее мы публиковали отличный материал от него о том, как составить план тренировок: основные книги и онлайн-ресурсы, а также пошаговый алгоритм создания тренировочного плана.
В этой статье собраны несложные приёмы, позволяющие упростить работу в Excel.
Особенно они пригодятся тем, кто занимается управленческой отчётностью, готовит разнообразные аналитические отчёты, основанные на выгрузках из 1С и других отчётах, формирует из них презентации и диаграммы для руководства. Не претендую на абсолютную новизну — в том или ином виде эти приёмы наверняка обсуждались на форумах или упоминались в статьях.
Простые альтернативы ВПР и ГПР, если искомые значения не в первом столбце таблицы: ПРОСМОТР, ИНДЕКС+ПОИСКПОЗ
Функции ВПР (VLOOKUP) и ГПР (HLOOKUP) работают только в том случае, если искомые значения находятся в первом столбце или строке той таблицы, из которой вы планируете получить данные.
В остальных случаях есть два варианта:
- Использовать функцию ПРОСМОТР (LOOKUP).
У неё следующий синтаксис: ПРОСМОТР (искомое_значение; вектор_просмотра; вектор_результата). Но для её корректной работы нужно, чтобы значения диапазона вектор_просмотра были отсортированы по возрастанию: - Использовать сочетание функций ПОИСКПОЗ (MATCH) и ИНДЕКС (INDEX).
Функция ПОИСКПОЗ возвращает порядковый номер элемента в массиве (с её помощью вы можете найти, в какой строке таблицы искомый элемент), а функция ИНДЕКС возвращает элемент массива с заданным номером (который мы и узнаем с помощью функции ПОИСКПОЗ).Синтаксис функций:
• ПОИСКПОЗ (искомое_значение; массив_поиска; тип_сопоставления) — для нашего случая нам нужен тип сопоставления «точное сопоставление», ему соответствует цифра 0.
• ИНДЕКС (массив; номер_строки; [номер_столбца]). В данном случае номер столбца указывать не нужно, так как массив состоит из одной строки.
Как быстро заполнить пустые ячейки в списке
Задача — заполнить ячейки в столбце со значениями сверху (чтобы тематика стояла в каждой строке таблицы, а не только в первой строке блока книг по тематике):
Выделяем столбец «Тематика», нажимаем на ленте в группе «Главная» кнопку «Найти и выделить» → «Выделить группу ячеек» → «Пустые ячейки» и начинаем ввод формулы (то есть ставим знак равно) и ссылаемся на ячейку сверху, просто нажимая стрелку вверх на клавиатуре. После этого нажимаем Ctrl + Enter. После этого можно сохранить полученные данные как значения, так как формулы больше не нужны:
Как найти ошибки в формуле
Вычисление отдельной части формулы
Чтобы разобраться в сложной формуле (в которой в качестве аргументов функции используются другие функции, то есть одни функции вложены в другие) или найти в ней источник ошибок, часто нужно вычислить её часть. Есть два простых способа:
- Чтобы вычислить часть формулы прямо в строке формул, выделите эту часть и нажмите F9:
В данном примере была проблема с функцией ПОИСК (SEARCH) — в ней были перепутаны местами аргументы. Важно помнить, что если вы не отмените вычисление части функции и нажмёте Enter, то вычисленная часть так и останется числом. - Нажмите на кнопку «Вычислить формулу» в группе «Формулы» на ленте:
В появившемся окне можно вычислять формулу по шагам и определить, на каком этапе и в какой функции возникает ошибка (если она есть):
Как определить, от чего зависит или на что ссылается формула
- Чтобы определить, от каких ячеек зависит формула, в группе «Формулы» на ленте нажмите на кнопку «Влияющие ячейки»:
- Появляются стрелки, указывающие, от чего зависит результат вычислений.
- Если отображается символ, выделенный на картинке красным цветом, то формула зависит от ячеек, находящихся на других листах или в других книгах:
- Щёлкнув на него, мы увидим, где именно находятся влияющие ячейки или диапазоны:
- Рядом с кнопкой «Влияющие ячейки» находится кнопка «Зависимые ячейки», работающая аналогично: она отображает стрелки от активной ячейки с формулой к ячейкам, которые зависят от неё.
- Кнопка «Убрать стрелки», расположенная в том же блоке, позволяет убрать стрелки к влияющим ячейкам, стрелки к зависимым ячейкам или же оба типа стрелок сразу:
Как найти сумму (количество, среднее) значений ячеек с нескольких листов
- Допустим, у вас есть несколько однотипных листов с данными, которые вы хотите сложить, посчитать или обработать как-то иначе:
- Для этого в ячейку, в которой вы хотите видеть результат, введите стандартную формулу, например СУММ (SUM), и укажите в аргументе через двоеточие название первого и последнего листов из списка тех листов, что вам нужно обработать:
- Вы получите сумму ячеек с адресом B3 с листов «Данные1», «Данные2», «Данные3»:
Такая адресация работает для листов, расположенных последовательно. Синтаксис следующий: =ФУНКЦИЯ (первый_лист:последний_лист!ссылка на диапазон).
Как автоматически строить шаблонные фразы
Используя базовые принципы работы с текстом в Excel и несколько простых функций, можно готовить шаблонные фразы для отчётов. Несколько принципов работы с текстом:
- Объединяем текст с помощью знака & (можете заменить его функцией СЦЕПИТЬ (CONCATENATE), но в этом нет особого смысла).
- Текст всегда записывается в кавычках, ссылки на ячейки с текстом — всегда без.
- Чтобы получить служебный символ «кавычки», используем функцию СИМВОЛ (CHAR) с аргументом 32.
- Пример создания шаблонной фразы с помощью формул:
- Результат:
- В данном случае, кроме функции СИМВОЛ (CHAR) (для отображения кавычек) используется функция ЕСЛИ (IF), позволяющая изменять текст в зависимости от того, наблюдается ли положительная динамика продаж, и функция ТЕКСТ (TEXT), позволяющая отобразить число в любом формате. Её синтаксис описан ниже:
- ТЕКСТ (значение; формат)
- Формат указывается в кавычках точно так же, как если бы вы вводили пользовательский формат в окне «Формат ячеек».
Автоматизировать можно и более сложные тексты.
В моей практике была автоматизация длинных, но рутинных комментариев к управленческой отчётности в формате «ПОКАЗАТЕЛЬ упал/вырос на XX относительно плана в основном из-за роста/снижения ФАКТОРА1 на XX, роста/снижения ФАКТОРА2 на YY…» с меняющимся списком факторов. Если вы пишете такие комментарии часто и процесс их написания можно алгоритмизировать — стоит один раз озадачиться созданием формулы или макроса, которые избавят вас хотя бы от части работы.
Как сохранить данные в каждой ячейке после объединения
- При объединении ячеек сохраняется только одно значение.
Excel предупреждает об этом при попытке объединить ячейки:
- Соответственно, если у вас была формула, зависящая от каждой ячейки, она перестанет работать после их объединения (ошибка #Н/Д в строках 3–4 примера):
- Чтобы объединить ячейки и при этом сохранить данные в каждой из них (возможно, у вас есть формула, как в этом абстрактном примере; возможно, вы хотите объединить ячейки, но сохранить все данные на будущее или скрыть их намеренно), объедините любые ячейки на листе, выделите их, а затем с помощью команды «Формат по образцу» перенесите форматирование на те ячейки, которые вам и нужно объединить:
Как построить сводную из нескольких источников данных
- Если вам нужно построить сводную сразу из нескольких источников данных, придётся добавить на ленту или панель быстрого доступа «Мастер сводных таблиц и диаграмм», в котором есть такая опция.
- Сделать это можно следующим образом: «Файл» → «Параметры» → «Панель быстрого доступа» → «Все команды» → «Мастер сводных таблиц и диаграмм» → «Добавить»:
- После этого на ленте появится соответствующая иконка, нажатие на которую вызывает того самого мастера:
- При щелчке на неё появляется диалоговое окно:
В нём вам необходимо выбрать пункт «В нескольких диапазонах консолидации» и нажать «Далее». В следующем пункте можно выбрать «Создать одно поле страницы» или «Создать поля страницы». Если вы хотите самостоятельно придумать имя для каждого из источников данных — выберите второй пункт:
- В следующем окне добавьте все диапазоны, на основании которых будет строиться сводная, и задайте им наименования:
- После этого в последнем диалоговом окне укажите, где будет размещаться отчёт сводной таблицы — на существующем или новом листе:
- Отчёт сводной таблицы готов. В фильтре «Страница 1» вы можете выбрать только один из источников данных, если это необходимо:
Как рассчитать количество вхождений текста A в текст B («МТС тариф СуперМТС» — два вхождения аббревиатуры МТС)
- В данном примере в столбце A есть несколько текстовых строк, и наша задача — выяснить, сколько раз в каждой из них встречается искомый текст, расположенный в ячейке E1:
- Для решения этой задачи можно воспользоваться сложной формулой, состоящей из следующих функций:
- ДЛСТР (LEN) — вычисляет длину текста, единственный аргумент — текст. Пример: ДЛСТР (“машина”) = 6.
- ПОДСТАВИТЬ (SUBSTITUTE) — заменяет в текстовой строке определённый текст другим. Синтаксис: ПОДСТАВИТЬ (текст; стар_текст; нов_текст). Пример: ПОДСТАВИТЬ (“автомобиль”;“авто”;“”)= “мобиль”.
- ПРОПИСН (UPPER) — заменяет все символы в строке на прописные. Единственный аргумент — текст. Пример: ПРОПИСН (“машина”) = “МАШИНА”. Эта функция понадобится нам, чтобы делать поиск без учёта регистра. Ведь ПРОПИСН(“машина”)=ПРОПИСН(“Машина”)
- Чтобы найти вхождение определённой текстовой строки в другую, нужно удалить все её вхождения в исходную и сравнить длину полученной строки с исходной:
- ДЛСТР(“Тариф МТС Супер МТС”) – ДЛСТР(“Тариф Супер”) = 6
- А затем разделить эту разницу на длину той строки, которую мы искали:
- 6 / ДЛСТР (“МТС”) = 2
- Именно два раза строка «МТС» входит в исходную.
- Осталось записать этот алгоритм на языке формул (обозначим «текстом» тот текст, в котором мы ищем вхождения, а «искомым» — тот, число вхождений которого нас интересует):
- =(ДЛСТР(текст)-ДЛСТР(ПОДСТАВИТЬ(ПРОПИСН(текст);ПРОПИСН(искомый);“”)))/ДЛСТР(искомый)
- В нашем примере формула выглядит следующим образом:
- =(ДЛСТР(A2)-ДЛСТР(ПОДСТАВИТЬ(ПРОПИСН(A2);ПРОПИСН($E$1);“”)))/ДЛСТР($E$1)
Источник: https://Lifehacker.ru/8-priyomov-raboty-v-excel/
Функция ПРОСМОТР в Excel на простом примере — Microsoft Excel для начинающих
В этом уроке мы познакомимся с функцией ПРОСМОТР, которая позволяет извлекать нужную информацию из электронных таблиц Excel.
На самом деле, Excel располагает несколькими функциями по поиску информации в книге, и каждая из них имеет свои преимущества и недостатки.
Далее Вы узнаете в каких случаях следует применять именно функцию ПРОСМОТР, рассмотрите несколько примеров, а также познакомитесь с ее вариантами записи.
Варианты записи функции ПРОСМОТР
Начнем с того, что функция ПРОСМОТР имеет две формы записи: векторная и массив. Вводя функцию на рабочий лист, Excel напоминает Вам об этом следующим образом:
Форма массива
Форма массива очень похожа на функции ВПР и ГПР. Основная разница в том, что ГПР ищет значение в первой строке диапазона, ВПР в первом столбце, а функция ПРОСМОТР либо в первом столбце, либо в первой строке, в зависимости от размерности массива. Есть и другие отличия, но они менее существенны.
Данную форму записи мы подробно разбирать не будем, поскольку она давно устарела и оставлена в Excel только для совместимости с ранними версиями программы. Вместо нее рекомендуется использовать функции ВПР или ГПР.
Векторная форма
Функция ПРОСМОТР (в векторной форме) просматривает диапазон, который состоит из одной строки или одного столбца. Находит в нем заданное значение и возвращает результат из соответствующей ячейки второго диапазона, который также состоит из одной строки или столбца.
Вот это да! Это ж надо такое понаписать… Чтобы стало понятней, рассмотрим небольшой пример.
Пример 1
На рисунке ниже представлена таблица, где указаны номера телефонов и фамилии сотрудников. Наша задача по фамилии сотрудника определить его номер телефона.
В данном примере функцию ВПР не применить, поскольку просматриваемый столбец не является крайним левым. Именно в таких случаях можно использовать функцию ПРОСМОТР. Формула будет выглядеть следующим образом:
Первым аргументом функции ПРОСМОТР является ячейка C1, где мы указываем искомое значение, т.е. фамилию. Диапазон B1:B7 является просматриваемым, его еще называют просматриваемый вектор.
Из соответствующей ячейки диапазона A1:A7 функция ПРОСМОТР возвращает результат, такой диапазон также называют вектором результатов. Нажав Enter, убеждаемся, что все верно.
Пример 2
Функцию ПРОСМОТР в Excel удобно использовать, когда векторы просмотра и результатов относятся к разным таблицам, располагаются в отдаленных частях листа или же вовсе на разных листах. Самое главное, чтобы оба вектора имели одинаковую размерность.
На рисунке ниже Вы можете увидеть один из таких примеров:
Как видите, диапазоны смещены друг относительно друга, как по вертикали, так и по горизонтали, но формула все равно вернет правильный результат. Главное, чтобы размерность векторов совпадала. Нажав Enter, мы получим требуемый результат:
При использовании функции ПРОСМОТР в Excel значения в просматриваемом векторе должны быть отсортированы в порядке возрастания, иначе она может вернуть неверный результат.
Так вот коротко и на примерах мы познакомились с функцией ПРОСМОТР и научились использовать ее в рабочих книгах Excel. Надеюсь, что данная информация оказалась для Вас полезной, и Вы обязательно найдете ей применение. Всего Вам доброго и успехов в изучении Excel.
Оцените качество статьи. Нам важно ваше мнение:
Источник: https://office-guru.ru/excel/funkcija-prosmotr-v-excel-na-prostom-primere-83.html
Функция ПРОСМОТР() в MS EXCEL
Функция ПРОСМОТР(), английский вариант LOOKUP(), похожа на функцию ВПР(): ПРОСМОТР() просматривает левый столбец таблицы и, если находит искомое значение, возвращает значение из соответствующей строки самого правого столбца таблицы.
Существенное ограничение использования функции ПРОСМОТР() — левый столбец исходной таблицы, по которому производится поиск, должен быть отсортирован по возрастанию, иначе получим непредсказуемый (вероятнее всего неправильный) результат.
Перед использованием функции ПРОСМОТР() убедитесь, что диапазон значений, по которым будет производиться поиск, ОТСОРТИРОВАН ПО ВОЗРАСТАНИЮ, иначе функция может вернуть неправильный результат. Если это невозможно, рекомендуется использовать функции ВПР() и ПОИСКПОЗ() совместно с функцией ИНДЕКС().
Синтаксис функции
- Существует 2 формы задания аргументов функции ПРОСМОТР(): форма массива и форма вектора.
- Форма массива
- Форма массива функции ПРОСМОТР() просматривает первый (левый) столбец таблицы и, если находит искомое значение, возвращает значение из соответствующей строки самого правого столбца таблицы (массива).
- ПРОСМОТР(искомое_значение; массив)
Формула =ПРОСМОТР(«яблоки»; A2:B10) просматривает диапазон ячеек А2:А10.
Если, например, в ячейке А5 содержится искомое значение «яблоки», то формула возвращает значение из ячейки B5, т.е. из соответствующей ячейки самого правого столбца таблицы (B2:B10). Внимание! Значения в диапазоне А2:А10 должны быть отсортированы по возрастанию.
Если функцииПРОСМОТР() не удается найти искомое_значение, то выбирается наибольшее значение, которое меньше искомого_значения или равно ему.
Функция ПРОСМОТР() — также имеет векторную форму. Вектор представляет собой диапазон ячеек, размещенный в одном столбце или одной строке.
ПРОСМОТР(искомое_значение; просматриваемый_вектор; вектор_результатов)
Формула =ПРОСМОТР(«яблоки»; A2:A10; B2:B10) просматривает диапазон ячеек А2:А10. Если, например, в ячейке А5 содержится искомое значение «яблоки», то формула возвращает значение из ячейки B5, т.е.
из соответствующей ячейки самого правого столбца таблицы (B2:B10). Внимание! Значения в диапазоне А2:А10 должны быть отсортированы по возрастанию.
Если функции ПРОСМОТР() не удается найти искомое_значение, то выбирается наибольшее значение, которое меньше искомого_значения или равно ему.
Функция ПРОСМОТР() не различает РеГИстры при сопоставлении текстов.
Если функция ПРОСМОТР() не находит соответствующего значения, то возвращается значение ошибки #Н/Д.
Поиск позиции в массивах с текстовыми значениями
Произведем поиск значения в сортированном списке текстовых значений (диапазон А8:А15). Список может содержать повторы. Искомое значение содержится в А19.
- Формулы для вывода соответствующих значений Адреса и ИНН (форма массива) : =ПРОСМОТР(A19;A8:B15) и =ПРОСМОТР(A19;A8:С15)
- Формулы для вывода соответствующих значений Адреса и ИНН (форма вектора) : =ПРОСМОТР(A19;A8:A15;B8:B15) и =ПРОСМОТР(A19;A8:A15;С8:С15)
- В файле примера можно найти применение формул при наличии повторов в столбце поиска.
Как видно из картинки выше, в случае повторов в столбце поиска, функция ПРОСМОТР() выводит то значение, которое расположено ниже.
Вывод: функция ПРОСМОТР() не имеет преимуществ по сравнению с функцией ВПР().
Поиск позиции в массиве констант
Поиск значения можно производить не только в диапазонах ячеек, но и в массивах констант. Например, формула =ПРОСМОТР(22;{0;60;70;80;90};{«F»;»D»;»C»;»B»;»A»}) вернет значение F. Такой вид записи удобен, когда стоит задача решаемая с помощью вложенных ЕСЛИ: если значение
Источник: https://excel2.ru/articles/funkciya-prosmotr-v-ms-excel-prosmotr
Функция Просмотр()
Массив
– это группа ячеек или значений, который
EXCEL обрабатывает как единый модуль.
Иначе, это какой-то объем данных. Многие
функции EXCEL либо используют массив в
качестве аргумента, либо возвращают
массив как результат. Функция Просмотр()
использует массив в качестве аргумента.
Функция
Просмотр()
возвращает значение из строки, из столбца
или из массива. Функция Просмотр()
имеет две синтаксические формы: векторнаяи
форма массива.
Векторная форма функции Просмотр
Пример
Предприятию
выдается кредит. В зависимости от суммы
кредита начисляется процент за
использование кредита (таблица Шкала).
Сумма возврата складывается из суммы
кредита и суммы процента за пользование
кредитом. Величина процента за
использование кредита рассчитывается
с помощью функции Просмотр()
(см.
рис.26).
Для
расчета процента за использование
кредита для Предприятия1 вводится
формула:
=ПРОСМОТР(B3;$A$14:$A$19;$B$14:$B$19)
Рисунок
26. Функция Просмотр
Вектор
— это диапазон, который содержит только
одну строку или один столбец.
Векторная
форма функции ПРОСМОТР() —
просматривается диапазон, в который
входят значения только одной строки
или одного столбца (так называемый
вектор) в поисках определенного значения
и возвращается значение из другого
столбца или строки. Эта форма функции
ПРОСМОТР()
используется, когда требуется указать
интервал, в котором находятся искомые
значения.
ПРОСМОТР(искомое_значение;вектор_просмотра;вектор_результата)
Искомое_значение
— это значение, которое ПРОСМОТР()
ищет в векторе просмотра. Искомое_значение
может быть числом, текстом, логическим
значением, именем или ссылкой, ссылающимися
на значение.
Вектор_просмотра
— это интервал, содержащий только одну
строку или один столбец. Значения в
аргументе Вектор_просмотра могут быть
текстом, числами или логическими
значениями.
Ограничения:
- Значения в аргументе Вектор_просмотра должны быть упорядочены, т.е. расположены в порядке возрастания: …, -2, -1, 0, 1, 2, …, A-Z, ЛОЖЬ, ИСТИНА; в противном случае функция ПРОСМОТР() может вернуть неверный результат. Тексты в нижнем и верхнем регистре считаются эквивалентными.
- Вектор_результата— это интервал, содержащий только одну строку или один столбец. Он должен быть того же размера, что и Вектор просмотра.
Особенности:
- Если ПРОСМОТР не может найти Искомое_значение, то подходящим считается наибольшее значение в аргументе Вектор_просмотра, которое меньше, чем Искомое_значение.
- Если Искомое_значение меньше, чем наименьшее значение в аргументе Вектор_просмотра, то функция ПРОСМОТР возвращает значение ошибки #Н/Д.
- Обратить внимание на использование абсолютной адресацией, использование имен диапазонов в формуле.
Форма
массива функции Просмотр()
Форма
массива функции ПРОСМОТР()
просматривает первую строку или первый
столбец массива, находит указанное
значение и возвращает значение из
аналогичной позиции последней строки
или столбца массива.
Эта
форма функции ПРОСМОТР используется,
когда сравниваемые значения находятся
в первой строке или в первом столбце.
Если требуется указать положение столбца
или строки, следует использовать другую
форму функции ПРОСМОТР.
- Совет:
-
Лучше
использовать функции ГПР()
или ВПР()
вместо функции ПРОСМОТР(),
используемой в
форме массива. - ПРОСМОТР(искомое_значение;массив)
Искомое_значение
— это значение, которое ПРОСМОТР ищет в
массиве. Искомое_значение может быть
числом, текстом, логическим значением,
именем или ссылкой, ссылающимися на
значение.
Особенности:
- Если ПРОСМОТР() не может найти искомое_значение, то подходящим считается наибольшее значение в аргументе массив, которое меньше, чем искомое_значение.
- Если искомое_значение меньше, чем наименьшее значение в первой строке или первом столбце (в зависимости от размерности массива), то функция ПРОСМОТР() возвращает значение ошибки #Н/Д.
- Форма массива функции ПРОСМОТР() очень похожа на функции ГПР() и ВПР.() Различие заключается в том, что функция ГПР() ищет искомое_значение в первой строке, функция ВПР() ищет в первом столбце, а функция ПРОСМОТР ищет в соответствии с размерностями массива.
- Если ширина массива больше его высоты (то есть имеет больше столбцов чем строк), то функция ПРОСМОТР() ищет искомое_значение в первой строке.
- Если массив больше в высоту, чем в ширину (то есть имеет больше строк, чем столбцов), то функция ПРОСМОТР() ищет в первом столбце.
- Используя функции ГПР() и ВПР() можно указывать индекс по направлению вниз и вправо, а функция ПРОСМОТР() всегда выбирает последнюю ячейку в строке или столбце.
Источник: https://studfile.net/preview/5715531/page:14/
Создаем свою первую функцию в Excel
Функция написанная на VBA — это код, который выполняет вычисления и возвращает значение (или массив значений). Создав функцию вы можете использовать ее тремя способами:
- В качестве формулы на листе, где она может принимать аргументы и возвращать значения.
- Как часть вашей подпрограммы VBA. В процедуре Sub или внутри других функций.
- В правилах условного форматирования.
Хотя Excel уже содержит более 450 встроенных функций, но их тоже периодически не хватает. Иногда встроенные функции не могут выполнить то, что вы хотите сделать. Иногда для достижения результата необходимо создать огромную и сложную формулу, которая не понятна окружающим. В этом случае вы можете создать пользовательскую функцию, которую легко читать и использовать.
Обратите внимание, что пользовательские функции, созданные с помощью VBA, как правило значительно медленнее, чем встроенные функции. Следовательно, они лучше всего подходят для ситуаций, когда вы не можете получить результат, используя встроенные функции или вычислений не много и снижение производительности не критично.
Встроенными функциями можете пользоваться не только вы, но и ваши коллеги. Написанные вами функции будут появляться наряду с другими в диалоговом окне Мастер функций. Возможно вас пугает процесс создания функций, но спешу вас уверить, что это достаточно просто.
Основное отличие в том, что процедура (sub) используется для выполнения набора команд, и не призвана в отличие от функции (function) возвращать значение (или массив значений).
Для демонстрации приведем пример. Например есть ряд чисел от 1 до 100 и необходимо отделить четные от нечетных.
С помощью процедуры (sub) вы можете, к примеру, пройтись по ячейкам и выделить нечетные с помощью заливки. А функцию можно использовать в соседнем столбце и она вернет ИСТИНА или ЛОЖЬ в зависимости от того четное значение или нет. Т.е. вы не сможете изменить цвет заливки с помощью функции на листе.
Создание простой пользовательской функции в VBA
Давайте создадим простую пользовательскую функцию на VBA и посмотрим как там все работает.
Ниже представлен код функции, которая из текста оставляет только цифры, отбрасывая буквенные значения.
Function Цифры(Текст As String) As Long
Dim i As Long
Dim result As String
For i = 1 To Len(Текст)
If IsNumeric(Mid(Текст, i, 1)) Then result = result & Mid(Текст, i, 1)
Next
Цифры = CLng(result)
End Function
Чтобы у вас все заработало, необходимо вставить данный код в модуль книги. Если вы не знаете как это сделать, то начните со статьи Как записать макрос в Excel.
Теперь посмотрим как функция работает, попробуем использовать ее на листе:
Прежде чем разбирать саму функцию отметим 2 приятных момента, которые появились после создания:
- Она стала доступна, как и любая другая встроенная функция (как создать скрытую функцию, расскажем далее).
- Когда вы ввели знак «=» и начинаете вводить имя функции, то Excel выводит все совпадения и показывает не только встроенные функции, но и пользовательские.
Разбираем функцию пошагово
Теперь давайте глубоко погрузимся и посмотрим, как эта функция создавалась. Начинается функция со строки
Function Цифры(Текст As String) As Long
Слово Function говорит о начале функции, далее идет ее название, в нашем случае Цифры.
- Имя функции не может содержать пробелов. Кроме того, вы не можете назвать функцию, если она сталкивается с именем ссылки на ячейку. Например, вы не можете назвать функцию ABC123, так как это имя также относится к ячейке в листе Excel.
- Вы не должны указывать на свою функцию то же имя, что и у существующей функции. Если вы это сделаете, Excel будет отдавать предпочтение встроенной функции.
- Вы можете использовать символ подчеркивания, если хотите разделить слова. Например, Сумма_Прописью является допустимым именем.
После названия в круглых скобках описываются аргументы функции. По аналогии со встроенными функциями Excel. В нашем случае используется единственный аргумент Текст.
После названия аргумента мы указали As String, это означает, что наш аргумент — текстовое значение или ссылка на ячейку, содержащее текстовое значение.
Если вы не укажете тип данных, VBA рассмотрит его как Variant (что означает, что вы можете использовать любой тип данных, VBA его определит самостоятельно).
Последняя часть первой строки As Long задает тип данных, которая возвращает функция. В нашем случае функция будет возвращать целые значения. Это также не обязательно.
Вторая и третья строка функции объявляет дополнительные внутренние переменные, которые мы будем использовать.
Dim i As Long
Dim result As String
Переменную i мы буем использовать для перебора символов. А переменную result для хранения промежуточного результата функции.
Задача функции — пройти по всем символам переменной Текст и сохранить только те, что являются цифрами. Поэтому начнем цикл с 1 и до последнего символа.
For i = 1 To Len(Текст)
Len — функция, которая определяет количество символов.
Основная строка функции — это проверка является ли очередной символ текста цифрой и если да — то сохранение его в переменной result
If IsNumeric(Mid(Текст, i, 1)) Then result = result & Mid(Текст, i, 1)
- Для этого нам потребуется функция IsNumeric — она возвращает True если текст — число и False в противном случае.
- Функция Mid берет из аргумента Текст i-ый символ (значение 1, указывает что функция Mid берет только 1 символ)/
- Функция Next — закрывает цикл For тут все понятно.
Цифры = CLng(result)
Этой строкой мы преобразовываем текстовую переменную result, которая содержит все цифры аргумента Текст, в числовое значение. И говорим какой результат должна вывести наша функция Цифры.
Последняя строка кода — End Function. Это обязательная строка кода, которая сообщает VBA, что код функции заканчивается здесь.
В приведенном выше коде описаны различные части типичной пользовательской функции, созданной в VBA. В следующих статьях мы более подробно разберем эти элементы, а также рассмотрим различные способы выполнения функции VBA в Excel.
Скачать
Источник: https://micro-solution.ru/excel/vba/create-user-functions