Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме 85 тыс рублей в месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 21.04.2008, 12:29   #1
kievlyanin
Форумчанин
 
Регистрация: 21.04.2008
Сообщений: 110
По умолчанию копирование таблиц надо решение на ВБА

есть таблица, в которой количество рядков пременное и новый рядок добавляется/удаляется через кнопочку с прописанной поцедуркой на ВБА.

работате так - есть начало таблицы первая строка которая имеет присвоенное имя и есть последняя тоже с присвоенным именем и между ними соответсвенно добавляются/удаляются строки согласно определенной логике (это несущественная деталь)

так вот таких таблиц на листе может быть очень много! более тридцати! ..

вопрос -как сделать автоматическое копирование этих таблиц?

вопрос второй более сложный: в каждой скопированной таблице должны работать кнопки автоматического добавления/удаления строк в них.

как бы каждое решение по отдельности я вижу как сделать, но выполнить оба решения не вижу возможности ... так что, помогите кто чем может

в прикрепленном фале не та таблица которая мне надо, но аналогичная ... чтобы было на практиче понятно о чем речь
Вложения
Тип файла: rar ras4_v9_mod_2.rar (17.5 Кб, 22 просмотров)
kievlyanin вне форума
Старый 22.04.2008, 08:40   #2
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,176
По умолчанию

Посмотрите вложение. Не совсем понятно, что значит
Цитата:
автоматическое копирование этих таблиц?
Таблицу копировать вместе с данными? Тогда какую из существующих на листе? (кнопка копирования одна!).
В предложенном примере копируется "шапка" для заполнения новой таблицы. Может так и нужно было?
Вложения
Тип файла: rar ras4.rar (16.5 Кб, 22 просмотров)
Чем шире угол зрения, тем он тупее.

Последний раз редактировалось SAS888; 22.04.2008 в 08:46.
SAS888 вне форума
Старый 22.04.2008, 11:02   #3
kievlyanin
Форумчанин
 
Регистрация: 21.04.2008
Сообщений: 110
По умолчанию

спасибо за идею .. буду разбираться ... сделали в принципе правильно - копировать надо заглавную таблицу. .. только ячейки внтури таблицы будут содержать формулы которые должны копироваться вместе с рядом при добавлении упаковки + надо как придумать как так же по кнопке удалять таблицу.


наверно заметили что я тока начинаю в этом разбираться и реально уперся в то, что та схема по которой у меня работает та таблица, которая в заглавном посте наверно не подходит для реализации задуманой схемы. ... а придумать что-то свое пока не могу т.к. и ту идею честно спер с одного файла .. ..
kievlyanin вне форума
Старый 22.04.2008, 11:55   #4
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,176
По умолчанию

Добавил удаление таблицы (индивидуально для каждой).
На счет формул - по-подробнее. Лучше всего, если приложите пример, в котором будет несколько (хотя бы 2) таблиц в несколько (хотя бы 3) строк с формулами, которые также будет необходимо копировать ("размножать").
Вложения
Тип файла: rar ras4_2.rar (16.5 Кб, 19 просмотров)
Чем шире угол зрения, тем он тупее.
SAS888 вне форума
Старый 22.04.2008, 13:21   #5
kievlyanin
Форумчанин
 
Регистрация: 21.04.2008
Сообщений: 110
По умолчанию



агромное человеческое спасибо!

по формулам - добавление говой строки в каждую таблицу всегда идет во второй строке .. .. т.е. 1-я строка всегда "сохраняется" .. там в ней в ячейках будут формулы, выпадающие списки, форматирование и т.д. ... вот это все надо автоматом перекопировать в созданную ячейку.

я над этим вот щас че-то колдовал но в результате почему-то кнопка удалить работать отказалась
kievlyanin вне форума
Старый 22.04.2008, 13:58   #6
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,176
По умолчанию

Немного поясню. Как Вы, наверное, заметили, кнопки "Добавить" и "Удалить" строки - удалены. Вместо этого, ячейкам "Добавить", "Удалить" и "Удалить таблицу", назначены гиперссылки на ячейку "A1" скрытого (xlVeryHidden) пустого листа и вставлена обработка события перехода по гиперссылке. Первая же команда процедуры обработки события осуществляет переход обратно на лист с таблицами. Такое решение позволяет определить адрес ячейки, которую мы активировали, и запустить макрос обработки.
Так что при дальнейшей работе имейте все эти моменты ввиду. Скрытый лист - первый в книге. Не удаляйте его.
Также, макрос проверяет: если это первая таблица (которая как раз и копируется), то удаления не последует.
Ну, а для того, чтобы сохранялись (и "размножались" при добавлении строк в таблицах) формулы - делать, наверное, примерно так: (см. вложение).
Для примера, я "забил" пару формул в некоторые ячейки исходной таблицы.
Вложения
Тип файла: rar ras4_3.rar (17.2 Кб, 25 просмотров)
Чем шире угол зрения, тем он тупее.
SAS888 вне форума
Старый 22.04.2008, 14:11   #7
kievlyanin
Форумчанин
 
Регистрация: 21.04.2008
Сообщений: 110
По умолчанию

да, я понял принцип действия .. в общих чертах ... сам бы ни за что не повторил .. ну не сейчас .. еще я так понял максимум это 2000 строк во всех таблицах и там завязано вычисление этого одиапазона на формат ячеек под таблицу ...

короче разбираться буду.....
kievlyanin вне форума
Старый 22.04.2008, 14:22   #8
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,176
По умолчанию

Желаю удачи!
А 2000 сделано так, для примера и для скорости. Для использования всех строк листа - вместо 2000 везде нужно подставить Rows.Count.
Чем шире угол зрения, тем он тупее.
SAS888 вне форума
Старый 25.04.2008, 11:15   #9
kievlyanin
Форумчанин
 
Регистрация: 21.04.2008
Сообщений: 110
По умолчанию

поразбирался немного .. пока что только с кнопкой добавить таблицу ... сделал нижнюю границу END ниже котроой таблицы не добавляются (там ниже еще таблица будет) так же ввел имя для базовой таблицы (это прицел та то, что вверху будет еще пару таблиц которые будут иметь неизвестное количество строк, а потому базовая таблица неизвестно где окажется поэтому проверку обласи и все такое нельзя привязывать к ячейкам ) ... короче все работает Ок. в смысле добавление и удаление таблиц. но есть одно НО. .. почему-то в результате этих изменнеий кнопка "удалитьу паковку" в новых таблицах выдает ошибку .. при этом в базовой работает.
я че-то смотрю на это и не совсем улавливаю че ей не нравится...
Вложения
Тип файла: rar 25_04_08.rar (17.9 Кб, 13 просмотров)
kievlyanin вне форума
Старый 25.04.2008, 15:07   #10
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,176
По умолчанию

У Вас все было правильно, за исключением самих формул на рабочем листе, которые впоследствии копируются в добавленные строки. Обратите внимание, что при попадании ссылки на объединенную (не первую из них), возникает ошибка. В дальнейшем, когда Вы введете свои рабочие формулы, все будет OK. Во вложенном файле я просто изменил их таким образом, что описанная выше ситуация исключена.
Вложения
Тип файла: rar 25_04_08_испр.rar (17.9 Кб, 22 просмотров)
Чем шире угол зрения, тем он тупее.
SAS888 вне форума
Закрытая тема


Купить рекламу на форуме 85 тыс рублей в месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Объеденение 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