В этом диапазоне нужно создать поиск который отсчитывает с самого начала 24 ячейки и ищет количество R если R меньше 6 то выделяет диапазон ячеек (т.е. 24 ячейки) если >= 6 то ничего не выводит и ищет дальше а именно сдвигается на одну ячейку и в диапазоне 24 ячеек опять ищет R и таким образом проверяет всю таблицу.
Например выделенные буквы в строке 1ой и 2ой между ними 24 ячейки итого 1ое R = 4, 2ое R = 8 (а значит удовл. нашему условию и ничего не выводит)
Например выделенные буквы в строке 3ей и 4ой между ними 24 ячейки итого 1ое R = 4, 2ое R = 4 (а значит не удовл. нашему условию и выделяет диапазон ячеек = 24)
Формулы тоже годятся но лучше в VB вот ещё пример: 1я строка: RRRRWWWWWWWWRRRROOOORRRR = 24 ячейки из них 1ое R=4, 2ое R=4, 3ье R=4
Если начинать сдвигаться на 1 ячейку то получается 1я строка: R"R"RRWWWWWWWWRRRROOOORRRR 2я строка: "R"RRRWWWWWWWWRRRROOOORRRR = сдвинулся на одну ячейку и отсчитал 24 ячейки и получается из них 1ое R=3, 2ое R=4, 3ье R=5
Надеюсь на Ваши советы. PS: Мой уровень в VB средний а может и чуть ниже...также присоединил файл с примером.
Здр. ув. программисты!!! Хотел бы у вас спросить как создать макрос или в каком направление мне нужно работать.
Проблема вот какая: есть диапазон ячеек ограниченный 24 столбиками. Например:
В этом диапазоне нужно создать поиск который отсчитывает с самого начала 24 ячейки и ищет количество R если R меньше 6 то выделяет диапазон ячеек (т.е. 24 ячейки) если >= 6 то ничего не выводит и ищет дальше а именно сдвигается на одну ячейку и в диапазоне 24 ячеек опять ищет R и таким образом проверяет всю таблицу.
Например выделенные буквы в строке 1ой и 2ой между ними 24 ячейки итого 1ое R = 4, 2ое R = 8 (а значит удовл. нашему условию и ничего не выводит)
Например выделенные буквы в строке 3ей и 4ой между ними 24 ячейки итого 1ое R = 4, 2ое R = 4 (а значит не удовл. нашему условию и выделяет диапазон ячеек = 24)
Формулы тоже годятся но лучше в VB вот ещё пример: 1я строка: RRRRWWWWWWWWRRRROOOORRRR = 24 ячейки из них 1ое R=4, 2ое R=4, 3ье R=4
Если начинать сдвигаться на 1 ячейку то получается 1я строка: R"R"RRWWWWWWWWRRRROOOORRRR 2я строка: "R"RRRWWWWWWWWRRRROOOORRRR = сдвинулся на одну ячейку и отсчитал 24 ячейки и получается из них 1ое R=3, 2ое R=4, 3ье R=5
Надеюсь на Ваши советы. PS: Мой уровень в VB средний а может и чуть ниже...также присоединил файл с примером.komilfo
Формулы тоже годятся но лучше в VB 1я строка: RRRRWWWWWWWWRRRROOOORRRR = 24 ячейки из них 1ое R=4, 2ое R=4, 3ье R=4
Если начинать сдвигаться на 1 ячейку то получается 1я строка: R"R"RRWWWWWWWWRRRROOOORRRR 2я строка: "R"RRRWWWWWWWWRRRROOOORRRR = сдвинулся на одну ячейку и отсчитал 24 ячейки и получается из них 1ое R=3, 2ое R=4, 3ье R=5
Ну и т.д.
Формулы тоже годятся но лучше в VB 1я строка: RRRRWWWWWWWWRRRROOOORRRR = 24 ячейки из них 1ое R=4, 2ое R=4, 3ье R=4
Если начинать сдвигаться на 1 ячейку то получается 1я строка: R"R"RRWWWWWWWWRRRROOOORRRR 2я строка: "R"RRRWWWWWWWWRRRROOOORRRR = сдвинулся на одну ячейку и отсчитал 24 ячейки и получается из них 1ое R=3, 2ое R=4, 3ье R=5
Я пробовал разными способами но так и не получается довести до ума... Соединял весь диапазон с помощь VB в одну строку, но там есть лимит в строке... Также пробовал каждой R присвоить порядковый номер и вывести...тоже не получилось...
Здр. AlexM, Спасибо за Ваше внимание...
Я пробовал разными способами но так и не получается довести до ума... Соединял весь диапазон с помощь VB в одну строку, но там есть лимит в строке... Также пробовал каждой R присвоить порядковый номер и вывести...тоже не получилось...komilfo
С Ув.Кирилл
Сообщение отредактировал komilfo - Суббота, 05.04.2014, 21:44
совершенно непонятен. К тому же между выделенными вами буквами в 1-2 строках и 3-4 строках в первом вашем сообщении не по 24, а по 23 буквы. Ну или по 25, если выделенные тоже считать. Также непонятно, что должно получиться в итоге, т.к. если проверять все последовательности из 24 букв, то среди выделенных диапазонов будет очень много наложений. Может быть, выделять надо только начальные и конечные буквы диапазонов и / или при наличии удовлетворяющего условию диапазона проверку продолжать с буквы, СЛЕДУЮЩЕЙ после последней буквы диапазона? Однако, из ваших объяснений это не следует. Да, и файл с примером, таки не помешал бы.
komilfo, кому как, но лично мне вот этот ваш подсчет
совершенно непонятен. К тому же между выделенными вами буквами в 1-2 строках и 3-4 строках в первом вашем сообщении не по 24, а по 23 буквы. Ну или по 25, если выделенные тоже считать. Также непонятно, что должно получиться в итоге, т.к. если проверять все последовательности из 24 букв, то среди выделенных диапазонов будет очень много наложений. Может быть, выделять надо только начальные и конечные буквы диапазонов и / или при наличии удовлетворяющего условию диапазона проверку продолжать с буквы, СЛЕДУЮЩЕЙ после последней буквы диапазона? Однако, из ваших объяснений это не следует. Да, и файл с примером, таки не помешал бы.alex1248
Т.е. получается, что не должно быть ПОСЛЕДОВАТЕЛЬНО больше 5 R в каждой группе из 24 ячеек. А вот еще уточнение, в связи с примером из файла. Если рассматривать диапазоны, со сдвигом относительно выделенного на несколько ячеек, как назад, так и вперед, то условие тоже соблюдается, и получится что отмечено подряд будет более 24 ячеек? Кстати, в связи с этим может возникнуть проблема (или это не проблема?) - например, два диапазона по 24 ячейки, соседние, удовлетворяют этим условиям, но на границе, в результате объединения общее количество R будет больше 5, и значит, внутри этого объединенного диапазона из 48 ячеек есть диапазоны из 24 ячеек, не удовлетворяющие условию. Тем не менее, отмечены будут все 48 ячеек, и непонятно, есть ли внутри диапазоны, не удовлетворяющие условию. Это допустимая ситуация?
Т.е. получается, что не должно быть ПОСЛЕДОВАТЕЛЬНО больше 5 R в каждой группе из 24 ячеек. А вот еще уточнение, в связи с примером из файла. Если рассматривать диапазоны, со сдвигом относительно выделенного на несколько ячеек, как назад, так и вперед, то условие тоже соблюдается, и получится что отмечено подряд будет более 24 ячеек? Кстати, в связи с этим может возникнуть проблема (или это не проблема?) - например, два диапазона по 24 ячейки, соседние, удовлетворяют этим условиям, но на границе, в результате объединения общее количество R будет больше 5, и значит, внутри этого объединенного диапазона из 48 ячеек есть диапазоны из 24 ячеек, не удовлетворяющие условию. Тем не менее, отмечены будут все 48 ячеек, и непонятно, есть ли внутри диапазоны, не удовлетворяющие условию. Это допустимая ситуация?alex1248
skype alex12481632 Qiwi +79276708519
Сообщение отредактировал alex1248 - Суббота, 05.04.2014, 23:37
Условие в 24 - обязательное т.е. только в диапазоне из 24 ячеек надо находить кол-во последовательных "R" и если в этом диапазоне последовательность "R" < 6 оно должно его выделить. Да и в примере я выделил диапазон желтым для примера, если этот желтый диапазон сдвинуть назад на 12 или 11 или 10 ячеек то условие тоже не будет выполняться а значит должно быть помечено желтым (диапазон в 24 ячейки). А вот если сдвинуть на 13 ячеек то тогда наше условие выполнено и выделения не будет. Да и естественно помечено может быть больше 24 ячеек т.к. каждый раз мы сдвигаемся на одну ячейку и если условие не выполняется то диапазон в 24 ячейки опять помечается.
Здр. Ув. alex1248,
Условие в 24 - обязательное т.е. только в диапазоне из 24 ячеек надо находить кол-во последовательных "R" и если в этом диапазоне последовательность "R" < 6 оно должно его выделить. Да и в примере я выделил диапазон желтым для примера, если этот желтый диапазон сдвинуть назад на 12 или 11 или 10 ячеек то условие тоже не будет выполняться а значит должно быть помечено желтым (диапазон в 24 ячейки). А вот если сдвинуть на 13 ячеек то тогда наше условие выполнено и выделения не будет. Да и естественно помечено может быть больше 24 ячеек т.к. каждый раз мы сдвигаемся на одну ячейку и если условие не выполняется то диапазон в 24 ячейки опять помечается.komilfo
С Ув.Кирилл
Сообщение отредактировал komilfo - Суббота, 05.04.2014, 23:53
Я о ситуации, как на скрине в прикрепленном файле. Выделил 2 диапазона разными цветами. По отдельности каждый из них удовлетворяет условию, и поэтому они должны выделться. Однако на их стыке есть диапазон с 7-ю подряд R. Это нормально, что они тем не менее окажутся выделены? Или я что-то неправильно понял?
Я о ситуации, как на скрине в прикрепленном файле. Выделил 2 диапазона разными цветами. По отдельности каждый из них удовлетворяет условию, и поэтому они должны выделться. Однако на их стыке есть диапазон с 7-ю подряд R. Это нормально, что они тем не менее окажутся выделены? Или я что-то неправильно понял?alex1248
По поводу выделение макросом - надо чтоб выделялся диапазон в 24 ячейки в котором наше условие не выполняется... для того чтобы я знал в каком именно месте условие не выполняется т.е. R<6
Ув. AlexM,
По поводу выделение макросом - надо чтоб выделялся диапазон в 24 ячейки в котором наше условие не выполняется... для того чтобы я знал в каком именно месте условие не выполняется т.е. R<6komilfo
Ув. alex1248, На вашем скрине все правильно желтым цветом выделен диапазон который не удовлетворяет условию это то что нужно, для меня важно знать в каком именно диапазоне R<6 после чего когда будут выделены диапазоны R<6 я начну исправлять форму до тех пор пока все R>=6. Это мне нужно для того чтобы проверить форму и исправить ошибки т.е. чтоб R был >=6 в любом диапазоне из 24 ячеек. Более того можно найти первый диапазон из 24ячеек который не удовлетворяет условию и выделить его и также можно остановить выполнения макроса после я откорректирую данные и опять запущу проверку...ну и т.д.
Ув. alex1248, На вашем скрине все правильно желтым цветом выделен диапазон который не удовлетворяет условию это то что нужно, для меня важно знать в каком именно диапазоне R<6 после чего когда будут выделены диапазоны R<6 я начну исправлять форму до тех пор пока все R>=6. Это мне нужно для того чтобы проверить форму и исправить ошибки т.е. чтоб R был >=6 в любом диапазоне из 24 ячеек. Более того можно найти первый диапазон из 24ячеек который не удовлетворяет условию и выделить его и также можно остановить выполнения макроса после я откорректирую данные и опять запущу проверку...ну и т.д.komilfo
С Ув.Кирилл
Сообщение отредактировал komilfo - Воскресенье, 06.04.2014, 00:26
Ув. AlexM, У вас выделение происходит но условия не соблюдаются а именно надо выделить первый диапазон из 24 ячеек где последовательность R < 6 (т.е. если RRRRR < 6) а если подряд будет идти RRRRRR = 6 то ничего не выделяется. Да и почему то последнюю ячейку не выделило.
Ув. AlexM, У вас выделение происходит но условия не соблюдаются а именно надо выделить первый диапазон из 24 ячеек где последовательность R < 6 (т.е. если RRRRR < 6) а если подряд будет идти RRRRRR = 6 то ничего не выделяется. Да и почему то последнюю ячейку не выделило.komilfo
В диапазоне J13 по I14 24 ячейки. В этом диапазоне 5 "R" смещаемся на одну ячейку В диапазоне K13 по J14 24 ячейки. В этом диапазоне 5 "R" смещаемся на одну ячейку .................. В диапазоне Q13 по P14 24 ячейки. В этом диапазоне 5 "R" Эти диапазоны закрашиваются по условию в файле смещаемся на одну ячейку В диапазоне R13 по Q14 24 ячейки. В этом диапазоне 6 "R" Диапазон не закрашивается.
В диапазоне J13 по I14 24 ячейки. В этом диапазоне 5 "R" смещаемся на одну ячейку В диапазоне K13 по J14 24 ячейки. В этом диапазоне 5 "R" смещаемся на одну ячейку .................. В диапазоне Q13 по P14 24 ячейки. В этом диапазоне 5 "R" Эти диапазоны закрашиваются по условию в файле смещаемся на одну ячейку В диапазоне R13 по Q14 24 ячейки. В этом диапазоне 6 "R" Диапазон не закрашивается.AlexM
Ув. AlexM, В диапазоне J13 по I14 24 ячейки. В этом диапазоне 5 "R" (но не последовательно а в разброс) а нам нужно чтоб он нашел 5 повторяющихся R и закрасил диапазон в 24 ячейки.
По сути дело нужен макрос по нажатию которого будет находиться первые 24 ячейки в которых будут находится меньше 6 последовательных R пример в файле.
Ув. AlexM, В диапазоне J13 по I14 24 ячейки. В этом диапазоне 5 "R" (но не последовательно а в разброс) а нам нужно чтоб он нашел 5 повторяющихся R и закрасил диапазон в 24 ячейки.
По сути дело нужен макрос по нажатию которого будет находиться первые 24 ячейки в которых будут находится меньше 6 последовательных R пример в файле.komilfo
Ув. AlexM, Огромное спасибо Вам за помощь...на основе вашей программы я добавил те критерии которые мне нужны и изменил немного код программы у меня все получилось, теперь программа все считает и выделяет.
Спасибо вам еще раз.
Прошу тему закрыть.
Ув. AlexM, Огромное спасибо Вам за помощь...на основе вашей программы я добавил те критерии которые мне нужны и изменил немного код программы у меня все получилось, теперь программа все считает и выделяет.