|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу. Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста". Название темы слишком короткое или не отражает сути вашего вопроса. Тема исчерпала себя, помните, один вопрос - одна тема Прочитайте правила и заново правильно создайте тему. |
|
Опции темы | Поиск в этой теме |
21.04.2008, 12:29 | #1 |
Форумчанин
Регистрация: 21.04.2008
Сообщений: 110
|
копирование таблиц надо решение на ВБА
есть таблица, в которой количество рядков пременное и новый рядок добавляется/удаляется через кнопочку с прописанной поцедуркой на ВБА.
работате так - есть начало таблицы первая строка которая имеет присвоенное имя и есть последняя тоже с присвоенным именем и между ними соответсвенно добавляются/удаляются строки согласно определенной логике (это несущественная деталь) так вот таких таблиц на листе может быть очень много! более тридцати! .. вопрос -как сделать автоматическое копирование этих таблиц? вопрос второй более сложный: в каждой скопированной таблице должны работать кнопки автоматического добавления/удаления строк в них. как бы каждое решение по отдельности я вижу как сделать, но выполнить оба решения не вижу возможности ... так что, помогите кто чем может в прикрепленном фале не та таблица которая мне надо, но аналогичная ... чтобы было на практиче понятно о чем речь |
22.04.2008, 08:40 | #2 | |
Старожил
Регистрация: 05.12.2007
Сообщений: 4,180
|
Посмотрите вложение. Не совсем понятно, что значит
Цитата:
В предложенном примере копируется "шапка" для заполнения новой таблицы. Может так и нужно было?
Чем шире угол зрения, тем он тупее.
Последний раз редактировалось SAS888; 22.04.2008 в 08:46. |
|
22.04.2008, 11:02 | #3 |
Форумчанин
Регистрация: 21.04.2008
Сообщений: 110
|
спасибо за идею .. буду разбираться ... сделали в принципе правильно - копировать надо заглавную таблицу. .. только ячейки внтури таблицы будут содержать формулы которые должны копироваться вместе с рядом при добавлении упаковки + надо как придумать как так же по кнопке удалять таблицу.
наверно заметили что я тока начинаю в этом разбираться и реально уперся в то, что та схема по которой у меня работает та таблица, которая в заглавном посте наверно не подходит для реализации задуманой схемы. ... а придумать что-то свое пока не могу т.к. и ту идею честно спер с одного файла .. .. |
22.04.2008, 11:55 | #4 |
Старожил
Регистрация: 05.12.2007
Сообщений: 4,180
|
Добавил удаление таблицы (индивидуально для каждой).
На счет формул - по-подробнее. Лучше всего, если приложите пример, в котором будет несколько (хотя бы 2) таблиц в несколько (хотя бы 3) строк с формулами, которые также будет необходимо копировать ("размножать").
Чем шире угол зрения, тем он тупее.
|
22.04.2008, 13:21 | #5 |
Форумчанин
Регистрация: 21.04.2008
Сообщений: 110
|
агромное человеческое спасибо! по формулам - добавление говой строки в каждую таблицу всегда идет во второй строке .. .. т.е. 1-я строка всегда "сохраняется" .. там в ней в ячейках будут формулы, выпадающие списки, форматирование и т.д. ... вот это все надо автоматом перекопировать в созданную ячейку. я над этим вот щас че-то колдовал но в результате почему-то кнопка удалить работать отказалась |
22.04.2008, 13:58 | #6 |
Старожил
Регистрация: 05.12.2007
Сообщений: 4,180
|
Немного поясню. Как Вы, наверное, заметили, кнопки "Добавить" и "Удалить" строки - удалены. Вместо этого, ячейкам "Добавить", "Удалить" и "Удалить таблицу", назначены гиперссылки на ячейку "A1" скрытого (xlVeryHidden) пустого листа и вставлена обработка события перехода по гиперссылке. Первая же команда процедуры обработки события осуществляет переход обратно на лист с таблицами. Такое решение позволяет определить адрес ячейки, которую мы активировали, и запустить макрос обработки.
Так что при дальнейшей работе имейте все эти моменты ввиду. Скрытый лист - первый в книге. Не удаляйте его. Также, макрос проверяет: если это первая таблица (которая как раз и копируется), то удаления не последует. Ну, а для того, чтобы сохранялись (и "размножались" при добавлении строк в таблицах) формулы - делать, наверное, примерно так: (см. вложение). Для примера, я "забил" пару формул в некоторые ячейки исходной таблицы.
Чем шире угол зрения, тем он тупее.
|
22.04.2008, 14:11 | #7 |
Форумчанин
Регистрация: 21.04.2008
Сообщений: 110
|
да, я понял принцип действия .. в общих чертах ... сам бы ни за что не повторил .. ну не сейчас .. еще я так понял максимум это 2000 строк во всех таблицах и там завязано вычисление этого одиапазона на формат ячеек под таблицу ...
короче разбираться буду..... |
22.04.2008, 14:22 | #8 |
Старожил
Регистрация: 05.12.2007
Сообщений: 4,180
|
Желаю удачи!
А 2000 сделано так, для примера и для скорости. Для использования всех строк листа - вместо 2000 везде нужно подставить Rows.Count.
Чем шире угол зрения, тем он тупее.
|
25.04.2008, 11:15 | #9 |
Форумчанин
Регистрация: 21.04.2008
Сообщений: 110
|
поразбирался немного .. пока что только с кнопкой добавить таблицу ... сделал нижнюю границу END ниже котроой таблицы не добавляются (там ниже еще таблица будет) так же ввел имя для базовой таблицы (это прицел та то, что вверху будет еще пару таблиц которые будут иметь неизвестное количество строк, а потому базовая таблица неизвестно где окажется поэтому проверку обласи и все такое нельзя привязывать к ячейкам ) ... короче все работает Ок. в смысле добавление и удаление таблиц. но есть одно НО. .. почему-то в результате этих изменнеий кнопка "удалитьу паковку" в новых таблицах выдает ошибку .. при этом в базовой работает.
я че-то смотрю на это и не совсем улавливаю че ей не нравится... |
25.04.2008, 15:07 | #10 |
Старожил
Регистрация: 05.12.2007
Сообщений: 4,180
|
У Вас все было правильно, за исключением самих формул на рабочем листе, которые впоследствии копируются в добавленные строки. Обратите внимание, что при попадании ссылки на объединенную (не первую из них), возникает ошибка. В дальнейшем, когда Вы введете свои рабочие формулы, все будет OK. Во вложенном файле я просто изменил их таким образом, что описанная выше ситуация исключена.
Чем шире угол зрения, тем он тупее.
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Объеденение 2-х таблиц | Stanislav | БД в Delphi | 3 | 28.07.2008 09:44 |
Сведение таблиц | Funky_man | Microsoft Office Excel | 1 | 09.01.2008 07:20 |
Сведение таблиц | Funky_man | Microsoft Office Excel | 1 | 08.01.2008 03:36 |
Копирование таблиц из одной базы в другую | KuH | БД в Delphi | 7 | 27.09.2007 15:18 |