Страница: 1 |
Страница: 1 |
Вопрос: VBA и Excel: добавление строк
Добавлено: 27.10.09 19:16
Автор вопроса: Radonch
Здравствуйте ВСЕМ! Обращаюсь к профессионалам и людям, хорошо разбирающиеся в VBA, ПОМОГИТЕ пожалуйсто:
http://files.mail.ru/CY778S
Я в вба не разбираюсь, поэтому прошу у Вас помощи...
Ответы
Всего ответов: 14
Номер ответа: 1
Автор ответа:
GDK
Вопросов: 13
Ответов: 348
Профиль | | #1
Добавлено: 28.10.09 15:09
ООП в помощь. Это довольно долго делать если по уму нужно.
Номер ответа: 2
Автор ответа:
hip
Вопросов: 3
Ответов: 22
Профиль | | #2
Добавлено: 31.10.09 19:59
Не нашел файл по твоей ссылке. Выложи еще раз, может придумаю что.
Номер ответа: 3
Автор ответа:
Radonch
Вопросов: 1
Ответов: 6
Профиль | | #3
Добавлено: 31.10.09 20:41
Мне бы теперь хотя бы с суммированием... я имел в виду так:
1) вызываем форму
2) набираем в ТекстБоксе название шабки столбца, например, "ИТОГ"
3) выбираем с помощью РэфЭдит или Текст бокс(это не важно через что, лишь бы можно было диапазон выбрать) диапазон, например, $B$5:$D$5
4) и выбираем с выпадающим списком например "Суммировать"
5) нажимаем кнопку добавить.
6) в таблицу добавляется столбцев перед стобцом "№ Листа", где шабка столбца "ИТОГ" а в ячейках(строках) столбца результат суммирования значений в диапазонах $B$5:$D$5
вот и всё, вроде бы понятно всё расписал!
если поможите, буду очень признателен!
http://files.mail.ru/2JV259
Номер ответа: 4
Автор ответа:
Radonch
Вопросов: 1
Ответов: 6
Профиль | | #4
Добавлено: 31.10.09 20:43
$B$5:$D$5 - это для пятой строки
а для, напрмер, шестой $B$6:$D$6
а для, например второй $B$2:$D$2
и так далее по такой лоигке
Номер ответа: 5
Автор ответа:
hip
Вопросов: 3
Ответов: 22
Профиль | | #5
Добавлено: 31.10.09 21:05
Программа должна работать только в этой книге, правильно я понимаю? Или должна быть универсальной?
Номер ответа: 6
Автор ответа:
hip
Вопросов: 3
Ответов: 22
Профиль | | #6
Добавлено: 31.10.09 21:24
Спрашиваю вот почему. Если не писать программу, альтернатива такова:
1.Вставляем столбец перед столбцем "№ Листа" (при этом Excel автоматически копирует форматы ячеек).
2.Забиваем заголовок столбца сразу в ячейку.
3.Забиваем формулу в первую ячейку списка (при этом точно также как и с RefEdit прийдется мышью указать диапазон).
4.Переносим формулу в остальные ячейки либо автозаполнением, либо командой Специальная вставка>формулы.
Займет это ровно столько же времени сколько задание тех же значений в диалоге, а то и меньше. То есть автоматизировать нечего по сути.
Если только я все правильно понял в задаче.
Номер ответа: 7
Автор ответа:
Radonch
Вопросов: 1
Ответов: 6
Профиль | | #7
Добавлено: 31.10.09 21:52
да только в этой книге и в этом же листе!
вроде бы вы правильно поняли...
да так!
Номер ответа: 8
Автор ответа:
Radonch
Вопросов: 1
Ответов: 6
Профиль | | #8
Добавлено: 31.10.09 21:53
просто всё это нужно через форму(приложение)
Номер ответа: 9
Автор ответа:
Radonch
Вопросов: 1
Ответов: 6
Профиль | | #9
Добавлено: 31.10.09 21:54
1. находим таблицы на листе (они могут располагаться где угодно)
2. перед столбцом "№ Листа" вставляем дополнительный столбец
3. название столбца берем с формы
4. допустим было отмечено $B$5:$D$5, теперь по каждой строке обеих таблиц суммируем значения в ячейках столбцов В,С,Д записываем в новый столбец в своей строке.
Номер ответа: 10
Автор ответа:
hip
Вопросов: 3
Ответов: 22
Профиль | | #10
Добавлено: 31.10.09 22:41
То есть одинаковые таблицы с одинаковыми шапками разбросаны по всему листу и нужно добавить столбец в каждую из них? В таком случае данные проще собрать в одну таблицу, просто добавить столбцы, в которых проставить нужные метки. После этого включить фильтр и получать те же самые куски таблиц с его помощью. С такой таблицей будет работать гораздо проще.
Номер ответа: 11
Автор ответа:
hip
Вопросов: 3
Ответов: 22
Профиль | | #11
Добавлено: 31.10.09 23:27
Конечно компьютером можно и гвозди забивать, но предназначен он совсем не для этого. Также и с VBA. В твоем примере он не нужен. Я гарантирую это.
Номер ответа: 12
Автор ответа:
Radonch
Вопросов: 1
Ответов: 6
Профиль | | #12
Добавлено: 31.10.09 23:32
У меня есть две таблицы, строго одна под другой, но местоположение этих таблиц неизвестно, могут быть и сбоку или далеко внизу листа, вобщем хоть где на листе, но строго друг под другом и количество столбцов и строк тоже неизвестно, то есть могут уменьшаться или увеличиваться в количестве.
мне нужно нажимать на кнопку и вызывать форму, в котором в ТекстБоксе я вводил бы название шабки(чтобы добавлялось в обеих таблицах название шапки), Выпадающим списком мы выбираем формулу либо =СУММ(), либо =МИНУС(), потом с помощью РефЭдит диапазон суммирования или вычитания, где диапазон мы выбираем по любой строке любого из таблиц и нажимаем "Добавить"
в итоге добавляется столбец перед столбцом "№ листа", где по всему столбцу проделывается суммирование или вычитание по указанному диапазону, но по своей строке, причём в той строке где нет цифр или вообще пусто, он не должен выводить цифру 0, а просто должно быть пусто.
Номер ответа: 13
Автор ответа:
hip
Вопросов: 3
Ответов: 22
Профиль | | #13
Добавлено: 31.10.09 23:58
По прежнему не вижу никакой необходимости здесь что-то писать. Не думаю, что смогу вам помочь, извините. Умываю руки.
Номер ответа: 14
Автор ответа:
GDK
Вопросов: 13
Ответов: 348
Профиль | | #14
Добавлено: 03.11.09 13:05
По каким критериям определять границы таблиц?
Какое должно быть поведение у макроса если пользователь введёт например Лист1!$D$10;Лист1!$E$10;Лист1!$G$10 или подобную фигню: lllllhjkhjkhj ? Можно например выдать сообщение пользователю чтобы ввёл нормальный диапазон.
Слово шапка пишется шаПка, а не шаБка. Нужна ли проверка на её совпадение с к-либо шапкой уже существующих столбцов?
Ps: это намного проще чем в начале темы.