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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.05.2011, 16:12   #1
Toffifee
Пользователь
 
Аватар для Toffifee
 
Регистрация: 11.05.2011
Сообщений: 59
Печаль Автоматическое копирование листов с разных файлов в один

Здравствуйте!
Помогите пожалуйста решить вот такую проблему:
У меня есть 2 файла Excel. Они с макросами. Там огромные таблицы, данные заполняются, что то подсчитывается. Но меняются в них только цифры. Ну и каждый месяц названия файлов меняются. Напимер за тот месяц они назывались: "Анализ прибыли за АПРЕЛЬ 2011 г" и "С апреля с ИТОГО 2011 !!!". А в этом месяце их назовут уже с изменением месяца в названии на май. Требуется создать третий файл Excel, который при открытии будет вставлять в себя определенные листы из тех 2-х файлов. Листы всегда одни и те же и называются они одинаково, из название не переименовывается.
То есть Надо создать файл Excel "Ежедневный отчет", в который будут вставляться листы из файла "Анализ прибыли за АПРЕЛЬ 2011 г":
1. "КАССА_ИТОГ" (Лист4)
2. "1С и Прочее" (Лист47)
3. "Анализ прибыли"(Лист46)
И из файла "С апреля с ИТОГО 2011 !!!":
1. "Бюджет" (Лист2)

Причем ещё должна быть кнопка, при нажатии на которую загружались бы данные из тех 2-х файлов, с которых копируются листы. То есть если там какие то цифры поменяли или вставили строчки новые, здесь, в файле Excel "Ежедневный отчет", всё принимало такой же обновленный вид. Надеюсь понятно объяснила... Это очень сложно, да??? Помогите пожалуйста, не сильна я в VBA.....

Нашла вот на форуме такой вопрос задавался:
"Как прописать кнопку VBA чтобы Лист1 из Книги 1 загрузился на место Лист 1 Книги 2. И при каждом нажатии этой кнопки содержимое Листа удалялось и заменялось на новое."
И вот ответ:
Sub Кнопка1_Щелчок()
''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''
If Len(Dir$("C:\Книга2.xls")) = 0 Then ' проверка доступности рабочей книги
MsgBox "C:\Книга2.xls" & " недоступна "
Exit Sub
End If
''''''''''''''''''''''''''''''''''' ''''''''''''''''''''''''''''''''''' '
Лист1.Range("C3").Value = Time
Лист1.Range("A1:C5").Select ' диапазон или весь лист
Selection.Copy
''''''''''''''''''''''''''''''''''' ''''''''''''''''''''''''''''''''''' ''
Workbooks.Open("C:\Книга2.xls").Act ivate
ActiveSheet.Range("A1").Select
ActiveSheet.Paste
ActiveWorkbook.Save ' сохранить
ActiveWorkbook.Close ' закрыть
End Sub

или
Private Sub CommandButton4_Click()
If Len(Dir$("C:\1.xls")) = 0 Then ' проверка доступности рабочей книги
MsgBox "C:\1.xls" & " файл недоступен "
Exit Sub
End If

With Application
.DisplayAlerts = False
.ScreenUpdating = False

ThisWorkbook.Sheets(1).Delete
With Workbooks.Open("C:\1.xls")
.Sheets(1).Copy before:=ThisWorkbook.Sheets(1)
.Close 0
End With

.DisplayAlerts = True
.ScreenUpdating = True
End With
End Sub

Можно ли как нибудь переделать его под мой вариант???

Последний раз редактировалось Toffifee; 12.05.2011 в 15:16. Причина: появился пример кода
Toffifee вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сведение данных с разных листов, в один. ogololobov2009 Microsoft Office Excel 2 24.01.2011 18:31
Excel 2003 копирование из разных файлов в один mixaxa Microsoft Office Excel 11 28.05.2010 14:50
Задача на копирование ячеек из разных листов на один. hozpraktik Microsoft Office Excel 8 28.05.2010 10:00
Автоматическое заполнение ячеек разных листов одной книги tissot Microsoft Office Excel 2 26.01.2010 21:24
несколько разных строк из разных файлов сформировать в один Иван123456 Microsoft Office Excel 3 30.07.2009 17:05