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

Страницы: 1
Переименование файлов при помощи цикла
 
Добрый день, уважаемые!

Продолжаю придумывать всякие фичи и столкнулся с очередной проблемой:

Есть цикл, который в моей программе делает определённые действия для каждой ячейки, начиная с А2 и заканчивая последней заполненной ячейкой.
По выполнении этих действий я решил создавать отдельный файл с выкопировкой результатов (две вкладки копируются в новую книгу), а затем с помощью того же цикла переименовывать эти файлы, также, начиная с ячейки А2 и заканчивая последней заполненной ячейкой.

Однако на этом этапе у меня всплывает ошибка '1004' Application-defined or object-defined error:
Код
NewName = Workbooks("Раскидка по подрядчикам.xlsm").Worksheets("Клейма статистика").Cells(i, 1) & ".xls"

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

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

Изменено: Orishniy - 26.12.2021 10:49:38
Поиск идентификатора при частичном совпадении критерия поиска ПОИСКПОЗ
 
Здравствуйте дорогие форумчане!

У меня возникла такая проблема.
Имеется таблица данных (см. файл Пример2 вкладку "Таблица данных")
На вкладке "Выписка из таблицы" вводится искомое значение "Клеймо" а затем с помощью массива ищется уникальный идентификатор "Номер заявки".

Вопрос:
Как изменить формулу, чтобы он вытягивал идентификаторы не только, когда имеется полное совпадение клейма (в примере 274P), но и в комбинации клейм (6A95/274P-BBE1).

Находил в интернете вот такую формулу
Код
=ИНДЕКС($A$10:$B$12;ПОИСКПОЗ("*" &A2&"*";$A$10:$A$12;0);2) 

ключевое здесь ("*"&"*)

переработал её под мой массив, но что-то она у меня не заработала, выдаёт ошибку !ЧИСЛО
ссылка на комментарий с этой формулой https://cloud.mail.ru/public/5rgy/MMQJGSUrJ
Как добавить цикл для действий, записанных макрорекордером
 
Здравствуйте люди добрые!
Ситуация такая, что я нахожусь на вахте и, к сожалению, меня постоянно дёргают и не дают сосредоточиться.
До этого немного программировал на vba, но уже многое забыл.

Суть проблемы:
У меня есть небольшой алгоритм повторяющихся действий. Таких действий у меня на данный момент 300 с чем то, постепенно будут увеличиваться. В них меняются только номер строки (Range("A2") на Range("A2"); Range("C2") на Range("C3") ). Пример кода:
Код
Sheets("Клейма статистика").Select
Range("A2").Select ' В следующем действии станет А3

' Этот код не меняется
Selection.Copy
Sheets("Брак по трассовке").Select
Range("G5").Select
ActiveSheet.Paste
ActiveSheet.Calculate

Sheets("Выписка из трассовки").Select
Application.CutCopyMode = False
ActiveSheet.Calculate
' Этот код не меняется

Sheets("Брак по трассовке").Select
ActiveSheet.Calculate

Range("J3:K3").Select
Selection.Copy

Sheets("Клейма статистика").Select
Range("C2").Select ' В следующем действии станет С3

Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Чувствую, что решение здесь в небольшом не сложном цикле, которому ещё в школе учат. Не могли бы вы помочь реализовать мою задачу?
Изменено: vikttur - 06.12.2021 12:36:43
Показать в специально отведенной ячейке, какой блок ячеек сейчас задействован
 
Здравствуйте, товарищи!

У меня такая ситуация:
Имеются объединенные ячейки (т.н "блоки") с разной информацией.
Эти ячейки переносятся в зону печати и обратно на свое место нажатием кнопок. Записывал действия через макрорекордер путем "Вырезать-Вставить".

Появилась Идея - отображать в отдельном блоке (назвал "Индикатор Формы") какая на данный момент форма с информацией активна.

Т.е то что лежит за пределами зоны печати считается неактивным, а то что перенесено в зону печати - активным.

Первое что пытался реализовать - формула "Епусто", которая срабатывает, если в выбранном диапазоне ячеек/ячейки нету текста. (по задумке формула ЕПУСТО не находит текста в его изначальном месте расположения и выводит надпись " Трубная форма активна")

Но так как мои действия заключаются в "Вырезать-Вставить", в момент переноса блока с информацией "Епусто" переносится вместе с ним (более понятно будет на скриншотах "Пояснение 1" и "Пояснение 2")
Скрытый текст

Приходит ли вам на ум более изящный способ оценить какой сейчас блок с информацией активен применительно к моей ситуации
Если не выполняется ни одно из условий сделать значение ячейки = Ложь
 
Здравствуйте! Написал множество условий, в зависимости от которых меняется значение ячейки H20.

Хотел в конце макроса сделать команду, "если не выполняется ни одно из условий, вывести в ячейке надпись ЛОЖЬ"

Предисловие: До этого создавал Module макросы, которые срабатывали при нажатии кнопок. Там, каждое условие If я закрывал End If

Этот макрос ByVal у меня идет через лист 1. В нем при закрытии каждого условия If, как вроде бы того требуют правила написания, вылезает ошибка "End If without block If". Это я к тому, что здесь как то правила работают по другому, и, соответственно команда else тоже.

Не могли бы подсказать как прописать мою команду.
Страницы: 1
Наверх