Есть форма с данными по компании. Несколько таких форм идут на первом листе вниз одна за другой, и в самом конце есть кнопка на добавление новой формы. Форма копируется с другого листа и присоединяется в конец первого листа.
Необходима возможность удаления произвольно выбранной формы из всего набора форм на первом листе.
Пытаюсь реализовать, присвоив каждой форме уникальный номер. Тут два варианта: 1) Сначала номер формы указал формулой "=R(-1)C +1". Все формы замечательно добавляются и нумеруются. Но выяснилось, что полученная формулами нумерация не обнаруживается поиском. Т.е. отображаемый результат формулы "2" не обнаруживается поиском по значению "2". Во вложении пример. 2) Как вариант, номер формы посчитать самим макросом и вставить сразу значение. Оно естественно находится поиском, компания удаляется. Но возникает другая проблема. При удалении промежуточной формы сбивается вся нумерация, файл рушится.
Я вижу только одно решение - сделать цикл, который при удалении строки пробежит по всем номерам и сдвинет их на 1. Но оно мне не очень нравится, потому что компаний может быть несколько десятков, а макрос даже в существующем виде отрабатывает не очень быстро (в примере он обрезан только до нужной части).
Вопрос: есть ли альтернативные решения кроме цикла?
Здравствуйте!
Есть форма с данными по компании. Несколько таких форм идут на первом листе вниз одна за другой, и в самом конце есть кнопка на добавление новой формы. Форма копируется с другого листа и присоединяется в конец первого листа.
Необходима возможность удаления произвольно выбранной формы из всего набора форм на первом листе.
Пытаюсь реализовать, присвоив каждой форме уникальный номер. Тут два варианта: 1) Сначала номер формы указал формулой "=R(-1)C +1". Все формы замечательно добавляются и нумеруются. Но выяснилось, что полученная формулами нумерация не обнаруживается поиском. Т.е. отображаемый результат формулы "2" не обнаруживается поиском по значению "2". Во вложении пример. 2) Как вариант, номер формы посчитать самим макросом и вставить сразу значение. Оно естественно находится поиском, компания удаляется. Но возникает другая проблема. При удалении промежуточной формы сбивается вся нумерация, файл рушится.
Я вижу только одно решение - сделать цикл, который при удалении строки пробежит по всем номерам и сдвинет их на 1. Но оно мне не очень нравится, потому что компаний может быть несколько десятков, а макрос даже в существующем виде отрабатывает не очень быстро (в примере он обрезан только до нужной части).
Вопрос: есть ли альтернативные решения кроме цикла?Almost
Range("A" & i).Formula - выхватывает из ячейки формулу типа =ДСКР!$A$50 а Mid(....., 10) - обрезает, начиная с 10 символа. Т.е. остается цифра 50. Так получил номер строки для дальнейшего обращения Row для удаления
Range("A" & i).Formula - выхватывает из ячейки формулу типа =ДСКР!$A$50 а Mid(....., 10) - обрезает, начиная с 10 символа. Т.е. остается цифра 50. Так получил номер строки для дальнейшего обращения Row для удаленияdevilkurs