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

Страницы: 1
Как сделать так, чтобы все операции по определенному товару отражались в остатке этого товара на другом листе
 
Всем привет и с наступающими праздниками! Описываю подробно, с чем не могу справиться. Буду признателен за помощь.

Есть таблица с 2мя листами (ссылка на google spreadsheet):
1. На первом товары и их фактический остаток
2. Операции по приходу/расходу товаров

Как сделать так, чтобы при добавлении каждой новой операции на Листе 2, изменения остатка отображалось на Листе 1 у соответствующего товара? Операции всего 2: приемка, отгрузка, но с высокой степенью периодичности. Хочу сделать выпадающий список по типу операции, чтобы при добавлении новой, на Листе 1 автоматически пересчитывался остаток соотевтствующего товара.

Заранее спасибо!
Добавление пустых строк между диапазонами заполенных
 
Добрый день всем. Буду признателен за помощь:
есть сплошной массив данных расположенный в столбце A, необходимо вставить 5 пустых ячеек после каждой 17-ой ячейки массива в столбце А. Как это сделать?

Заранее благодарю!
Удалить все ячейки с длиной строки больше указанного значения
 
Добрый день, всем специалистам!
Как сделать чтобы макрос удалил все ячейки из всего столбца А, допустим, в которых ДЛСТР, например, меньше 50 знаков, причем, необходимо учесть, что начинать надо с ячейки А2 и удалять до последней ячейки столбца с данными. То есть количество данных в столбце динамично, сегодня 5000, завтра 10000.

Заранее огромное спасибо!

Не нужно делать из темы свалку вопросов [МОДЕРАТОР]
Автоматизация процесса преобразования элементов
 
Добрый день, уважаемые профессионалы excel. Необходима ваша помощь в написании макроса под конкретную задачу. Фактически задача выполнена формулами, однако есть такие элементы решения, которые, к сожалению, не могу автоматизировать, например, спец. вставка - значения от конкретного массива. Да и в целом, это не суть, макрос в данном случае будет куда более рациональным решением всех бед. Задача только кажется большой, на самом деле я, полный 0 в excel, решил все формулами за 30 минут. Пример, конечно прикреплен. Однако, тезисно опишу критерии задачи и используемые формулы по шагам:

Итак...
1. Имеется конкретный массив, который выгружается именно таким способом как показано в примере, а именно 3 ячейки с информацией перед началом первого столбика со значениями 16-иричной системы счисления и 2 пустые ячейки после, далее 3 с информацией перед 2-ым столбцом данных и 2 после и т.д. Информация между столбцами не важна, ее в конечном итоге быть не должно, как и информации в соседних колонках.
*** Первым делом удаляем информацию в соседних колонках, копируемую в них автоматически из исходника, так как они ни коем образом не влияют на содержимое наших блоков с данными в 16-иричной системе.

2.  Отделяем блоки от информации, которая находится между ними в 3-ех ячейка сверху каждого блока, можно сразу конечно сократить и расстояние между самим блоками до 1-ой пустой ячейки, как вариант... Не принципиально. Информацию отделяем предельно просто: в соседнем столбце в ячейке напротив первой ячейки с данными блока ставим ="этой самой ячейке" и растягиваем до конца первого блока, после чего выделяем новый блок с уже скопированными данными первого блока исходника, только выделяем его включая пустой массив этого нового столбца ровно до начала второго столбца исходника напротив, чтобы не копировалась ненужная информация между блоками. Как итог: отделенные нужные блоки в новом столбце.
*** И вот здесь возникает вопрос: пробовал записывать макрос и он, само собой разумеющееся, растягивание диапазона описанным выше способом воспринимает буквально, задает конкретный диапазон, однако исходник может быть длиннее, соответственно нужно чтобы макрос анализировал диапазон и устанавливал растягивание до последней строки последнего блока исходника только конечно в столбце рядом, чтобы исходник остался. Опять же, когда  нужно чтобы макрос учитывал длину необходимого выделения перед растягиванием. Возможно я здесь облегчу вам жизнь, сказав, что каждый столбец с данными имеет одинаковую высоту (количество ячеек в столбике) и расстояния между столбцами фиксированы, что значит, видимо, можно просто обозначать выделение конкретного массива фиксированным диапазоном  а далее уже как-то растягивать до конца)

3.После этого необходимо в каждой ячейке каждого столбца убрать символ "\", главное оставляя один пробел в конце каждой ячейки. Тут просто все: "заменить".

4. Далее необходимо избавиться от пробела перед первым символом в первых ячейках каждого столбца. Тут формулой =ЕСЛИ(ЛЕВСИМВ(**)=" ";ПСТР(**;2;ДЛСТР(**)-1);**), но предварительно я отделял каждую первую ячейку каждого столбца в новый столбец по принципу пункта 2, а именно: выделяем эту самую ячейку + массив-столбец до ячейки перед первой ячейкой второго столбца и растягиваем, опять же чтобы копировались только первые ячейки каждого столбца.

5. Пункт 4 можно было и обойти, я так понимаю, потому что дальше нужно убрать в каждой первой ячейке каждого столбца 5 первых значений (пробел можно было включить в общее кол-во символов эти 5 первых значений, ибо каждое из значений также разделяется пробелом), и в каждой последней ячейке каждого столбца 1 последнее значение. Здесь использовал ПСТР для первой ячейки и ЛЕВСИМ для последней. Это все делал также в отдельном столбце и получил по итогам столбец с первой ячейкой далее в столбец пустые ячейки до последней, там как и должно быть информация последней ячейки только уже измененная согласно последним корректировкам. Середину первого нового столбца заполняем ="**", так как значения середины столбца не меняются. А после выделяем столбец с захватом массива пробелом между вторым столбцом и растягиваем до конца. Снова натыкаемся на необходимость установить в макросе значения переменной длины столбца.

6. Так как мы урезали первую ячейку каждого столбца на 5 значений или, с учетом пробелов, включая и пробел перед первым значением, на 16 символов, а последнюю ячейку на 2 символа (пробел после предпоследнего символа оставили для последующего сцепления с другими столбцами) у нас получились неравномерные столбцы, то есть кол-во значений в первой ячейке меньше чем во всех до последней. Нужно чтобы в каждой ячейке было по 16 значений с пробелами, общая сумма столбца 256 байт. Тут я начал корректирование также с первого столбца. Использовал сцепление всех ячеек столбца, чтобы потом его разбить на равные части. Сцепил строчкой выше чтобы не нарушать положение столбца (чтобы располагался все также ровно напротив исходника), а дальше формировал каждую ячейку первого столбца ПСТР и ЛЕВСИМ для уравнивания, главное нигде не потерять пробел между значениями, чтобы не геморроится потом с разбивкой.

7. Получил итог: первый столбец - 16 ячеек в столбик, в каждом по 16 значений. Растягиваем (включая в выделение массив пустых ячеек в столбце) на всю высоту и получаем предварительный итог. Работа над структурой закончена.

8. Удаляем пустые строки между столбцами, все либо одну оставляем между столбцами, и вот собственно конец)) Единственное что столбец уже должен быть выделен на копирование)))

Было бы конечно прекрасно выделить некоторые значения (шаги) как дополнительные опции, которые можно было бы просто забивать в макрос или в выведенное окно на лист (приоритетнее конечно). Доп. опции типа удаление определенного количества символов, значений первой строки, последней строки и в каком порядке удалять (с конца или с начала), возможно даже доп опция установки значений для п.1 при первом отделении нужной информации от ненужной, например с какой строки начать и с каким интервалом отделять и формировать в новом столбце, например НАЧИНАЕМ С 2 СТРОКИ - ОТДЕЛЯТЬ С ИНТЕРВАЛОМ В 5 СТРОЧЕК (ЯЧЕЕК СТОЛБЦА) - УКЛАДЫВАТЬ В СТОЛБЕЦ ** С ИНТЕРВАЛОМ В 1 ЯЧЕЙКУ СТОЛБЦА, еще может очищение определенных столбцов скопированных из исходника.

Пункты можно скопировать в excel при работе, чтобы легче было работать с информацией)

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

P.S. В макросах я полный 0, но дико горю желанием изучить эту функцию excel, помогите чайнику познать азы и источники совершенствования... Заранее ОГРООООМНООООЕ спасибо!
Формула для перемещения массива данных с заданным интервалом
 
Ребята, привет всем. Есть задача, над которой битый час бьюсь. И все же решил наконец, в целях экономии времени, написать.

Есть данные в столбце A, каждое в своей ячейке, аналогично со столбцом B (взял 2 столбца для примера. всего их порядка 500). Так вот... Необходимо расположить данные из столбца В в столбец A только с промежутком между имеющими данными А и вставляемыми В в одну пустую ячейку. Все это конечно можно делать вручную, но боюсь тогда придется как минимум купить себе после очки)

Буду признателен за помощь)
Страницы: 1
Наверх