Я хочу получить один столбец значений из другой рабочей книги и заполнить вкладку в моей текущей рабочей книге. В конечном итоге это войдет в гораздо более длинный модуль, который я написал, который прекрасно работает. Я просто хотел, чтобы этот шаг был автоматизирован. Ниже приведен код.

Я получаю индекс из-за ошибки диапазона в строке вставки. Кажется, что мое утверждение, устанавливающее currentWb в ThisWorkbook , не работает, потому что вторая копируемая рабочая книга все еще открыта, диапазон выбран и скопирован и просто ожидает назначения для вставки. Я искал и пытался все, что я могу придумать.

Sub OpenWorkbookToPullData()

Dim sUserInput As String
    sUserInput = InputBox("Enter Account Folder Name:", "Folder Name")

Dim path As String
    path = "C:\users\" & Environ$("username") & "\OneDrive\Documents\Brightree\" & sUserInput & "\Financial Scorecard\Exceptions.xlsm"

Dim currentWb As Workbook
    Set currentWb = ThisWorkbook

Dim exceptionWb As Workbook
    Set exceptionWb = Workbooks.Open(path)

Dim exceptionWs As Worksheet
    Set exceptionWs = exceptionWb.Sheets("Exceptions")

Dim rng_data As Range
    Set rng_data = exceptionWs.Range("A1:A20")

 rng_data.Copy
 currentWb.Sheets("Exception").Range("A1").PasteSpecial xlPasteValues

exceptionWb.Close (False)

End Sub

1 ответ1

1

Вы должны убедиться, что Листы ("Исключения") существуют в обеих книгах.
И как указывает Твисти ; проверьте правильность написания имен листов.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .