2015-03-20 6 views
-1

Я пытаюсь получить лист из книги, которая является подпапкой и импортирует ее в текущую Рабочую книгу, где я пишу свой макрос. путь и файл будет выглядеть нижеИмпорт листа из подпапки

strPath = Application.ActiveWorkbook.Path & "\Subfolder" 
strFile = "myExcel.xlsx" 

с книгой под названием myWorkbook. Как импортировать его и мне нужен пустой лист в моей текущей книге?

+2

Что вы пробовали? С какими проблемами вы сталкиваетесь? Как насчет этого вопроса - это нечто иное, чем просьба о том, чтобы какой-нибудь доброволец написал вам свой код? Примечание: «Напишите мой код для меня» не является проблемой специфического программирования, см. [Эту страницу справки] (http: \\ stackoverflow.com \ help \ how-to-ask) для некоторых полезных руководств по написанию вопроса для SO , – Aiken

+1

Мой комментарий был бы таким же, если бы вы были пользователем 100k + rep, который много лет использовал SO. Посты оцениваются по их содержанию, а не по их автору. Вы можете отредактировать свой вопрос, используя ссылку под вопросом, если у вас есть какой-то код и какая-то конкретная проблема, с которой мы можем помочь вам решить. – Aiken

ответ

0

Вам нужно будет открыть исходную книгу, затем скопировать лист и закрыть книгу. Вам не нужно иметь пустой лист в вашей текущей книге (но у вас должно быть не менее 1 листа). Что-то вроде ниже будет работать:

Dim strPath As String, strFile As String  

strPath = Thisworkbook.Path & "\Subfolder\" ' take note of the extra "\" 
strFile = "myExcel.xlsx" 

Application.ScreenUpdating = False 
Dim wb As Workbook 
Set wb = Workbooks.Open(strPath & strFile) 

wb.Sheets("SheetName").Copy Thisworkbook.Sheets(1) ' copies before the first sheet 
wb.Close False ' close without saving 
Application.ScreenUpdating = True 
+0

Спасибо! Но строка 'wb.Sheets (« SheetName »). Копировать эту рабочую книгу. Таблицы (1)' открывает другой макрос. Можете ли вы объяснить эту строку, особенно для того, что такое 1? Как можно скопировать его как последний лист? – Robin

+0

@RobinDrake Что значит открытие другого макроса? Btw, чтобы скопировать его после последней ячейки, см. Этот [post] (https://stackoverflow.com/questions/20697706/how-to-add-a-named-sheet-at-the-end-of-all-excel -sheets/20697790 # 20697790). Копирование и добавление листа имеют то же значение после и до аргумента. Так что код тот же. – L42

Смежные вопросы