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

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

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

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 23.09.2008, 17:18   #1
MickMick
Пользователь
 
Регистрация: 23.09.2008
Сообщений: 22
По умолчанию Передача данных из одной таблицы в другую, при выборе одной ячейки

Добрый вечер. Падскажите, пожалуйста, как можно решить следующую задачу:
1. Есть два листа. На первом создается таблица (1), на втором находится таблица (2) с данными, которая может дополняться (смотреть вложение). Нужно, чтобы при выборе ячейки "Предмет" в (1) открывалась таблица (2) (как при создании гиперссылки), и при выборе в ней Предмета - в первую таблицу переносились бы все данные, которые связаны с этим предметом.
2. Ширина ячейки "Предмет" в создаваемой таблице должна быть фиксированной, а если данные не помещатся - высота ячейки (и всей строки) автоматически увеличивается.
3. Нужно, чтобы при вводе данных в стоку таблицы (1) автоматически добавлялась следующая чистая строка, и при заполнении ячейки "Предмет" у этой строки появлялся номе по порядку.
4. Под таблицей в правой ячейке должны суммироваться учебные часы, выбранных предметов.
Извините за громоздкое объяснение, но очень нужна ваша помощь. Зараннее спасибо.
Вложения
Тип файла: rar задача.rar (3.8 Кб, 75 просмотров)
MickMick вне форума
Старый 23.09.2008, 19:05   #2
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

см.вложение.

во вспомогательной таблице предметов не должно быть пустых строк.
формулы на первом листе внесены до 30 строки включительно, если список длиннее размножаем последнюю строку вниз по листу.
Вложения
Тип файла: rar задача.rar (9.3 Кб, 127 просмотров)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума
Старый 23.09.2008, 19:50   #3
tolikman
Форумчанин
 
Регистрация: 25.08.2008
Сообщений: 159
По умолчанию

или вот, вариант на макросах. но вариант IgorGO более пластичен.
Вложения
Тип файла: rar задача.rar (14.4 Кб, 98 просмотров)
tolikman вне форума
Старый 24.09.2008, 13:31   #4
MickMick
Пользователь
 
Регистрация: 23.09.2008
Сообщений: 22
По умолчанию

Всем огромное спасибо. На первы
MickMick вне форума
Старый 24.09.2008, 13:32   #5
MickMick
Пользователь
 
Регистрация: 23.09.2008
Сообщений: 22
По умолчанию

Всем огромное спасибо. На первый взгляд - то, что нужно. Изучу детальнее - отпишусь.
MickMick вне форума
Старый 01.10.2008, 17:05   #6
MickMick
Пользователь
 
Регистрация: 23.09.2008
Сообщений: 22
По умолчанию

Спасибо ещё раз. Вариант, который подсказал Tolikman мне больше подходит. Tolikman, если можно разъяснить мне (как плохо разбирающемуся в макросах):
1. Если данные будут передаваться со второго листа не из столбца "F" а из столбца "H", где в макросе заменится "F" на "H".
2. Как работает итоговое суммирование (если можно отдельный код)
3. Как можно сделать такую же передачу данных, но один раз (без цикла), т.е. с одного листа заходишь во второй, выбираешь ячейку - и данные передаются в первый лист.
Зараннее спасибо. Уж уделите мне еще немного вашего времени, чтобы я полностью понял Ваш макрос.
MickMick вне форума
Старый 06.10.2008, 13:57   #7
tolikman
Форумчанин
 
Регистрация: 25.08.2008
Сообщений: 159
По умолчанию

1. в листе 2, где написано Range(что-то) (Не .Range, обрати внимание на точку) меняй там все F на H.
2.
Код:
gen.allHours = gen.allHours + Range("F" + CStr(rw))
и
Код:
gen.allHours = gen.allHours - .Range("F" + CStr(gen.nextRow)) + Range("F" + CStr(rw))
код находится на листе 2
3. позже.
tolikman вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Конвертация одной БД в другую Старовъръ БД в Delphi 2 19.08.2008 12:26
Перенос данных из одной книги со многих листов в другую gavrylyuk Microsoft Office Excel 34 20.07.2008 21:39
пересылка данных из одной сети в другую AIst Работа с сетью в Delphi 5 08.07.2008 23:50
Копирование данных из одной таблицы в другую! фЁдОр БД в Delphi 18 06.01.2008 19:27
Отправлять данные из одной таблицы в другую Таня84 БД в Delphi 14 28.04.2007 23:23