Страницы: 1
RSS
Макрос для выпадающего списка выдает ошибку
 
У меня в первой декаде написан макрос для выпадающего списка, но при выборе данных выскакивает ошибка, не знаете в чем у меня там ошибка?
Изменено: Ибрагим Белхороев - 26.07.2021 09:58:20
 
Посмотрите, файл. Если не так, то опишите белее подробно задачу: что должно получиться и алгоритм.
 
artemkau88, первое что не так, это то, что выпадающий список ссылается на весь столбец B, можете сами посмотреть, выделив диапазон ячеек B13:B18 и убедиться, что данные, на которые ссылается выпадающий список, это весь столбец B, а нужно чтобы ссылалось только на ячейки с номерами накладных, я выделял только ячейки с накладными, но все равно ссылается на весь столбец B.
Второе, это то, что использованные номера накладных не прописываются со второй строки столбца C.
Изменено: Ибрагим Белхороев - 28.04.2021 15:29:39
 
У вас в проверке данных формула:
Скрытый текст
Она подтягивается из макроса, записанного в событии первого листа.
И из-за этого считает пустые строки
Предлагаю в коде вашу формулу заменить на
Скрытый текст

У меня в столбец C на 5 листе со второй строки добавляет корректно.
У вас в третьем столбце добавлялись накладные в следующую за последней заполненную строку. Последняя заполненная строка в третьем столбце была "Итого".
Без нее все корректно работает.
Изменено: artemkau88 - 29.04.2021 13:19:54
 
artemkau88, почему я не могу раскрыть выпадающий список в вашем примере в ячейках B13:B18?

И ещё, вот в этом примере (Книга1), все работает корректно, хотя там тот же макрос и принцип задачи, разница лишь в том, что выпадающий список задан на весь столбец, но данные, на которые ссылается выпадающий список, заданы на определенный диапазон и они не считают пустые строки, вы там упомянули, что у меня в проверке данных формула, ссылающаяся на весь диапазон, из-за которой считаются пустые строки, так я задаю определенные диапазон, выделяя ячейки с накладными, но через раз он снова ссылается на весь диапазон, не знаю, может с кодом макроса, что-то не так?
 
Прошу прощения, ошибся в предыдущем сообщении.
Проблема в куске кода:
Код
    With Range("B13:B18").Validation
        .Delete
        .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, _
        Formula1:=ValidFormula
        .IgnoreBlank = True
        .InCellDropdown = True
        .InputTitle = ""
        .ErrorTitle = ""
        .InputMessage = ""
        .ErrorMessage = ""
        .ShowInput = True
        .ShowError = True
    End With  
Где переменная ValidFormula -  это формула в проверке данных

У вас она  "=Лист5!$B$2:$B$3127", поэтому что бы вы не записывали в проверку данных, при изменении листа она будет пересчитываться в соответствии с формулой в коде, а не в проверке данных.
У вас строки удаляются из столбца В и вставляются в столбец С, поэтому нужно пересчитывать ссылку на первую ячейку столбца В в проверке данных.

Подправил код:
Код
ValidFormula = "=OFFSET(Лист5!$B$2,0,0,COUNTIFS(Лист5!$B$2:$B$1048576,"">""""""))" 


посмотрите:
Изменено: artemkau88 - 29.04.2021 13:22:14
 
artemkau88, к сожалению только сейчас увидел, спасибо вам большое.
 
Здравствуйте!
Использовала готовый макрос с этого сайта для выпадающего списка с мультивыбором с накоплением в той же ячейке. Не работает, выдает следующую ошибку, подскажите что делать
 
Объявить переменную.
 
Либо убрать верхнюю строку, но этот вариант , как по мне, менее корректный
"Все гениальное просто, а все простое гениально!!!"
 
Ребята, я полный ноль в макросах... Давайте скину сюда файл, а вы посмотрите :)  
 
Цитата
RAN написал:
Объявить переменную
Елена, в модуле листа после
Код
Private Sub Worksheet_Change(ByVal Target As Range)
вставьте строкой ниже
Код
Dim newVal, oldval
Это если "как рекомендуется", а если "по-другому", просто сотрите вверху кода "Option Explicit", но это как уже было сказано - "менее корректно" :)
И удалите из файла Module1 и Module2, они для решения Вашей задачи лишние.
Alt+F11 - там и находятся макросы
Изменено: _Igor_61 - 14.05.2021 15:21:58
 
Ура, заработало!!! Игорь, спасибо огромное  :D  
Изменено: Елена - 14.05.2021 15:40:25
 
artemkau88, можете мне помочь, вот я вставил этот код макроса в другой файл, но он почему то выдаёт ошибку
Изменено: Ибрагим Белхороев - 26.07.2021 10:30:38
 
Цитата
Ибрагим Белхороев написал:
Макрос для выпадающего списка выдает ошибку
ориентировочно это происходит уже месяца 4 подряд
artemkau88,
когда?
можете считать, что ошибка происходит постоянно
Изменено: Ігор Гончаренко - 14.05.2021 18:23:18
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Ігор Гончаренко, зачем думать, трясти надо!
Страницы: 1
Наверх