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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.11.2010, 18:03   #1
DEsh
Пользователь
 
Регистрация: 19.11.2009
Сообщений: 36
По умолчанию копирование ячеек из книг в одну(общую)

добрый вечер! сосем все уже позабыл, помогите написать некую процедуру:к примеру есть 2 excel-файла Q и W с одинаковыми таблицами, но разными данными в ячейках, и есть еще 1 excel-файл(пустой) Е, необходимо,при нажатии на кнопку, заполнить этот пустой файл определенными ячейками из тех 2ух(заполненных) файлов.

Пример(нажал на созданную кнопку в пустом файле Е, и процедура скопировала из файла Q ячейку A1 и C7 в те же ячейки файла E. Затем из файла W скопировала ячейку A8 и C9 в те же ячейки файла E)

заранее спасибо....
DEsh вне форума Ответить с цитированием
Старый 11.11.2010, 22:06   #2
DEsh
Пользователь
 
Регистрация: 19.11.2009
Сообщений: 36
По умолчанию

с вышеизложенным разобрался за 20 мин, осталось одно но! в открываемой книге(из которой я хочу скопировать ячейку) много листов, каким образом мне скопировать необходимую ячейку с необходимого листа - к примеру Лист2 ячейка C6..........
DEsh вне форума Ответить с цитированием
Старый 12.11.2010, 06:21   #3
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Если известны путь к файлам-источникам и имена листов, то Вашу задачу можно решить и вовсе не открывая этих файлов. Так, например, если файлы "Q.xls", "W.xls" и "E.xls" находятся в одной папке и имена листов в файлах "Q" и "W", из которых нужно получить данные - "Лист2", то можно так:
Код:
Private Sub CommandButton1_Click()
    Dim i As Integer, a(): Application.ScreenUpdating = False
    a = Array("$A$1", "Q", "$C$7", "Q", "$A$8", "W", "$C$9", "W")
    For i = LBound(a) To UBound(a) Step 2
        Range(a(i)).Formula = "='" & ThisWorkbook.Path & "\[" & a(i + 1) & ".xls]Лист2'!" & a(i)
        Range(a(i)).Value = Range(a(i)).Value
    Next
End Sub
Пример использования во вложении. Откройте файл "E.xls" и нажмите кнопку "Выполнить".
Вложения
Тип файла: rar Пример.rar (8.9 Кб, 27 просмотров)
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 12.11.2010, 12:38   #4
DEsh
Пользователь
 
Регистрация: 19.11.2009
Сообщений: 36
По умолчанию

Я уже сам все вспомнил))) но все равно спасибо)))
DEsh вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
сбор данных с разных книг в одну Ledy1987 Microsoft Office Excel 26 20.04.2011 21:33
Сбор даных с разных книг в одну Pao Microsoft Office Excel 28 12.07.2010 07:27
Все ли пары элементов линейного массива имеют только одну общую цифру в своей записи? с++ agent007 Visual C++ 3 07.07.2010 02:36
Сбор данных с множества книг в одну по шаблонам Adeletto Microsoft Office Excel 3 11.06.2010 17:07
копирование листов из закрытых книг mephist Microsoft Office Excel 4 10.07.2009 17:18