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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.02.2010, 12:35   #1
as-is
Пользователь
 
Регистрация: 09.02.2010
Сообщений: 41
По умолчанию Макрос вставки файлов в листы-Необходимо изменить ниже приведённый макрос

Необходимо изменить ниже приведённый макрос, взятый с форума. Необходима помощь.
Буду признателен. Автору макроса особое спасибо.
Макрос берет из папки два файла 1.xls и 2.xls, вставляя данные в лист 1 и лист 2 основного файла
(из которого вызывается макрос).
Помогите, пожалуйста, изменить его так, чтобы можно было выбрать не только два файла
1.xls и 2.xls, которые выбираются автоматически и только из указанного пути.
Спасибо.
-----------------------------------------------------------------------------------
Sub Main()
Dim i As Integer
Application.ScreenUpdating = False
Const myPath = "C:\TEMP" 'Подставьте требуемый путь к папке.
For i = 1 To 2
With ThisWorkbook.Sheets(i)
Workbooks.Open Filename:=myPath & Application.PathSeparator & i & ".xls"
Cells.Copy .[A1]
ActiveWorkbook.Close SaveChanges = False
End With
Next
End Sub
--------------------------------------------------------------------------------
as-is вне форума Ответить с цитированием
Старый 24.02.2010, 12:41   #2
Dophin
Форумчанин
 
Аватар для Dophin
 
Регистрация: 13.01.2010
Сообщений: 410
По умолчанию

Вам нужно диалоговое окно выбора файла? или что?
Dophin вне форума Ответить с цитированием
Старый 24.02.2010, 16:30   #3
as-is
Пользователь
 
Регистрация: 09.02.2010
Сообщений: 41
По умолчанию

Да, окно выбора файлов... и дальше согласно макроса
as-is вне форума Ответить с цитированием
Старый 24.02.2010, 16:39   #4
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Почитайте эту тему, и модернизируйте макрос.

Например, так:
Код:
Sub Main()
    Application.ScreenUpdating = False
    For i = 1 To 2
        With Workbooks.Open(GetFileName)
            Cells.Copy ThisWorkbook.Sheets(i).[A1]
            .Close False
        End With
    Next
End Sub

Function GetFileName() As String
    res = Application.GetOpenFilename("Книги Excel (*.xls),", , "Выберите файл для обработки", "Открыть")
    If VarType(res) = vbBoolean Then GetFileName = "" Else GetFileName = res
End Function
EducatedFool вне форума Ответить с цитированием
Старый 25.02.2010, 07:51   #5
as-is
Пользователь
 
Регистрация: 09.02.2010
Сообщений: 41
По умолчанию

Спасибо, начинает получаться.
as-is вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Макрос импорта Ексель файлов из папки в листы одной книги с последующим выполнения макросов.СПБ. as-is Microsoft Office Excel 17 17.12.2018 22:37
Макрос при вставки строк Trimbl Microsoft Office Excel 11 08.02.2010 10:40
Как сделать макрос вставки строк? Григорий_краснодар Microsoft Office Excel 1 26.11.2009 14:31
Макрос Excel поиска и вставки igorok Microsoft Office Excel 2 08.07.2009 18:49
макрос копирования текста из тегов и вставки в другие теги valdem Microsoft Office Word 18 21.02.2009 13:08