Добрый день! Заранее извиняюсь за описание задачи,но попытаюсь объяснить как смогу. Задача: Приложение при выгрузке создает xlsx файл в котором помимо разной информации указан Вид документа(В1,В2,КЖ) и название рамки (ГОСТ,ЕСКД,СПДС) с указанием формата(А4,А3). Пример: SPDS_A4_NP_не_АТХ, т.е. рамка выполнена по СПДС, формат А4, NP-для следующих страниц в документе, не_АТХ-раздел в проекте,не особо важно).Но у каждого Вида документа рамки могут быть разные,А4 и А3 или только А4 или только А3,в общем каждый раз по разному, смотря как требуется в проекте.Данная выгрузка требуется для составления отчета и сложность в том, что в отчете есть столбцы Формат документа и Примечание, таким образом если в "Виде документа" использовались только рамки одного формата(скажем А4),тогда в столбце формат ставим А4 и Примечание пустое,а если форматы были разные то в Формат ставим "*(",а в Примечание перечисляем использованные рамки(А4,А3).Но в файле выгрузке могут быть пустые данные, это значит что они не должны попасть в итоговый отчет и их можно игнорировать(это такие данные типа Титульный лист или Обложка или Этикетки и т.д.). В файле примере только часть того файла, по которому придется работать, прикрепляю просто чтобы был смысл понятен, исполнителю вышли "боевой" файл,в котором только порядковый номер столбца изменится и добавятся другие не относящиеся к задаче данные.
Бюджет около 300руб.
P.S.В общем как таковая задача сводится вот к чему:определить список уникальных значений(Вид документа),если у вида документа Формат одинаковый А4,А3,не важно, его и выводить и Примечание не заполнять,а если есть хотя бы одно несоответствие,записывать "*(" и в Примечание заносить все значения по Формату для этого Вида документа.
Добрый день. Есть задача-есть несколько(каждый раз число разное)однофазных потребителей с заданной мощностью(столбец А), нужно их "раскидать" таким образом чтобы напряжение на каждой фазе L1,L2,L3(столбцы C,D) было одинаковое насколько это возможно. Этот расчет требуется чтобы не было перекоса по фазам. Есть ли у кого то наработки по этому поводу или мысль как это реализовать?И самое главное чтобы макрос рядом с каждым значением подписывал на какую фазу он раскинул эту нагрузку! Т.е. есть десяток устройств,каждый со своей мощностью, вот алгоритм и должен сначала оптимально рассчитать что и куда раскинуть,а потом рядом подписать, чтобы после этого на электрической схеме было понятно куда эту нагрузку сажать. Если тема слишком сложна, чтобы "выполнить ее на добровольной основе", прошу закрыть тему и извиняюсь что отнял ваше время.
Sub Вставить_шаблон()
Dim iLastRow As Long, Box As Variant
Prepare
Box = Application.InputBox("Введите имя коробки для добавления", "Введите имя", Type:=2)
If Box = False Then
MsgBox "Ошибка указания имени коробки(пустое значение)"
Exit Sub
Else
iLastRow = Columns("A").Find(What:="*", LookIn:=xlFormulas, SearchDirection:=xlPrevious).Row
Range("A2:AX31").Select
Selection.Copy
Range("A" & iLastRow).Select
ActiveCell.Offset(1, 0).Select
ActiveSheet.Paste
ActiveCell.Offset(15, 35).Select
Selection.ClearContents
ActiveCell.Value = Box
MsgBox "Успешно добавлена коробка " & Box
Ended
End If
End Sub
При запуске макроса вылетает окно для ввода Имени коробки,ввожу 123.03 (именно через точку) и жму Enter, далее макрос через MsgBox рапортует что коробка 123.03 добавлена,но когда я смотрю в ту ячейку куда записалось значение там 123,03 (запятая). Что я делаю не так?
Добрый день! Есть небольшая таблица(файл примера).Столбец А состоит из уникальных значений,а вот в столбце В значения повторяются.Мне необходима формула чтобы введя значение из столбца В слева вывелись все значения по этому условию... Пытался сам составить формулу через ИНДЕКС и ПОИСКПОЗ,но че то никак...Помогите знающие люди,делов на 5мин
Добрый день! Есть файл в котором есть лист с заполнением данных.Нужно заполнив эти данные(вручную) выполнить макрос и чтобы он скопировал данные на лист введенный в ячейку Н1(а лучше всего использовать InputBox) из столбца В на указанный лист в В2:В6,из столбца С в В8:В11 ну и из D в В13:В16....В примере более понятно...По идее знаю как коряво написать код чтобы он ячейки копировал,а как указать что нужно именно в тот лист значение которого указано в ячейке или через InputBox введено...Т.е. заполнил какие нить данные нажал выполнить,вылазит окно "Куда копировать?" забиваешь имя листа.Все данные скопировались,опять жмешь выполнить,указываешь уже другой лист и все по новой...
Добрый день. Есть таблица.В ней есть куча кабелей.К каждому кабелю можно подключить от 1 до 12 приборов.Так же есть клеммники,количество клемм в них всегда фиксированное=16 шт.Вопрос,как узнать кол-во клеммников и распределить сигналы с кабелей на них оптимальным образом(т.е. чтобы больше 16 приборов на него не подключалось(т.к. физически их 16),чтобы оптимально было кол-во незаполненных клемм,и самое главное (!) Ни в коем случае нельзя чтобы приборы из одного кабеля были на двух разных клеммниках,т.е. недопустимо чтобы кабель потрошился и сигналы тянуть на 2 разных клеммника,которые порой могут быть в двух разных шкафах!).Да,сигналы могут быть аналоговыми и дискретными,их тоже нельзя смешивать,в идеале что то типа фильтра применить.Т.е. пока я так думаю задача сводится к тому чтобы вычислить количество сигналов в кабеле и оптимально раскинуть их для 16 клемм. Если есть возможность сделать макрос гибким(т.е. замутить что то типа Пользовательской формой,с указанием настроек).Пока не очень представляю как это будет выглядеть,но думаю найдутся те кто подскажут). Все остальное по примеру довольно понятно,хотя естественно отвечу на все уточняющие вопросы. Пример так сказать "тестовый",но отражает всю суть задачи.Далее если найдется исполнитель,вышлю рабочий файл,на котором можно будет более точно все подогнать." По цене давайте разговаривать)
Добрый день. Есть таблица.В ней есть куча кабелей.К каждому кабелю можно подключить от 1 до 12 приборов.Так же есть клеммники,количество клемм в них всегда фиксированное=16 шт.Вопрос,как узнать кол-во клеммников и распределить сигналы с кабелей на них оптимальным образом(т.е. чтобы больше 16 приборов на него не подключалось(т.к. физически их 16),чтобы оптимально было кол-во незаполненных клемм,и самое главное (!) Ни в коем случае нельзя чтобы приборы из одного кабеля были на двух разных клеммниках,т.е. недопустимо чтобы кабель потрошился и сигналы тянуть на 2 разных клеммника,которые порой могут быть в двух разных шкафах!) . Все остальное по примеру довольно понятно,хотя естественно отвечу на все уточняющие вопросы.
Добрый день! Есть столбец с данными из другой книги(ну пускай будет B1:B10).Эти данные в другом файле находятся на листе1 $B$1:$B$10 для данной коробки.Мне нужно скопировав диапазон А1:В10 и вставив его в А11:В20,как то указать что теперь абсолютные ссылки должна браться из листа2.Т.е. в адресе ссылки '[внешний файл.xlsx]Лист1'!$В2 будет все тоже самое только Лист1 изменится на Лист2 и т.д.Ссылки все одинаковые,только имена листов разные. В идеале у меня в примере есть имя коробки(1000.1),я во внешнем файле могу так листы называть,было бы круто если в формуле можно было прописать '[внешний файл.xlsx]"ссылка на ячейку с именем коробки"'!$В2
p.s.В примере все сделано в рамках одного файла,но для примера думаю достаточно,в окончательном варианте не долго будет поменять ссылки на внешнюю книгу...
Добрый день! Как всегда не совсем представляю как сформулировать уникальную(возможно)задачу,но суть вот в чем.Есть *xlsx файл,в него будут заноситься данные о том как проложен на объекте тот или иной кабель.Для нас самое важное это столбцы в примере Участок 1 и Участок 2 (в "рабочем" файле их будет 10,но у всех смысл один и тот же,если возникнет необходимость для написания формулы или макроса,я сделаю полностью похожий файл).В ячейки этих столбцов через раскрывающийся список будут выбираться в чем проложен Участок 1(Короб,Труба,Металлорукав и т.д.).Так вот,к примеру 10 кабелей могут быть проложены в 10 трубах,а могут в 5(по 2 в трубе),или первые 5 кабелей каждый в своей трубе,а остальные 5 в одной!Т.е. варианты могут быть разные.Так вот я решил заполнять данные(они в будущем вообще будут заполняться на объекте,и потом использоваться,т.е. чтобы не писать все от руки на листочке,я буду их заносить в Excel на планшете)таким образом: Если кабель проложен в "своей одиночной" трубе,тогда напротив столбца Позиция будет стоять "Короб СП 100х100",а если скажем для 3х позиций нужен 1 общий короб,то значение "Короб СП 100х100" будет заполняться только у первой из "3х" позиций,а оставшиеся две будут в этом столбце иметь пустые ячейки.В файле примера все чуть более понятно. Так вот теперь самое важное!Формула/макрос "смотрит" в столбец Участок 1(там по "примеру" что я щас привел "Короб СП 100х100";"Короб СП 100х100";"пусто";"пусто") и видит "Короб СП 100х100" а после него ячейка не пустая,значит в ячейку A2 пишем Короб СП 100х100_1,формула/макрос "смотрит" дальше находит опять "Короб СП 100х100" и после него(до следующей заполненой ячейки)считает пустые ячейки,их 2 плюс заполненая,значит пишет Короб СП 100х100_3 и т.д.После того как просмотрит все 11 строчек Участка 1 переходит вправо через 2 столбца и все тоже самое... Есть у гуру Excel мысли как такое реализовать?
Sub Макрос1()
Range("C44").Value = 2
Range("A1").Select
Worksheets(ActiveSheet.Index + 1).Select
End Sub
Хочу сделать пользовательскую форму чтобы человек мог сам выбрать в какой ячейке (в примере "С44") какой значение прописать (в примере "2") .Т.е. простенькая форма с двумя областями ввода данных(которые наверное будут прописываться в макрос или как то так) и одна кнопка Запуск макроса на выполнение. Как это сделать?
Sub Макрос1()
Range("C44").Value = 2
Range("A1").Select
Worksheets(ActiveSheet.Index + 1).Select
End Sub
Есть 2 вопроса: 1)Как дополнить макрос чтобы он сам "пробежался" по всем листам книги и поменял значение в С44 (а не я держал горячие клавиши и ждал окончания)? Вопросы разной тематической направленности [МОДЕРАТОР]
p.s.Переход в ячейку А1 необходим чтобы было всегда видно "шапку" документа,т.к. ячейка С44 находится очень "низко"...
Собственно вопрос вот какой,есть "рабочий" файл,в него из базы данных(просто другой файл excel)подставляются значения через ВПР.Среди всех значений есть имена кАбелей.Так вот что нужно,если имя кабеля встречается в определенном диапазоне 1 раз,то макрос пишет cable_1signal в ячейке А24,далее он находит следующее уникальное имя,но оно уже встречается 2 раза,тогда он в ячейке А25 пишет cable_2signal(т.е. с этим кабелем приходит 2 сигнала на клеммник),и так далее,максимум может быть 16 кабелей на клеммник(может быть как 16 уникальных имен,так и одно имя встречающееся 16раз,т.е. разные комбинации). Т.е. логика такова: макрос смотрит в "первую" ячейку S8,сравнивает ее с S9,если значения не равны,значит имя встретилось всего 1 раз,поэтому пишем в А24 "cable_1signal",идем дальше,сравниваем S9 с S10,они равны,запоминаем что счет равен 2,сравниваем S10 с S11,они не равны,т.е. имя кабеля встречалось всего 2 раза,значит в следующей ячейке A25 пишем "cable_2signal"...Таким образом проверяем все ячейки.Но иногда может быть резерв,тогда в ячейке стоит "-".Значит в последней ячейке нужно вывести заключительную фразу "####[reports]". Можно ли эта задачу осуществить макросом или формулой?И возьмется ли вообще кто то за это? Прикрепляю файл с примером.
Есть определенный список (столбец А),там перечислены названия сигналов и изредка слово "питание".В столбце B и C должны проставляться цифры в зависимости от того что стоит напротив. Пример:
A
B
C
1
Позиция
Клемма 1
Клемма 2
2
PT100
1
1
3
PT101
2
2
4
питание
1
5
FT200
3
3
6
FT201
4
4
7
FT202
5
5
8
питание
2
Даже не знаю как грамотно описать.Идет проверка.Если в столбце А встречается имя позиции(текст отличный от "питание")то счетчик начинается с 1.Далее опять(в примере)встречается другое имя позиции,счетчик прибавляет 1(итого 2).Как только попадается слово "питание"(в примере А3) счетчик начинается с 1.Далее В4=имя позиции,значит счетчик берет последнее значение (2) и прибавляет 1(итого 3)....И далее по такому же принципу.В общем по такому описанию не долго запутаться,но думаю в примере цветом выделенное более понятно.
Не думаю конечно что получится очень просто,но попытка не пытка.Прошу помочь!
Добрый день! Есть 2 столбца-Тип сигнала(столбец А) и Описание(столбец В). В столбце А могут вводиться только значения из списка-AI;AO;DI;DO. Нужно добиться вот чего,если значение в ячейке А1(столбец Тип сигнала)=AI или AO,то кол-во вводимых символов в ячейку В1(столбец Описание)=40,а если A1=DI или DO, то в В1 ограничение 24. То есть условие: если($А1="AI";$B1=ограничение 40символов);если($А1="AO";$B1=ограничение 40символов) ;если($А1="DI";$B1=ограничение 24символa);если($А1="DO";$B1=ограничение 24символa) Жаль нет такой формулы
Добрый день! Есть рабочий документ с 4 страницами (Работа, Шаблон1, Шаблон2, Шаблон3). Шаблоны содержат одинаковое кол-во столбцов,но разное кол-во заполненых формулами и отформатированных строк. Выбираем страницу "Работа", устанавливаем курсор в ячейку A1, в ней открывается раскрывающийся список, там выбираем Шаблон1, и все строки из этого шаблона копируются на лист Работа(строки могут быть пустыми,могут быть залиты цветом,могут содержать формулы,т.е. копировать ячейку "как она есть" в шаблоне).Потом устанавлием курсор(вручную) в последнюю не занятую ячейку столбца А и все по новой.Т.е. шаблоны выглядят как то так:
Шаблон1
A
B
C
Имя
Позиция
Контакт
123
PT100
=СЦЕПИТЬ($A1;"_";+$B1)
456
FT100
=СЦЕПИТЬ($A2;"_";+$B2)
Шаблон2
A
B
C
Имя
Позиция
Контакт
1
PT200
=СЦЕПИТЬ($B1;" ";"+"
2
FT200
=СЦЕПИТЬ($B1;" ";"+"
3
LT200
=СЦЕПИТЬ($B1;" ";"+"
Шаблон3
A
B
C
Имя
Позиция
Контакт
12
PT300
1+
34
PDT300
2-
56
FT300
1+
78
LT400
2-
Т.е. нужна формула или макрос,которая(ый) по имени введенному(выбраному)в столбце А должна(ен) копировать определенный диапазон с определенного листа.
p.s.Если получится решить мою проблему,в идеале было бы,что бы листы Шаблон1,2,3 находились в другой книге,но мне кажется тут уж совсем сложно будет.
День добрый. Проблема, никак не получается решить: Есть файл №1 - это база данных сигналов АСУТП. Есть файл №2 - это шаблон.В нем в столбце A1 ввожу имя сигнала (я его заранее знаю),а дальше функция ВПР подставляет в другие столбцы (B1,C1...)значение из Базы Данных по такой вот формуле ВПР($A1;'...\[База данных сигналов.xls]Лист1'!$A$1;2;0).Т.е. зная имя сигнала мне нужно скопировать из строки(которая находится в файле №1)определенные ячейки. Функция ВПР работает отлично,но теперь вопрос,можно ли после того как функция ВПР подставит мне все данные в файл №2, какая то другая функция/формула/макрос "закрасит" полностью строку с этим именем в Базе данных в файле №1. Если коротко то нужно отслеживать сколько сигналов ты "выбрал" из базы,чтобы ничего не забыть. Т.е. ввел значение в Книга2_Лист1_А1 значение PT-3001.Дальше формула/макрос/функция/УФ сверяет это значение (PT-3001) со списком(диапазоном) Книга1_Лист1_A:A и как только находит такое значение в первой книге,закрашивает полностью всю строку скажем зеленым цветом.Чтобы потом открыл базу и сразу было видно какие сигналы уже "забиты",а какие нет.