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

Страницы: 1 2 3 4 5 6 7 8 9 10 11 След.
Найти и отметить комбинацию цифр
 
Потрясающе :)  Браво, огромное спасибо за помощь! :idea:  :idea:  
Найти и отметить комбинацию цифр
 
Всем добрый день!

Прошу помочь в реализации скрипта, который бы решал следующую задачу:
В колонке "A" перечислены текстовые комбинации (5432,  54321,  543210  и  3210) подсвечены серым цветом.
Каждая комбинация отделяется от другой пробелом. У каждой комбинации есть цифровое значение, присвоенное ей, то есть, по сути, имя.
Например, комбинации из A2:A5  (5432) присвоено цифровое значение = 12 (подсвечено темно-серым цветом).
Данное значение указано в 1-й строчке начала комбинации (здесь в "B2").

Необходимо:
1. Записать в базу комбинации из колонки "А" (и их значения из "B")
2. Далее найти в колонке "D" наши комбинации. После нахождения, отметить в колонке "E" найденную комбинацию. На скриншоте в колонке "E" показал как должно получиться (какие комбинации будут найдены и отмечены).
Прошу обратить внимание, что в D23:D27 указана специально схожая комбинация с доп цифрой "3" сверху , которая не должна идентифицироваться. То есть каждая комбинация должна точно соответствовать своему составу, видимо, скрипт должен обязательно проверять, обрамлена ли искомая комбинация пробелами сверху и снизу. Если же в списке цифр находится комбинация, но она не обрамлена пробелом сверху и снизу, то комбинация не отмечается.  

Пример:
1. Смотрим колонку А и пишем в базу 4 комбинации и ее значения:
для комбинации "5432" присваиваем значение = 12
для комбинации "54321" присваиваем значение = 15
для комбинации "543210" присваиваем значение = 17
для комбинации "3210" присваиваем значение = 33

2. Осуществляем поиск комбинаций в колонке "D". В колонке "D" цифры могут быть разделены 1,2 и более пробелами. Соответственно, мы должны искать комбинации между этими пробелами. В строках D8:D11 найдена комбинация под именем "12". Прописываем в 1й строчке (E8) имя комбинации в виде цифрового значения т.е. = 12. И так далее вниз до конца страницы.  


p.s. В примере в колонке "A" указано 4 шт комбинаций, по факту их будет больше, т.е. необходимо сначала загрузить в "базу сравнения" все комбинации, далее их искать. Как это реализовать прошу подсказать. Я предложил текущий 1й вариант "как сейчас" - сначала скрипт забирает комбинации (из А) и их значения (из колонки В) , далее ищет комбинации в колонке D и отмечает найденную в колонке Е.
Либо 2-й вариант, прописать изначально список комбинаций прямо внутри скрипта. Какой вариант быстрее сделать — тот и лучше.

Заранее спасибо за помощь!

Изменено: oleg9911 - 19.04.2024 16:06:06
Удалить повторяющиеся значения в колонке по условию
 
Большое спасибо всем за помощь!  :idea:  Какой вариант использовать (формулой или скриптом) — покажет тест.  ;)  
Удалить повторяющиеся значения в колонке по условию
 
Да, в колонке "А" только единицы. Других символов или цифр нет.
Удалить повторяющиеся значения в колонке по условию
 
Всем добрый вечер!

В колонке "A" перечислены цифровые значения = 1. Необходимо удалить каждое следующее значение = 1, при условии, что оно на расстоянии менее, чем количество строк, указанных в ячейке "B1" от предыдущего значения "1". Если расстояние = или > то единицу не удаляем и начинаем теперь сравнивать расстояние от нее до след единицы.

Пример:
1. В "А3" найдена первая единица. Её не удаляем. С ней будем сравнивать следующую найденную единицу.

2. Находим следующую единицу. Она в "А5". Меряем расстояние от ее номера строки до номера строки, на которой находится предыдущая (эталон) единица.
Если количество строк меньше чем число, указанное в "B1", то единицу в "А5" удаляем. На скриншоте и файле следующая единица находится в "A5". Расстояние от нее до единицы в А3 всего 2 строки, т.е. менее 10 (цифры из B1), значит единицу в А5 удаляем.

3. Аналогично меряем расстояние ко всем следующим найденным значениям. Соответственно в А9, А11, А12, А13 единицы будут удалены, так как расстояние от предыдущей единицы менее 10 (цифры из B1).

4. Единица в А24 не удаляется, тк расстояние от пред единицы более или = 10. И так далее, принцип, надеюсь, смог описать. На скриншоте в колонке "G" показал какие единицы останутся в колонке. Файл пример прилагаю.

Заранее благодарю за помощь.

Скрипт для отметки повторений указанного значения в диапазоне
 
Да, все верно. Что-то я сегодня туплю))) :D  Спасибо!
Скрипт для отметки повторений указанного значения в диапазоне
 
Всем привет!

В колонке "А" лежат данные с текстовыми значениями.
Необходимо в колонке "B" указанного диапазона А3:A31 с помощью цифры "1" отметить все повторения значения, которое указано в ячейке "B1".
На скриншоте "Было -> Стало" показал как получится (колонка H).

Пример:
1. В ячейку "B1" вписали значение "8"
2. Запустили скрипт поиска
3. В колонке "B" проставились единицы в строках: 10, 12, 18, 24, 26, 28 и 29.

Заранее благодарю за помощь.

Скрипт для отметки цифрой уникальных значений в диапазоне
 
Браво. Большое спасибо! (количество результатов точно совпало с количеством результатов через кривой вариант "Данные > Удалить дубликаты")  :idea:  :idea:  
Скрипт для отметки цифрой уникальных значений в диапазоне
 
Верно, это моя ошибка. В "H4" (B4) тоже должно было быть значение "1".
Изменено: oleg9911 - 06.04.2024 09:38:01
Скрипт для отметки цифрой уникальных значений в диапазоне
 
Всем доброе утро!

Банальная задача "Найти и отметить уникальные значения в соседней колонке цифрой". Но появилась проблема - на большом количестве строк (500 000 шт) время на обработку увеличивается многократно и процессор сразу разгоняется до 100%. Предполагаю, что эта проблема может решится обработкой скриптом, тк пробовал обработку строк этой формулой:
Код
=СЧЁТЕСЛИ($A$3:$A$31;$A3)>1
но она долго считает и время окончания обработки сложно расчитать.


В колонке "А" лежат данные с текстовыми значениями.
Необходимо в колонке "B" с помощью единицы отметить каждое уникальное значение в указанном диапазоне А3:A31
Повторяющиеся значения никак не отмечаем. Нужны именно уникальные.
На скриншоте "Было -> Стало" показал как должно получится (колонка H). В примере указал всего 28 строк, но по факту их 500 000.

Желательно, во время работы скрипта добавить счетчик "Текущий номер обработанной строки", чтобы было видно на какой строке работает скрипт и не подвис ли сам скрипт. То есть писать номер обработанной строки, например, в С1  (или в идеале сделать процент завершения (диапазон перевести в %)).

Заранее благодарю за помощь.

Перенести значения из одних колонок в другие с пересчетом формул
 
Большое спасибо за помощь! :idea:  
Перенести значения из одних колонок в другие с пересчетом формул
 
Можно ли добавить, чтобы в N1 также писался номер обработанной строки? Если строк много - не понятно сколько обработалось.... Это также к вопросу о возможности указать точный диапазон обработки.
Перенести значения из одних колонок в другие с пересчетом формул
 
Цитата
написал:
Не думаю, что копирование с пересчетом это самоцель)
Именно копирование с пересчётом и цель. Как-то можно ускорить пересчёт еще кроме выключения экран обновления? Или это уже предел и скорость от компа зависит?
Перенести значения из одних колонок в другие с пересчетом формул
 
Как задать фиксированные рамки обработки строк? Например с 3й по 33ю, а не до конца листа (по умолчанию). Если много строк, то обработка будет идти долго или например зависнет, чтобы можно было в скрипте поправить строки, чтобы перенос значений начался со строки на которой остановились.
Перенести значения из одних колонок в другие с пересчетом формул
 
Всем привет, еще раз.

Прошу помочь со скриптом (формулы не подойдут, так как не делают пересчет в моменте времени),
который бы выполнял 3 действия в заданном диапазоне:
1. с 3-й строки переносим цифровые значения трех колонок B:D в колонки F:H
2. Делаем обязательный пересчёт всех формул.
3. Переносим значение из той же строки колонки "O" в колонку "N"
и так далее до конца заданного диапазона. В данном примере задан фиксированный диапазон обработки с 3 по 33 строку.

Пример:
1. Начинаем перенос цифровых значений с 3-й строки, то есть B3:D3 переносим в F3:H3
2. Делаем пересчёт формул.
3. Переносим значение из "O3" в "N3"
4. Переход на след строку и далее делаем те же самые действия:
B4:D4 переносим в F4:H4, пересчет формул, перенос O4 в N4, переход на следующую строку
B5:D5 переносим в F5:H5, пересчет формул, перенос O5 в N5, переход на следующую строку
и так далее повтор цикла до конца заданного диапазона (здесь до 33-й строки)

Спасибо всем за помощь!

Создать сумму каждых N строк + создать ссылку на каждую N строку
 
Браво! Всё в одном флаконе) Благодарю за помощь в решении! :)  :idea:  
Создать сумму каждых N строк + создать ссылку на каждую N строку
 
Цитата
написал:
Код=ЕСЛИ(ОСТАТ((СТРОКА()-2)/6+2;1)=0;СУММ(A2:A7);"")
=ЕСЛИ(ОСТАТ((СТРОКА()-2)/6+2;1)=0;A7;""
Здесь обращение идет к начальным данным колонки "А". Необходимо, чтобы данные для колонки "B" брались из колонки "E"  (т.е. не были связаны с источником) и растягивались на каждые 6 строк. Далее пустоты в колонке "В" между растянутыми цифровыми значениями необходимо заполнить ссылку на пред ячейку.  
Создать сумму каждых N строк + создать ссылку на каждую N строку
 
Да, и скрипт не потребовался:) Удобно.
Подскажите, пожалуйста, как получившиеся значения из колонки Е теперь растянуть в колонку "B" также через каждые 6 строк?
Те в B2 будет значение из Е2
в B8 будет значение из Е3
в B14 будет значение из Е4
и тп.
и далее соединить пустоты B3-B7 , B9-13 и тд  -  ссылками на предыдущую строку.  
Создать сумму каждых N строк + создать ссылку на каждую N строку
 
Всем доброе утро!
Прошу помочь с небольшим скриптом.

Есть колонка "А" с цифровыми значениями со 2 по 31 строку. Необходимо сделать 2 действия:
1. Необходимо в колонку "Е" со 2-й строки записать сумму каждых N строк. В примере excel файла и скриншоте каждые 6 строк.
2. А в колонку "F" записать ссылку на каждую N строку (указанную в 1-м пункте. То есть также каждую 6-ю строку).


Пример:
1. В ячейку Е2 пишем сумму строк А2-А7.
В ячейку Е3 пишем сумму строк А8-А13.
В ячейку Е4 пишем сумму строк А14-А19.
и так далее до конца диапазона обработки.

2. В ячейку F2 пишем значение каждой N cтроки, указанной в 1-м действии (здесь каждые 6 строк).
То есть в ячейке F2 будет ссылка на ячейку А7 тк она 6-я со 2й строки.
в ячейке F3 будет ссылка на ячейку А13, так как она следующая 6-я строка после А7.
в ячейке F4 будет ссылка на ячейку А19, так как она следующая 6-я строка после А13.
и так далее до конца диапазона обработки.

В скрипте необходимо указать фиксированный диапазон обработки указанной колонки.
В приложенном примере диапазон обработки задан "со 2-й по 31-ю строку колонки А".

Заранее благодарю всех за помощь.



p.s. реализация формулами не подойдет.
Cмена значений ячеек кликом мышки
 
Евгений Смирнов великолепно  :idea:  :)

Большое спасибо всем за помощь в решении!  :idea:  
Cмена значений ячеек кликом мышки
 
Sanja  - спасибо, посмотрел, но есть ошибка. При клике по выбранной ячейке, значения меняются сразу во всех ячейках диапазона, а не в той по которой кликаем. Это не верно. Значение необходимо менять только в ячейке по которой кликаем. Помогите, пожалуйста, исправить код.  
Cмена значений ячеек кликом мышки
 
Всем доброе утро!

Прошу помочь в решении следующей задачки:
У нас есть диапазон А1:C5 в котором указаны цифровые значения 3 типов: 1 ,  -1  или пустая ячейка.
Необходимо осуществить возможность менять кликом мышки по ячейке цифровое значение на значение с другим знаком (с 1 на -1  и  с -1 на 1), также если ячейка пустая, то никаких действий не производить.

Я так понимаю, реализовать подобное можно через закольцованный скрипт. Кнопки запуска и остановки скрипта сделаю самостоятельно. Прошу помочь со скриптом. По поводу клика мышкой это будет 1 клик или 2 - не принципиально.

Пример:
В А1 указано значение 1. При нажатии мышкой по ячейке А1 значение должно смениться на значение -1. При повторном нажатии с -1 на 1.
В B1 указано значение -1. При нажатии мышкой по ячейке B1 значение должно смениться на значение 1. При повторном нажатии с 1 на -1.
В C1 пустая ячейке. При нажатии мышкой по ячейке С1 ничего не должно происходить.
Аналогичные действия будут в остальных ячейках диапазона А1:C5

Заранее благодарю за помощь.

Как скриптом закрасить нижнюю границу ячеек линией определенного цвета?
 
Признаю, не точно сформулировал. Прошу удалить тему....
Как скриптом закрасить нижнюю границу ячеек линией определенного цвета?
 
Игорь, Дмитрий, простите, как мне завязать подчеркивание диапазона A:B в цикл?
В цикле всегда есть текущая строка " i " .
Например: Сейчас это строка 5. Т.е. добавляем в конец цикла наш код, необх, чтобы подчеркнулась строка A5:B5
Далее цикл повторяется , но строка будет другая, например 6.  Соот-но, необх, чтобы подчеркнулась строка A6:B6 и тд вниз.

Собственно, вопрос какой должен быть код, чтобы он учитывал изменение номера текущей строки - брал его и подставлял в пропись диапазона.


Msi2102, шутку оценил, но думал, что решу задачу сам)) Оказалось, что с отметкой текущей строкой всё не так просто...
Как скриптом закрасить нижнюю границу ячеек линией определенного цвета?
 
Нет, макрорекордер не смотрит выполнение опред условия во времени. Мне же нужно повесить закраску линией при выполнении условия.

хотя, вы видимо, о том как посмотреть код. попробую

Вот что выдало:
Но здесь есть вопрос о том, как изменить номер строки? Допустим нужно чтобы каждый раз линия проводилась в диапазоне ячеек A:B но на i строке, то есть каждую текущую строку. Как это исправить?
Код
    Range("A1:B1").Select
    Selection.Borders(xlDiagonalDown).LineStyle = xlNone
    Selection.Borders(xlDiagonalUp).LineStyle = xlNone
    Selection.Borders(xlEdgeLeft).LineStyle = xlNone
    Selection.Borders(xlEdgeTop).LineStyle = xlNone
    With Selection.Borders(xlEdgeBottom)
        .LineStyle = xlContinuous
        .Color = -16776961
        .TintAndShade = 0
        .Weight = xlMedium
    End With
    Selection.Borders(xlEdgeRight).LineStyle = xlNone
    Selection.Borders(xlInsideVertical).LineStyle = xlNone
    Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
End Sub
Изменено: oleg9911 - 06.10.2023 14:12:09
Как скриптом закрасить нижнюю границу ячеек линией определенного цвета?
 
Всем привет.

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

Пример:
1.Необходимо закрасить А1:B1 нижние границы толстой черной линией.
2.Необходимо закрасить А3:B3 нижние границы толстой красной линией.
Файл и скрин ниже.

Спасибо за помощь

p.s. Речь не про цвет фона ячейки, а про закраску границ ячейки. Такое вообще возможно скриптом? Если да, то как выбирать размер линии?

Как из формата времени оставить только минуты, переведя их в число?
 
Спасибо. :)  Простите за тупой вопрос :D  
Как из формата времени оставить только минуты, переведя их в число?
 
Всем привет.

Подскажите, пожалуйста, как формулой из ячейки в формате "время" (например 00:04) перевести в другую ячейку оставив только значение минут, и далее перевести его в формат "число".

Примеры:
00:04  ->  4
10:50  ->  50
00:12  ->  12
и т.п.

Благодарю за помощь!
Смена значения ячейки по кругу с помощью кнопки скриптом
 
Браво, благодарю! :idea:  :idea:  :)  
Смена значения ячейки по кругу с помощью кнопки скриптом
 
Всем добрый день.

Необходим скрипт, который будет вешаться на кнопку. Суть работы скрипта - менять цифровое значение в ячейке А1 со значения 0 на значение 1 и так далее по кругу.

Пример:
В ячейке А1 указано значение 0. Нажали на кнопку - значение в А1 поменялось на значение 1.
В ячейке А1 указано значение 1. Нажали на кнопку - значение в А1 поменялось на значение 0.
и так далее по кругу (циклу).

Благодарю всех за помощь! :)

p.s. файл и скриншот прилагаю.
Страницы: 1 2 3 4 5 6 7 8 9 10 11 След.
Наверх