Remkomplekty.ru

IT Новости из мира ПК
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Vba ошибка 91

Ошибка 91 Обьект переменной или блок

Страницы 1

Чтобы отправить ответ, вы должны войти или зарегистрироваться

Сообщений [ 10 ]

1 Тема от Fck_This 02.03.2018 11:05:02

  • Fck_This
  • генерал-полковник
  • Неактивен
  • Откуда: Минск, Беларусь
  • Зарегистрирован: 13.07.2016
  • Сообщений: 648
  • Поблагодарили: 97

Тема: Ошибка 91 Обьект переменной или блок

Возникает такая ошибка при поиске значения по первой строке

Ругается на последнюю строку. Это странно т.к. такое значение переменной «Заг» существует — содержится в первой строке, столбце А. Нужна помощь.

2 Ответ от Fck_This 02.03.2018 11:14:51

  • Fck_This
  • генерал-полковник
  • Неактивен
  • Откуда: Минск, Беларусь
  • Зарегистрирован: 13.07.2016
  • Сообщений: 648
  • Поблагодарили: 97

Re: Ошибка 91 Обьект переменной или блок

Да, это из ворда запускается.

3 Ответ от yshindin 02.03.2018 12:03:46

  • yshindin
  • генерал-полковник
  • Неактивен
  • Откуда: Москва
  • Зарегистрирован: 12.05.2012
  • Сообщений: 446
  • Поблагодарили: 170

Re: Ошибка 91 Обьект переменной или блок

.
Ругается на последнюю строку.
.

Действительно, странно. Надеюсь, это VBA-код для Excel?
Я заменил русские идентификаторы английскими, и у меня все проходит и находит ячейку.

А какое сообщение об ошибке: от компилятора или Runtime-error?

4 Ответ от Fck_This 03.03.2018 09:14:20

  • Fck_This
  • генерал-полковник
  • Неактивен
  • Откуда: Минск, Беларусь
  • Зарегистрирован: 13.07.2016
  • Сообщений: 648
  • Поблагодарили: 97

Re: Ошибка 91 Обьект переменной или блок

Run-time error 91. Object variable or with block variable not set (писал по памяти, но думаю всё правильно)

5 Ответ от yshindin 03.03.2018 09:45:27

  • yshindin
  • генерал-полковник
  • Неактивен
  • Откуда: Москва
  • Зарегистрирован: 12.05.2012
  • Сообщений: 446
  • Поблагодарили: 170

Re: Ошибка 91 Обьект переменной или блок

Run-time error 91. Object variable or with block variable not set (писал по памяти, но думаю всё правильно)

В данном случае это может быть как ошибка компиляции, так и Runtime-error (скорее второе). Вы пишете, что запускается все из Word, но у вас в сбойном операторе указан объект ActiveSheet, который Word не должен понимать.
То есть, я предполагаю, что к моменту исполнения оператора активным Application-объектом является Word (а не Excel), поэтому выдается сообщение об ошибке. Возможно, вы хотели из Word запустить Excel, а в нем выполнить этот поиск. Тогда надо предварительно создать Excel-объект (через CreateObject или GetObject), связав его с переменной-объектом, а далее использовать новый объект в Excel-операциях, напр.

6 Ответ от Fck_This 05.03.2018 09:18:56

  • Fck_This
  • генерал-полковник
  • Неактивен
  • Откуда: Минск, Беларусь
  • Зарегистрирован: 13.07.2016
  • Сообщений: 648
  • Поблагодарили: 97

Re: Ошибка 91 Обьект переменной или блок

Run-time error 91. Object variable or with block variable not set (писал по памяти, но думаю всё правильно)

В данном случае это может быть как ошибка компиляции, так и Runtime-error (скорее второе). Вы пишете, что запускается все из Word, но у вас в сбойном операторе указан объект ActiveSheet, который Word не должен понимать.
То есть, я предполагаю, что к моменту исполнения оператора активным Application-объектом является Word (а не Excel), поэтому выдается сообщение об ошибке. Возможно, вы хотели из Word запустить Excel, а в нем выполнить этот поиск. Тогда надо предварительно создать Excel-объект (через CreateObject или GetObject), связав его с переменной-объектом, а далее использовать новый объект в Excel-операциях, напр.

Я так понимаю, имеется в виду
Set ExcelObj = CreateObject(«Excel.Application»).
Вообще код не мой. Обычно не использую ActiveSheet (вместо этого делаю через назначение Set oList = ). Тем не менее это не объясняет избирательности использования функции. Спасибо за совет.

7 Ответ от Fck_This 05.03.2018 10:15:28

  • Fck_This
  • генерал-полковник
  • Неактивен
  • Откуда: Минск, Беларусь
  • Зарегистрирован: 13.07.2016
  • Сообщений: 648
  • Поблагодарили: 97

Re: Ошибка 91 Обьект переменной или блок

И ещё такая проблема. На этот раз код запускается из экселя.

Передаю значение текстовое и лист. По итогу rCell высвечивает именно то зачение, которое нужно, но дальше неправильно показывает её адрес. Искомое значение находится в столбце AD, а определяется она как Z. GetColumnAddress показывает 26, а должен вернуть — 30. (в Z столбце «Лист #Д», в AD столбце — «Плёнка») Такие значения как «Тираж» и «Шифр» находит правильно.

8 Ответ от Fck_This 05.03.2018 10:43:23

  • Fck_This
  • генерал-полковник
  • Неактивен
  • Откуда: Минск, Беларусь
  • Зарегистрирован: 13.07.2016
  • Сообщений: 648
  • Поблагодарили: 97

Re: Ошибка 91 Обьект переменной или блок

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

9 Ответ от yshindin 05.03.2018 11:37:48

  • yshindin
  • генерал-полковник
  • Неактивен
  • Откуда: Москва
  • Зарегистрирован: 12.05.2012
  • Сообщений: 446
  • Поблагодарили: 170

Re: Ошибка 91 Обьект переменной или блок

. . .
Искомое значение находится в столбце AD, а определяется она как Z. GetColumnAddress показывает 26, а должен вернуть — 30. (в Z столбце «Лист #Д», в AD столбце — «Плёнка») Такие значения как «Тираж» и «Шифр» находит правильно.
. . .

Я прогнал вот этот код для проверки вашей функции GetColumnAddress и у меня все выдается правильно:

В чем может быть ваша проблема, мне не понятно. Попробуйте подобрать другие варианты реализации этой функции.

10 Ответ от Fck_This 05.03.2018 16:33:29

  • Fck_This
  • генерал-полковник
  • Неактивен
  • Откуда: Минск, Беларусь
  • Зарегистрирован: 13.07.2016
  • Сообщений: 648
  • Поблагодарили: 97

Re: Ошибка 91 Обьект переменной или блок

. . .
Искомое значение находится в столбце AD, а определяется она как Z. GetColumnAddress показывает 26, а должен вернуть — 30. (в Z столбце «Лист #Д», в AD столбце — «Плёнка») Такие значения как «Тираж» и «Шифр» находит правильно.
. . .

Я прогнал вот этот код для проверки вашей функции GetColumnAddress и у меня все выдается правильно:

В чем может быть ваша проблема, мне не понятно. Попробуйте подобрать другие варианты реализации этой функции.

Получилось получить только перебором ячеек с выделением
Function GetColumnAddress(ByVal sTarget As String, ByRef oWorkSht As Worksheet)
Dim rCell As Range
Dim sAddr As String
Set rCell = oWorkSht.Rows(1).Find(What:=sTarget, Lookat:=xlWhole)
sAddr = Split(oWorkSht.Cells(rCell.Row, rCell.Column).Address, «$»)(1)
GetColumnAddress = sAddr
If sTarget = «Плёнка» Then
Range(sAddr & «1»).Select
If Not Selection.Value = «Плёнка» Then
Dim iLastCol, iCell As Integer
iLastCol = Cells.SpecialCells(xlLastCell).Column
iCell = rCell.Column + 1
For i = iCell To iLastCol
sAddr = Split(oWorkSht.Cells(rCell.Row, i).Address, «$»)(1)
Range(sAddr & «1»).Select
If Selection.Value = «Плёнка» Then
GetColumnAddress = Split(oWorkSht.Cells(rCell.Row, i).Address, «$»)(1): Exit Function
End If
Next i
End If
End If
End Function

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

Сообщений [ 10 ]

Страницы 1

Чтобы отправить ответ, вы должны войти или зарегистрироваться

Вы можете помочь в развитии сайта, сделав пожертвование:

Или помочь сайту популярной криптовалютой:

BTC Адрес: 1Pi3a4c6sJPbfF2sSYR2noy61DMBkncSTQ

ETH Адрес: 0x7d046a6eaa1bd712f7a6937b042e9eee4998f634

LTC Адрес: LUyT9HtGjtDyLDyEbLJZ8WZWGYUr537qbZ

DOGE Адрес: DENN2ncxBc6CcgY8SbcHGpAF87siBVq4tU

Читать еще:  Attrib ошибка в формате параметра

BAT Адрес: 0x7d046a6eaa1bd712f7a6937b042e9eee4998f634

XRP Адрес: rEb8TK3gBgk5auZkwc6sHnwrGVJH8DuaLh Депозит Tag: 105314946

USDT (ERC-20) Адрес: 0x7d046a6eaa1bd712f7a6937b042e9eee4998f634

Яндекс Деньги: 410013576807538

Вебмани (R ещё работает): R140551758553 или Z216149053852

А тут весь список наших разных крипто адресов, может какой добрый человек пожертвует немного монет или токенов — получит плюсик в карму от нас 🙂 Благо Дарим, за любую помощь!

Vba ошибка 91

VBA runtime error 91 is an error that usually occurs when attempting to use an application that has issues with the variables within it. Basically, a variable is a container that programmers use to store flexible data. The error may refer to the wrong kind of data stored in a variable or the variable itself is being referenced incorrectly.

Tools used in the development of applications including DCOMCnfg.exe, .NET Framework and Visual Studio have been known to be related to the error.

Other causes for the error may also include malicious files, viruses, and the incomplete installation of a Windows operating system.

How can you fix ‘VBA runtime error 91’?

Some of the common fixes include:

  • Configuring DCOMCnfg.exe
  • Doing a Windows Update
  • Installing Microsoft Visual C++Redistributable and .NET Framework
  • Reinstalling the software or application

Please see our in-depth walk-through solutions below.

Last Updated on August 13, 2018

  • Microsoft Office Installation

Asked by Sheila on September 21, 2017 in Microsoft Excel.

Solution 1. Configure DCOMCnfg.exe

Distributed COM might be disabled resulting in “VBA runtime error 91.” Enable it to fix the error. See instructions below.

Also, the account you are using might have no permission to do any changes related to Distributed COM. Please log as administrator.

Enable Distributed COM

  1. Open Component Services, click Windows Start then type “DCOMCNFG” and press Enter key.
  2. Expand Component Services >>Computers >>My Computer.

  • Right-click My Computer and select Properties.
  • Click Default Properties Tab, and Enable Distributed COM on this computer then press OK.
  • Optional: To give access to another account, click COM Security tab.
  • Click Edit Limits, click Everyone or whoever you want to have access to it then check the Allow access and click OK.
  • Click Edit Default then check the Allow access to both SELF and SYSTEM and then click OK.
  • Restart your Computer.
  • Also, some of the DLL might not be registered. See below to register DLLs.

    1. Press Windows key + S key or click Windows Start.
    2. Type “DCOMCNFG” and press Enter key.
    3. Expand Component Services >>Computer >>My Computer.

  • Then click DCOM Config, if a confirmation appears to register components, click Yes.
    Please confirm it all.
  • Restart your Computer.
  • Last Updated on August 13, 2018

    How to Fix Runtime Error 91

    Contents

    A runtime error is basically an error that occurs during a programs “runtime”, to put it simply. Each runtime error has its own error code, such as 91, in this case. When an individual experiences a runtime error 91 on their computer, it’s usually accompanied by a “Object variable set to nothing” error message.

    Runtime error 91 is a fairly common error on Windows based systems that usually occur at random moments. This error doesn’t have a clear defined cause; however, the Visual Basic DCOMCnfg.exe on your computer is one known culprit for this error; which is usually the result of damage, and/or corruption to this file. With that said, there are a number of things that you can do, when you find yourself in this situation.

    Symptoms of Runtime Error 91

    There are a number of symptoms individuals may experience when they encounter an error 91, but of the various symptoms, the most common are the following:

    • The active program window crashes, just as the Error 91 dialog box appears.
    • Error 91 frequently crashes, as you attempt to run the same application.
    • “Object variable or with block variable not set” error message is displayed.
    • Windows performance becomes very slow and unresponsive to both keyboard and mouse input.
    • Computer randomly freezes for several seconds at a time.

    The runtime error 91 can occur while you are installing an application, while you are using a program, within a Windows based environment, during the startup phase of your computer or while it is shutting down, or even when installing Windows for the first time. Keeping note of when you actually experience this error is very important, as it will help you when troubleshooting the problem.

    Cause of Error

    Already speaking briefly about the cause of this error, .NET Framework and Visual Studio (in addition to DCOMCnfg.exe) are also known to be related to this error; these are tools used in the development of applications.

    Within a programming environment, the runtime error 91 would tell the programmer that an invalid variable, which has the value of “nothing”, is being referenced to.

    Usually, it’s not known whether or not an application will generate a runtime error 91, till after the user attempts to run it. Error 91 can also be caused by a network blackout, while an application is attempting to download additional data from its server.

    The general consensus amongst this error is that it occurs, when attempting to use an application that has issues with the variables within it.

    A variable is essentially a container that a programmer will use to store flexible data. An invalid variable could relate to the wrong kind of data being stored in a variable, or the variable being incorrectly referenced.

    Fixing this error will thus, entail repairing the coding of a particular application, in order to prevent the error from reappearing, every time you try to use it.

    Fixing Runtime Error 91

    Below are a number of fixes that an individual can attempt when trying to fix this problem. This error is a pretty difficult one to fix, because of the personal nature of it, as it relates to the application. However, there are still many things that you can do, to at least mask the problem.

    Читать еще:  Ошибка 2003 itunes

    Use Registry Cleaner

    One thing you should definitely do before anything else is use a registry cleaner to scan through your system so that it can repair any damaged configurations which could be aiding the runtime error.

    The function of the registry cleaner is to fix errors within your computers registry, the registry is the area of the computer were all you’re most important data is stored, such as system options, preferences and various other things.

    Whenever you install and use an application on your computer, numerous registry settings are created and used, but this process can also lead to redundant entries, invalid registry keys and damaged settings.

    Fixing this problem will require you to use a registry cleaner, which will scan through your entire system, locate all of these errors and fix them. With that said, there are various registry cleaners out there, but the one I personally recommend is Advanced System Repair Pro, and that’s because of its multifaceted nature. Anyway, you can pick this tool up here:

    Check for Viruses

    The next step you should consider doing when attempting to fix a runtime error 91, is to use an antivirus scanner. In a lot of situations, this issue is the result of malware or viruses running within the background of the computer causing the application to crash, every time you use it. Because viruses spread, infecting more components of your operating system over time, it’s very important that you address it as soon as possible.

    A good antivirus program should have little difficulty finding the virus on your computer, and removing it. Antivirus tools are very easy to use, the only thing that is required on your end, is to ensure that everything on it is up-to-date, especially its virus definitions.

    With that said, simply run a full scan of your system, for this task. If you don’t have an antivirus tool on your computer, or you think your tool isn’t very good, then I recommend you use SpyHunter, alternatively you could check out my post on the very best antivirus tools.

    To learn more about SpyHunter, please visit the following link:

    Reinstall Application

    If all other methods have failed, then you should consider reinstalling the application. There is a good chance that the error was due to an incomplete installation, in which case, a reinstallation should fix it.

    When it comes to reinstalling the application, you want to ensure that every trace of the application is removed; this includes redundant files, folders and registry entries, before you reinstall it.

    However, in order for you to do this, you will need to use the uninstallation tool called Express Uninstaller. This powerful removal tool is capable of not only removing applications using the conventional InstallShield, but also running independent scans of your operating system and registry and removing all associated data. Anyway, you can acquire this excellent tool from here:

    Check for Patches

    Whenever an individual encounters a runtime error 91 while attempting to run a program, there is very little they can do about the coding for that particular program. However, one possibility entails checking the website of the developer, to see whether or not they have released a patch that fixes the bug in the code.

    If you do find a patch, simply download it, and apply it to the program. The patch should come with its own update facility to make the update process more seamless.

    Alternatively, if the program has its own update utility, you can try that, before heading off to the website of the developer.

    Check Windows Updates

    Another idea that has proven to be quite effective at fixing this problem involves checking for Windows updates. This is because, not only do developers release patches for bugs in their programs, but so does Microsoft, for their operating system.

    If the application that is generating a runtime error 91 came preinstalled with your computer, when you purchased it, then you can try checking the websites of the computer manufacturers for any updates for this problem.

    This is an excellent way for you to find all the appropriate updates for your computer make and model. You may find updates that fix the runtime error in additional to updates that may improve the overall performance of your computer. By keeping your computer up-to-date with the latest updates, not only will it secure it from bugs, but it will also secure it from hacks and viruses.

    Configure DCOMCnfg.exe

    If the runtime error you’re experiencing is due to the DCOMCnfg.exe, then you will need to reconfigure its settings to fix the problem. The purpose of this program is to control file permissions and various other things, related to Visual Basic, on your computer.

    Unfortunately, if the necessary steps are not taken to rectify this problem, the error will persist, thus it’s important that you configure DCOMCnfg.exe to Allow “Everyone”.

    If you don’t know how to do this, I suggest you check out the following report: https://support.microsoft.com/en-us/kb/183607

    Turn Off Error Messages

    If you’ve searched for a fix for the application, but were unable to find anything, then the first thing you should do is contact the developer to notify them about the problem.

    The next option available to you is to turn off script debugging, that way, you won’t have to see the error message, every time it occurs. After all, the error message is of little value to you.

    The Machine Debug Manager is the tool that operates the script debugging, a tool that you can control through Internet Explorer. Anyway, to disable it, simple do the following:

    1. First, ensure you have booted into your computer with administrative rights.

    2. Then, double click on the Internet Explorer Icon, to start the browser.

    3. Once Internet Explorer starts, click on Tools [Cog] -> Internet Options.

    Читать еще:  Ошибка субд out of memory

    Internet Options» width=302 height=397 data-srcset=»https://www.compuchenna.co.uk/wp-content/uploads/2015/06/iefreezes11.jpg 302w, https://www.compuchenna.co.uk/wp-content/uploads/2015/06/iefreezes11-228×300.jpg 228w» sizes=»(max-width: 302px) 100vw, 302px» data-src=https://www.compuchenna.co.uk/wp-content/uploads/2015/06/iefreezes11.jpg class=»aligncenter size-full wp-image-3766 lazyload» gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==»>

    4. This will bring up the Internet Options, from here, click on the Advanced Tab, and check the box next to Disable Script Debugging (Internet Explorer) and Disable Script Debugging (Other) then click on OK.

    Are you looking for a way to repair all the errors on your computer?

    If the answer is Yes, then I highly recommend you check out Advanced System Repair Pro.

    Which is the leading registry cleaner program online that is able to cure your system from a number of different ailments such as Windows Installer Errors, Runtime Errors, Malicious Software, Spyware, System Freezing, Active Malware, Blue Screen of Death Errors, Rundll Errors, Slow Erratic Computer Performance, ActiveX Errors and much more. Click here to check it out NOW!

    One Comment

    This is such a great resource that you are providing user and you give it away for free. I love seeing blog that understand the value. Im glad to have found this post as its such an interesting one! I am always on the lookout for quality posts and articles so i suppose im lucky to have found this! I hope you will be adding more in the future.

    Ошибки в программе в Visual Basic 6.0

    При обнаружении ошибки в программном коде компилятор Visual Basic 6.0выдает стандартное окно сообщения, которое содержит информацию о коде (Run-time error ‘438’) и названии (Object doesn’t support this property or method) ошибки (рис.5). Ошибки, связанные с процедурами и объектами, выделяются желтым «маркером» (рис.6). Ошибки, связанные с методами или свойствами самих объектов, выделяются синим «маркером» (рис.7). Для исправления ошибки следует приостановить работу проекта, ввести верный программный код, а затем снова запустить проект.

    Некоторые наиболее часто встречающиеся ошибки:

    1. Invalid outside procedure – неверная внешняя процедура;

    2. Type mismatch – несоответствие типов;

    3. Sub or Function not defined – процедура или функция не определена;

    4. Next/For without For/Next – Next/For без For/Next: неправильная организация цикла;

    5. If/EndIf without EndIf/If – If/EndIf без EndIf/If : неправильная запись условного оператора;

    6. Select Case / (End Select) without End Select / (Select Case) —Select Case/(End Select) без End Select / (Select Case): неверная запись оператора выбора;

    7. Object required – требуется объект;

    8. Overflow – переполнение;

    9. Subscript out of range– значение вне диапазона;

    10. Duplicate declaration in current scope– двойное объявление в текущем диапазоне;

    11. Division by zero – деление на ноль;

    12. Statements and Labels invalid between Select Case and First Case –записи и метки неверны между Select Case и First Case;

    13. Method or Data member not found – метод или часть данных не найдена;

    14. Variable not defined – переменная не определена;

    15. Invalid procedure call or argument – неправильный вызов процедуры или аргумент;

    16. User-defined type not defined – пользовательский тип не определен;

    17. Object doesn’t support this property or method – объект не поддерживает это свойство ли метод;

    18. Ambiguous name detected: nameобъекта_событие – обнаружено неоднозначное имя;

    19. Only comments may appear after End Sub, End Function, or End Property– только комментарии могут появляться после End Sub, End Function, или End Property;

    20. Statement invalid outside Type Block– неверная запись вне блока.

    Типы ошибок в VBA

    При выполнении макросов Excel могут возникнуть ошибки, которые в VBA делят на три категории:

    Далее мы поговорим о каждом из трёх типов ошибок VBA подробно.

    Ошибки компиляции

    Компилятор VBA рассматривает ошибки компиляции как недопустимые и выделяет их в коде ещё до того, как дело дойдёт до запуска макроса.

    Если при написании кода допущена синтаксическая ошибка, то редактор VBA сигнализирует об этом немедленно: либо при помощи окна с сообщением, либо выделяя ошибку красным цветом, в зависимости от статуса режима Auto Syntax Check.

    Примечание: При включённом режиме Auto Syntax Check каждый раз, при появлении в редакторе Visual Basic во введённом коде синтаксической ошибки, будет показано соответствующее сообщение. Если же этот режим выключен, то редактор VBA продолжит сообщать о синтаксических ошибках, просто выделяя их красным цветом. Опцию Auto Syntax Check можно включить/выключить в меню Tools > Options редактора Visual Basic.

    В некоторых случаях ошибка компиляции может быть обнаружена при выполнении компиляции кода, непосредственно перед тем, как макрос будет выполнен. Обычно ошибку компиляции несложно обнаружить и исправить, потому что компилятор VBA даёт информацию о характере и причине ошибки.

    Например, сообщение “Compile error: Variable not defined” при попытке запустить выполнение кода VBA говорит о том, что происходит попытка использовать или обратиться к переменной, которая не была объявлена для текущей области (такая ошибка может возникнуть только если используется Option Explicit).

    Ошибки выполнения

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

    Примером такой ошибки может служить попытка выполнить деление на ноль. В результате будет показано сообщение “Run-time error ’11’: Division by zero“.

    В зависимости от структуры проекта VBA, может быть предложено выполнить отладку кода (как показано на рисунке ниже). В этом случае при нажатии на кнопку Debug (в окне сообщения о необходимости отладки) будет выделена цветом строка кода, которая стала причиной ошибки VBA.

    Получив такое сообщение и видя выделенную строку кода, как в приведённом выше примере, обнаружить причину ошибки будет совсем не сложно.

    В случае если код сложнее, чем в нашем примере, то, чтобы получить больше информации о причине возникновения ошибки VBA, можно проверить значения используемых переменных. В редакторе VBA для этого достаточно навести указатель мыши на имя переменной, или можно открыть окно отслеживания локальных переменных (в меню редактора View > Locals Window).

    Коды различных ошибок выполнения расшифрованы на сайте Microsoft Support (на английском). Наиболее часто встречающиеся ошибки VBA перечислены в этой таблице:

    Ссылка на основную публикацию
    Adblock
    detector