powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Функция "Выбор" в Еxcel
7 сообщений из 7, страница 1 из 1
Функция "Выбор" в Еxcel
    #33200603
Suleyman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Функция "Выбор" в Еxcel работает только от 1 до 29 и не работает с нолем
Кто нибудь знает как расширить предел до 31 и что бы при ноле не писалось #ЗНАЧ!
...
Рейтинг: 0 / 0
Функция "Выбор" в Еxcel
    #33200727
Ну чтоб не писалось ЗНАЧ, надо сделать так:

Код: plaintext
1.
=ЕСЛИ(ЕОШИБКА(ВЫБОР(A1;"1-ый";"2-ой";"3-ий";"Последний"));"";
ВЫБОР(A1;"1-ый";"2-ой";"3-ий";"Последний"))
...
Рейтинг: 0 / 0
Функция "Выбор" в Еxcel
    #33202659
Suleyman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо за решение проблемы с нолем, осталось раздвиниуть предел до 31.
...
Рейтинг: 0 / 0
Функция "Выбор" в Еxcel
    #33203091
По-моему, ограничение в 29 элементов не обойти. Можно написать аналог этой функции.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
Public Function fctSelection(rngIdx As Range, vatItems As Variant) As Variant
    Dim varArray As Variant
    Dim intI As Integer
    
    varArray = Split(vatItems, ";")
    
    Select Case rngIdx
        Case  0 
            fctSelection = ""
            Exit Function
        Case Is > UBound(varArray) +  1 
            MsgBox "Индекс превышает номер максимального элемента."
            Exit Function
    End Select
    
    fctSelection = varArray(rngIdx -  1 )
End Function

Код: plaintext
=fctSelection(A1;"1-ый;2-ой;3-ий;Последний")
...
Рейтинг: 0 / 0
Функция "Выбор" в Еxcel
    #33204960
Suleyman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как я понял =fctSelection будет работать так же как и функция Выбор

Кидаю
Public Function fctSelection(rngIdx As Range, vatItems As Variant) As Variant
Dim varArray As Variant
Dim intI As Integer

varArray = Split(vatItems, ";")

Select Case rngIdx
Case 0
fctSelection = ""
Exit Function
Case Is > UBound(varArray) + 1
MsgBox "Индекс превышает номер максимального элемента."
Exit Function
End Select

fctSelection = varArray(rngIdx - 1)
End Function


в модуль, жму ф5, предлагает создать новый макрос, подскажи что делаю не так.
...
Рейтинг: 0 / 0
Функция "Выбор" в Еxcel
    #33205457
Suleyman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Функция работает только до 16-ти, дальше выдает сообщение - "Индекс превышает номер максимального элемента", а если например заменить 1-ый на первый, 15-ый на патнадцатый, то пишет "слишком сложная формула"
=fctSelection(A1;"1-ый;2-ой;3-ий;4-ый;5-ый;6-ой;7-ой;8-ой;9-ый;10-ый;11-ый;12-ый;13-ый;14-ый;15-ый;16-ый") - работает нормально, но не дальше,
Нужно что бы до 31 одного можно было добраться.
Помогите!!!!!!
...
Рейтинг: 0 / 0
Функция "Выбор" в Еxcel
    #33292304
Только что проверил:

Код: plaintext
=fctSelection(A25;"1-ый;2-ой;3-ий;4-ый;...;31-ый;32-ой")

Все прекрасно работает.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Функция "Выбор" в Еxcel
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]