Выбрать дату в календареВыбрать дату в календаре

Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 17 След.
проверка, что строка входит в массив строк с именем, как сделать проверку, что строка входит в массив строк с именем
 
Sanja, подгрузил файл. Мне фактически нужно только получить признак. К сожалению как было показать не могу :(
проверка, что строка входит в массив строк с именем, как сделать проверку, что строка входит в массив строк с именем
 
Всем доброго дня.

У погуглил по форуму но не смог найти. У меня задача сравнить строку с массивом строк. Строки с которыми я сравниваю объединены как массив с именем. и задача просто определить есть ли в данном массиве строк такая строка. Как я понимаю в excel под такое безобразие есть какая то встроенная функция. Хотя я могу ошибаться. Не подскажете как решить задачу? Или где искать вариант решения.
Изменено: alex_j - 13.02.2024 17:37:13 (загрузка файла)
Вопрос по выпадающему списку
 
Проблема решена, всем спасибо за консультации.
Для обхода этой проблемы добавил лист (массив) на который вынес столбцы с данными по выпадающим спискам. В коде реализовал:
Код
Sub Ìàêðîñ1()

Dim ls1 As Long
Dim wb, Db As Worksheet
Set wb = ThisWorkbook.Sheets(1)
Set Db = ThisWorkbook.Sheets(2)

ls1 = Db.Cells(Rows.Count, 1).End(xlUp).Row
wb.Cells(5, 1).Delete
Names.Add Name:="test", RefersTo:="=Ëèñò2!$A$1:$A$" & ls1

wb.Cells(5, 1).Validation.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:="=test"

End Sub

Как результат файл не крашится при повторном открытии, нет проблемы с разбиением строки при наличии в ней запятых (в одном из вариантов экспериментов такое было.
Еще раз всем спасибо.
Вопрос по выпадающему списку
 
MikeVo, Хммм ... и как с этим бороться ... я пробовал еще через именные диапозоны делать. Но то ли косяк накодил то ли код накосячил ....в переменную имя не подтягиваются значения и выпадающий список n/a
Код
Sub обновить()
Dim arr As Variant

Dim OshW(8) As String
      OshW(0) = "Изменение процесса без отчетности, с требованиями"
      OshW(1) = "Изменение отчета без процесса, с требованиями"
      OshW(2) = "Изменение процесса и отчета, с требованиями"
      OshW(3) = "Изменение процесса без отчетности, без требований"
      OshW(4) = "Изменение отчета без процесса, без требований"
      OshW(5) = "Изменение процесса и отчета, без требований"
      OshW(6) = "Технические изменения"
      OshW(7) = "Не удалось классифицировать"
      u1 = Join(OshW, ",")
      arr = Range("h1:h8")
     'Names.Add "List1", arr
     'u2 = Join(arr, ",")
     ActiveWorkbook.Names.Add Name:="ggg", RefersToR1C1:="=Лист1!R1C8:R8C8"
      Cells(2, 2).Validation.Delete
'Cells(2, 2).Validation.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:=u1
'Cells(2, 2).Validation.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:=List1
Cells(2, 2).Validation.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:=ggg

End Sub
Вопрос по выпадающему списку
 
Sanja, Млин ..... походу я один такой не везучий. Макрос то отрабатывает но если открывать файл после его сохранения с отработавшим макросом то идет запрос на восстановление файла. :( и после того как ты соглашаешься с тем что доверяешь источнику то получаешь битый файл.
Можно конечно обойти все это просто сделав отправку во внешний файл данных которые ты выбираешь работая с данными из файла и запретить сохранение самого файла с которым работаешь.
При получении данных из внешнего файла подтянуться результаты распределения и все такое .... но это просто костыль к процессу.
Просто пока непонятно почему excel не нравится то что в выпадающем списке всегда можно повторить ошибку
Вопрос по выпадающему списку
 
Jack Famous, так VBA никуда не обращается. В последнем файле он работает исключительно с тем что у него внутри :) но файл крашится. И я этого понять не могу.  
Вопрос по выпадающему списку
 
MikeVol, Не помогает. :(
Иначе я бы не мучил окружающих своей проблемой. Удаление выпадающего списка из ячейки перед помещением туда нового это обязательный шаг при повторном помещении списка в ячейку (как показала практика иначе происходит падение по коду). Здесь, почему то падение с уже помещенным списком. при этом ошибка при открытии файла что данные некорректные. Я пересобрал свой файл и отрубал помещение выпадающих списков пока не выделил именно этот. но я не вижу в нем отличие от прочих.  
Вопрос по выпадающему списку
 
MikeVol, Нашел часть кода которая ломает файл. Вычленил в отдельный файл но не могу понять почему ломает прикладываю файлик с вычлененым кодом и сам код. Я конечно та еще слепондя но может я чего то не вижу
Код
Sub обновить()

Dim OshW(8) As String
 OshW(0) = "Изменение процесса без отчетности, с требованиями"
      OshW(1) = "Изменение отчета без процесса, с требованиями"
      OshW(2) = "Изменение процесса и отчета, с требованиями"
      OshW(3) = "Изменение процесса без отчетности, без требований"
      OshW(4) = "Изменение отчета без процесса, без требований"
      OshW(5) = "Изменение процесса и отчета, без требований"
      OshW(6) = "Технические изменения"
      OshW(7) = "Не удалось классифицировать"
      u1 = Join(OshW, ",")
Cells(2, 2).Validation.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:=u1

End Sub

при описании переменной u1 as string она становится строкой, а без описания выборочной строкой.

Сам макрос отрабатывает и вешает раскрывающийся список. Но после открытия файла с этим списком в ячейке файл жаждет восстанавливаться и крашится после восстановления.

Помогите люди добрые я уже голову сломал походу.

Вопрос по выпадающему списку
 
MikeVol, попробовал просто макрос валидат - скачал файл, заполнил поля значениями из выпадающих списков. Сохранил файл. Закрыл. Открыл. и у меня опять запрос на восстановление. Похоже с выпадающими списками у меня какие то проблемы.

а есть еще какие то варианты организации выпадающего списка значений средствами VBA?
Вопрос по выпадающему списку
 
MikeVol, Эксперимент с треском провалился. все таки проблема в формировании выпадающих списков. Причем на странице в которой происходит выбор между вариантами списков
Вопрос по выпадающему списку
 
MikeVol, Спасибо. попробую сейчас. Но это все равно будет корпоративный комп (иначе не подтянется информация) и софт там будет идентичный  
Вопрос по выпадающему списку
 
Sanja, Я создал новую книгу. в книге сформировал пустые листы и модуль (записать макрос - остановить запись. И так 3 раза) потом скопировал только код в макросы). Сохранил книгу. Закрыл книгу. Открыл книгу - открытие без ошибок. отработал макрос получения данных сохранил книгу. Закрыл книгу. Открыл книгу - excel предложил восстанавливать файл.  
Вопрос по выпадающему списку
 
Теперь интересный глюк. при открыти файла Excel утверджает о его повреждении данными и предлагает его восстанавливать. Восстанавливая он генерит дополнительные листы в формате книга. При этом пока данные не подтянуты (не произошло первичного заполнения, а просто есть чистая книга с макросами. такой ошибки нет. Не знаете почему такое может происходить? или новую тему с этим вопросом лучше завести?
Вопрос по выпадающему списку
 
Sanja, Большое спасибо. Правда приложенный файл не ожил. Зато стало понятно откуда проблема растет. Сделал новый файл в который только вживил макросы. Терперь их почистить, добавить третий и можно будет спокойно поработать :)
Огромное спасибо!!!
Вопрос по выпадающему списку
 
Sanja, оставил маленько данных в макросе написал на какой строке падение. Пересобранный файйл ошибка 429 я обошел, падение с ошибкой 1004
Вопрос по выпадающему списку
 
Есть но я предполагал что ошибка возникает при попытке повторно повесить выпадающий на ячейку в которой таковой уже есть. Потому поставил игнорирование. Без нее получаю ошибку 429 невозможность создания компонента активХ

В принципе могу приложить сам файл там правда много наворочено и данные получить в него не получится т.к. внешние файла будут недоступны и парсить без паролей не получится. Но зато можно посмотреть весь код который я туда намудрил. Может это поможет?
Правда он без данных больше 50 килобайт
Изменено: alex_j - 15.01.2024 17:14:20
Вопрос по выпадающему списку
 
Sanja, ну я вместо выпадающего списка на первом листе получаю выпадающий список с "<n/a>"
Вопрос по выпадающему списку
 
Sanja, Макрос работает. Я проверял это очисткой полученных данных и повторным запуском обоих макросов в файле. Первый макрос подтягивает данные из внешних испочников (внешняя книга и парсятся интернет файлы jira, потом идет уточнение данных из независимой книги) заполняется лист 1 второй макрос должен раскидать то что на листе 1 на лист 2 (ошибки) оставив только не ошибки на листе 1 после этого повесить выпадающие списка на оба листа (ошибки все ячейки подряд, не ошибки в зависимости от типа задачи) и в конце на оба листа вешается выпадающий список типа задачи. Идея в том что после работы пользователя он снова стартанет второй макрос для перпераспределения задач.
Так вот, выпадающий список с типом задачи на обоих листах возникает после старта второго макроса.
Т.ч. макрос отрабатывает .... но как то не так :(
Вопрос по выпадающему списку
 
Sanja, мистика какая то .... макрос не изменен в отдельном файле отрабатывает но при этом в моем файле не отрабатывает :(
Вопрос по выпадающему списку
 
Цитата
написал:
Просто можно же фильтровать Массив и отфильтрованный в зависимости от ваших значений массив "пихать" в выпадающий список
А как? Если я правильно вас понимаю то у меняя просто должен быть непрерывный список значений из которого я по условию показываю в выпадающем списке ту или иную часть? Я такого никогда не делал
Вопрос по выпадающему списку
 
Sanja, перечитал ваше сообщение возможно я не правильно понял. Т.е. у меня не должен бы отработать вариант отличный от варианта "Задача"? Но и "задача" не отрабатывает :(
может есть другой вариант реализации?
Вопрос по выпадающему списку
 
Sanim, задачи в списке могут менять свой тип (была ошибкой но переросла в улучшение) при смене типа проще если макрос будет отслеживать перемещение по листам ил корректировкой вариантов списка. И потом у меня задачи подтягиваются по определенному признаку из другой книги, предварительно обрабатываются на основании данных из третьей после этого происходит первичная сортировка, и только потом уже пользователь начинает выбирать откуда у них ноги растут. И задача максимально автоматизировать предварительную суету.
Вопрос по выпадающему списку
 
Sanja, В третьем столбце ограничено как раз вводимие значение. И если там "Задача" то должен бы выпадать один список. А если "улучшение" или "новая функциональность" то другой. Но у меня вне зависимости от того что определит like выпадающий спсиок сыпется :(
Вопрос по выпадающему списку
 
Всем доброго дня. Пытаюсь сделать выпадающий список предопределенных значений по условию. Если условие А то один список Если Б то другой. Использую конструкцию:
Код
Private Sub CommandButton2_Click()

Dim OshB(8), OshW(8), OshQ(8), OshE(4), h, u, Za, v As String
Dim wLastRow, oLastRow, az, ao, dso As Long
Set wb = ThisWorkbook.Worksheets(1)
Set ob = ThisWorkbook.Worksheets(2)
    
      OshW(0) = "Изменение процесса без отчетности, с требованиями"
      OshW(1) = "Изменение отчета без процесса, с требованиями"
      OshW(2) = "Изменение процесса и отчета, с требованиями"
      OshW(3) = "Изменение процесса без отчетности, без требований"
      OshW(4) = "Изменение отчета без процесса, без требований"
      OshW(5) = "Изменение процесса и отчета, без требований"
      OshW(6) = "Технические изменения"
      OshW(7) = "Не удалось классифицировать"
      u = Join(OshW, ",") 'Новая функциональность, Улучшение
      
      OshQ(0) = "Запрос на консультацию"
      OshQ(1) = "Корректировка данных"
      OshQ(2) = "Проведение анализа без доработок"
      OshQ(3) = "Изменение процесса без отчетности, без требований"
      OshQ(4) = "Технические операции"
      OshQ(5) = "Формирование документации"
      OshQ(6) = "Непроизводственные трудозатраты"
      OshQ(7) = "Не удалось классифицировать"
      Za = Join(OshQ, ",") 'Задача
      
      
      wLastRow = wb.Cells(1, 1).CurrentRegion.Rows.Count
      For dsw = 2 To wLastRow
      If wb.Cells(dsw, 3) Like "Задача" Then
      wb.Cells(dsw, 9).Validation.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:=Za
      Else: wb.Cells(dsw, 9).Validation.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:=u
      End If
при этом получаю выпадающие списки "<n/a>"
Хотя конструкция
Код
Dim OshB(8), OshW(8), OshQ(8), OshE(4), h, u, Za, v As String
Dim wLastRow, oLastRow, az, ao, dso As Long
Set wb = ThisWorkbook.Worksheets(1)
Set ob = ThisWorkbook.Worksheets(2)

oLastRow = ob.Cells(1, 1).CurrentRegion.Rows.Count 'лист "ошибки"
Application.AskToUpdateLinks = False
      OshB(0) = "Отмененные ошибки (в т.ч. Вошедшие в другие задачи)"
      OshB(1) = "Исторические ошибки"
      OshB(2) = "Ошибки переноса кода"
      OshB(3) = "Ошибки тестирования"
      OshB(4) = "Ошибки данных или действий заказчика"
      'OshB(5) = "Ошибки анализа"
      OshB(6) = "Ошибки разработки"
      OshB(7) = "Ошибки проектирования" '"Ошибки внедрения нового функционала"
      'OshB(8) = "Ошибки наложения функционала"
      h = Join(OshB, ",") 'ошибки
      For dso = 2 To oLastRow
      On Error Resume Next
      ob.Cells(dso, 9).Validation.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:=h
      Next
работает корректно.

Может есть какая то особенность по вариативности выпадающих списков? Подскажите плиз. Или я где то жестоко ошибаюсь.
срабатывание макроса по событию изменения в ячейках
 
Jack Famous,  при первичном заполнении там данных нет. Но по логике если он не видит необходимого значения то игнорирует условие. падение происходит при первом же запуске
срабатывание макроса по событию изменения в ячейках
 
Добрый день. У меня в чем то схожая задача. Необходимо отслеживать изменения в ячейке и в случае изменения на определенное значение предлагать тот или иной выбор предопределенных значений.
Код
Private Sub Worksheet_Change(ByVal Target As Range)
Dim OshB(8), OshW(8), OshQ(8), OshE(4), h, u, Z, v As String
Application.AskToUpdateLinks = False
      OshB(0) = "Отмененные ошибки (в т.ч. Вошедшие в другие задачи)"
      OshB(1) = "Исторические ошибки"
      OshB(2) = "Ошибки переноса кода"
      OshB(3) = "Ошибки тестирования"
      OshB(4) = "Ошибки данных или действий заказчика"
      'OshB(5) = "Ошибки анализа"
      OshB(6) = "Ошибки разработки"
      OshB(7) = "Ошибки проектирования" '"Ошибки внедрения нового функционала"
      'OshB(8) = "Ошибки наложения функционала"
      h = Join(OshB, ",") 'ошибки
      OshW(0) = "Изменение процесса без отчетности, с требованиями"
      OshW(1) = "Изменение отчета без процесса, с требованиями"
      OshW(2) = "Изменение процесса и отчета, с требованиями"
      OshW(3) = "Изменение процесса без отчетности, без требований"
      OshW(4) = "Изменение отчета без процесса, без требований"
      OshW(5) = "Изменение процесса и отчета, без требований"
      OshW(6) = "Технические изменения"
      OshW(7) = "Не удалось классифицировать"
      u = Join(OshW, ",") 'Новая функциональность, Улучшение
      OshQ(0) = "Запрос на консультацию"
      OshQ(1) = "Корректировка данных"
      OshQ(2) = "Проведение анализа без доработок"
      OshQ(3) = "Изменение процесса без отчетности, без требований"
      OshQ(4) = "Технические операции"
      OshQ(5) = "Формирование документации"
      OshQ(6) = "Непроизводственные трудозатраты"
      OshQ(7) = "Не удалось классифицировать"
      Z = Join(OshQ, ",") 'Задача
      OshE(0) = "Задача"
      OshE(1) = "Новая функциональность"
      OshE(2) = "Ошибка"
      OshE(3) = "Улучшение"
      v = Join(OshE, ",") 'Вид

    If Not Intersect(Range("C2:C" & Cells(Rows.Count, 1).End(xlUp).Row), Target) Is Nothing Then
    Application.ScreenUpdating = False
    
     If Target.Value = "Ошибка" Then Cells(Target.EntireRow, 8).Validation.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:=h Else
     If Target.Value = "Задача" Then Cells(Target.EntireRow, 8).Validation.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:=Z Else Cells(Target.EntireRow, 8).Validation.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:=u
     Cells(Target.EntireRow, 3).Validation.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:=v
     End If
    Application.ScreenUpdating = True
    
End Sub

Но я получаю ошибку не соответствие типа на первом же "If Target.Value = "
Подскажите как решить эту задачу7
Автоматическое изменение в файле XLS в заданной папке, необходимо отслеживать изменения файлов в папке и заменять в них точку на точку.
 
Ігор Гончаренко, Дмитрий(The_Prist) Щербаков, Есть папка "А" содержащая файл "отчет1" в формате xls/ в этой же мамке будет файл "обработка" в формате mxl предполагается что запустив файл обработка и начав работу в 1С отработает следующий кейс:
1С подхватила файл "отчет1" внесла в него данные и закрыла с сохранением
макрос файла "обработка" увидел изменение даты и времени сохранения файла "Отчет1" - обратился к файлу "отчет1" и преобразовал форматы данных. После чего сохранил файл
1С подхватила файл "отчет1" и использовала его в работе

Для получения пролага по выгрузке загрузке файла я ставлю задержку в шагах работы 1С, а макрос отрабатывает автоматически ориентируясь на момент изменения даты и времени сохранения файла.
Как то так.
Автоматическое изменение в файле XLS в заданной папке, необходимо отслеживать изменения файлов в папке и заменять в них точку на точку.
 
Дмитрий(The_Prist) Щербаков, Огромное спасибо. Попробую применить. Но вопрос как мне отследить что произошло изменение (сохранение) внешнего файла для активации макроса?
Автоматическое изменение в файле XLS в заданной папке, необходимо отслеживать изменения файлов в папке и заменять в них точку на точку.
 
Уважаемые модераторы! Прошу изменить тему на "Автоматическое изменение в файле XLS в заданной папке "
Автоматическое изменение в файле XLS в заданной папке, необходимо отслеживать изменения файлов в папке и заменять в них точку на точку.
 
Msi2102, Спасибо. Поправлю
Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 17 След.
Наверх