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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.02.2010, 17:59   #1
cub
Пользователь
 
Регистрация: 03.08.2009
Сообщений: 22
По умолчанию оптимизация таблицы

Есть три вопроса, начну по порядку.
Первый. Как получать данные из другой таблицы, я имею ввиду из другого файла? Например есть файл просчёт.xls с таблицей, и я хочу что она брала данные с файла цена.xls с определенного листа.
Второй. Возможно ли быстрое добавление строк к таблице, не путем копирования и вставки. А например какой нибудь дополнительной кнопки или пиктограммы виде +. Ну например у меня есть таблица с определенными данными, формулами и при нажатии на вышеупомянутый элемент добавлялась ещё одна строка с учетом всех данных и формул.
И третий. Возможно ли быстрое сворачивание и разворачивание таблицы.
Ну например у меня на листе несколько таблиц для просчёта, и в одном случае нужны все, а в другом нет. Можно ли где то возле таблицы установить маркер ил ещё что то, то б при его активации таблица сворачивалась или наоборот. Заранее благодарен, надеюсь все понятно объяснил.
cub вне форума Ответить с цитированием
Старый 10.02.2010, 18:04   #2
motorway
Участник клуба
 
Регистрация: 28.06.2009
Сообщений: 1,950
По умолчанию

1. На форуме были примеры, как брать из другой книги данные.
2. Да, можно написать макрос.
3. Есть функция Группировать, и тогда будет появляться возможность сворачивания строк/столбцов.
motorway вне форума Ответить с цитированием
Старый 10.02.2010, 18:11   #3
cub
Пользователь
 
Регистрация: 03.08.2009
Сообщений: 22
По умолчанию

С группировкой вроде разобрался, спасибо помогло. А вот по поводу макроса, может хоть наводку дадите что и как?
cub вне форума Ответить с цитированием
Старый 10.02.2010, 18:27   #4
motorway
Участник клуба
 
Регистрация: 28.06.2009
Сообщений: 1,950
По умолчанию

Если надо вставлять данные в конец, то определяете последнюю строку с данными на листе (обычно с этим бывают глюки) и после нее вставляете.
motorway вне форума Ответить с цитированием
Старый 11.02.2010, 00:34   #5
cub
Пользователь
 
Регистрация: 03.08.2009
Сообщений: 22
По умолчанию

Цитата:
Сообщение от motorway Посмотреть сообщение
Если надо вставлять данные в конец, то определяете последнюю строку с данными на листе (обычно с этим бывают глюки) и после нее вставляете.
Что я не совсем понял, это ответ на второй вопрос. Что значить определить последнюю строку с данными на листе?

На первый вопрос пока так и не нашёл ответа, везде какие то за мудреные условия экспорта данных. Мне нужно просто что б в книгу один вставлялись данные из книги два. Ну например на диске С в папке temp усть два файла first.xls и second.xls. Что нужно прописать в таблице first.xls в ячейке, что б в ней появилось значение из файла second.xls из конкретной ячейки, например А1. Ну или хоть подскажите где почитать.
cub вне форума Ответить с цитированием
Старый 11.02.2010, 00:40   #6
motorway
Участник клуба
 
Регистрация: 28.06.2009
Сообщений: 1,950
По умолчанию

Опр. последнюю строку - значит, написать выражение, после вычисления которого в переменной оказывается последняя заполненная строка на листе. Например, 10-я. Значит, мы прибавим к этому 1 и вставим новые данные на 11-й строке.
motorway вне форума Ответить с цитированием
Старый 11.02.2010, 00:45   #7
motorway
Участник клуба
 
Регистрация: 28.06.2009
Сообщений: 1,950
По умолчанию

Насчет экспорта - http://office.microsoft.com/ru-ru/ex...984241049.aspx
motorway вне форума Ответить с цитированием
Старый 11.02.2010, 01:02   #8
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Цитата:
Сообщение от cub Посмотреть сообщение
Ну например на диске С в папке temp усть два файла first.xls и second.xls. Что нужно прописать в таблице first.xls в ячейке, что б в ней появилось значение из файла second.xls из конкретной ячейки, например А1. Ну или хоть подскажите где почитать.
Код:
' Для файла second.xls
  Range("A1").Formula = "='C:\temp\[first.xls]Лист1'!$E$2"
сие писание значит,что в ячейке A1 файла second.xls будут данные из ячейки E2 файла first.xls Лист1
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 12.02.2010, 23:57   #9
cub
Пользователь
 
Регистрация: 03.08.2009
Сообщений: 22
По умолчанию

Цитата:
Сообщение от motorway Посмотреть сообщение
Спасибо помогло, как раз то что я хотел.

Цитата:
Код:

' Для файла second.xls
Range("A1").Formula = "='C:\temp\[first.xls]Лист1'!$E$2"
Что то я не понял куда этот код вставлять.

Остался только второй вопрос, может кто то и с ним поможет?
cub вне форума Ответить с цитированием
Старый 13.02.2010, 00:18   #10
motorway
Участник клуба
 
Регистрация: 28.06.2009
Сообщений: 1,950
По умолчанию

Вот пример кода, который будет вставлять новые данные на новую строку по событию "смена выделения ячейки":

Код:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Lastrow = ActiveSheet.UsedRange.Row + ActiveSheet.UsedRange.Rows.Count - 1
Cells(Lastrow + 1, 1).Value = "New value"

End Sub
Вы должны будете вставить этот код в редакторе VBA (Alt+F11)
motorway вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
авт. перенос данных из нескольких столбцов одной таблицы в один столбец другой таблицы A_ALL Microsoft Office Access 7 24.08.2009 21:13
Данные из двух полей исх. таблицы в одно поле сводной таблицы Strelec79 Microsoft Office Excel 2 02.08.2009 13:59
Оптимизация таблицы Иванов_ДМ Microsoft Office Excel 6 22.03.2009 15:55
убрать вложенные таблицы из таблицы в режиме просмотра 2007 Baxxter Microsoft Office Access 2 17.11.2008 21:28
Оптимизация Terran Общие вопросы Delphi 3 03.05.2008 19:03