Вечер добрый. Хотелось вот какую штуку - нажимаем кнопку открывается диалог "выберите файл". После выбора на нужный нам лист в нужные ячейки копируется диапазон из выбранной закрытой книги от A1:B1 и до последней заполненной строки. Ручками диапазон копировать долго он бывает по 2000 строк и файлов по 20 штук, макрорекордер пробовал не айс - в процессе копирования надо много подтверждать "ок". Помогите, люди добрые, не проходите мимо)
Вечер добрый. Хотелось вот какую штуку - нажимаем кнопку открывается диалог "выберите файл". После выбора на нужный нам лист в нужные ячейки копируется диапазон из выбранной закрытой книги от A1:B1 и до последней заполненной строки. Ручками диапазон копировать долго он бывает по 2000 строк и файлов по 20 штук, макрорекордер пробовал не айс - в процессе копирования надо много подтверждать "ок". Помогите, люди добрые, не проходите мимо)wild_pig
http://www.excelworld.ru/forum/2-571-1#6659 уже читал) У меня диапазон известен и он не начинается с A1) мне надо кусок диапазона 2 столбца, допустим С и D? я про этот код:
[vba]
Код
Option Explicit
Sub Get_Value_From_Book() Dim sFile As String, sh As Worksheet, ac As Long
With Application.FileDialog(msoFileDialogFilePicker) .Filters.Clear .Filters.Add "Microsoft Excel files", "*.xls" .AllowMultiSelect = False .InitialFileName = ThisWorkbook.Path If .Show = 0 Then Exit Sub sFile = .SelectedItems(1) End With
Set sh = ActiveWorkbook.ActiveSheet
With Application 'отключаем обновление экрана - это убыстрит работу макроса .ScreenUpdating = False 'отключаем события книги .EnableEvents = False 'включаем ручной пересчёт формул - это убыстрит работу макроса ac = .Calculation: .Calculation = xlCalculationManual
With GetObject(sFile).Sheets(1) .[A1].CurrentRegion.Copy sh.[H6] .Parent.Close False End With
'возвращаем назад всё отключенное/изменённое .ScreenUpdating = True .EnableEvents = True .Calculation = ac End With
End Sub
[/vba]
http://www.excelworld.ru/forum/2-571-1#6659 уже читал) У меня диапазон известен и он не начинается с A1) мне надо кусок диапазона 2 столбца, допустим С и D? я про этот код:
[vba]
Код
Option Explicit
Sub Get_Value_From_Book() Dim sFile As String, sh As Worksheet, ac As Long
With Application.FileDialog(msoFileDialogFilePicker) .Filters.Clear .Filters.Add "Microsoft Excel files", "*.xls" .AllowMultiSelect = False .InitialFileName = ThisWorkbook.Path If .Show = 0 Then Exit Sub sFile = .SelectedItems(1) End With
Set sh = ActiveWorkbook.ActiveSheet
With Application 'отключаем обновление экрана - это убыстрит работу макроса .ScreenUpdating = False 'отключаем события книги .EnableEvents = False 'включаем ручной пересчёт формул - это убыстрит работу макроса ac = .Calculation: .Calculation = xlCalculationManual
With GetObject(sFile).Sheets(1) .[A1].CurrentRegion.Copy sh.[H6] .Parent.Close False End With
'возвращаем назад всё отключенное/изменённое .ScreenUpdating = True .EnableEvents = True .Calculation = ac End With