Создание планограммы в excel
Пытаюсь сделать конструктор планограмм в рамках моего проекта на работе (стажер в JTI).
Каждую пачку сигарет копирую макросом с одного листа на другую с помощью гиперссылок. Также добавил три кнопки:
1 - очистка объектов в диапазоне (a2:o20),
2 - создание новой планограммы,
3 - копирование планограммы в отдельный excel-файл.
При создании новой планограммы справа, в большинстве случаев, в конце первого же ряда вылетает цифра "1" не пойми откуда. И это не удаляется первой кнопкой. Также, если создаваемая планограмма меньше диапазона (например 10х10), то остальная часть сетки остается и не удаляется (просто появляются границы в диапазоне a2:o20 и всё).
Здесь все коды трех кнопок:
Подскажите пожалуйста, как удалить вот ту ненужную часть сетки и избавиться от "1" при создании?
Заранее огромнейшее спасибо за любую помощь.
7,476 3 3 золотых знака 16 16 серебряных знаков 23 23 бронзовых знака В каком случае и где нужно ставить единицы? Пока что в последней процедуре видно, что единицы записываются ниже и правее границ планограммы. Зачем удалять сетку? Можно ее не рисовать или удалять столбцы. Если опишете детально задачу (не я делаю так, а нужно такое), можно оптимизировать код, там есть неточности.Зачем в коде каждый раз перезаписывать параметры кнопок?
Сразу задать в параметрах (Properties)
Dim n, m As Long - тип нужно задавать для каждой переменной. Сейчас n имеет тип Variant
Объявление переменных. Dim у Вас в цикле, строка срабатывает с каждым шагом цикла. Т.к. все переменные, объявленные в процедуре, занимают память при начале работы процедуры, можно все Dim разместить в начале процедуры.
With - оператор присвоения объекта переменной (плюс упрощения кода). Имеет смысл, если обращений к объекту много. Если один раз, так записывать излишне:
Если уж диапазон загоняете в память, то и использовать его нужно по максимуму
строку разместить перед поиском и удалением объектов.
В диапазонах задавать можно столбцы/строки:
Непонятно в строке:
Цикл по n начинается с единицы. На первом шаге n-1 = 0. Но ячейки с нулевым столбцом не бывает!
Еще одино замечание.
Читаем: диапазон от ячейки Cells(m, n) до ячейки Cells(m, n). Это же одна ячейка и можно записать эту строку так:
Читайте также: