Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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


Присылайте нам Донат :), напишите за что прислали )


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

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

icq: 7934250
skype: i2x0,5
По умолчанию

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

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

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

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

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

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

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 вне форума  
Закрытая тема

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Конвертация одной БД в другую Старовъръ БД в 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 20:27
Отправлять данные из одной таблицы в другую Таня84 БД в Delphi 14 28.04.2007 23:23


20:01.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru