2016-12-03 9 views
0

я в настоящее время:Копирование диапазона ячеек между тетрадями из одной папки

Sub Ranger() 
Dim rng As Range 
Dim WB1 As Workbook, WB2 As Workbook, ActiveWB As Workbook 
Dim WS1 As Worksheet, WS2 As Worksheet 
Dim FName As String 

FName = "General Text" 
Set WB1 = ThisWorkbook 
Set WS1 = WB1.Sheets("Sheet1") 
Set WB2 = Workbooks.Open(FileName:=FName) 
Set WS2 = WB2.Sheets(1) 

With WS2 
    Set rng = .Range(Range("A1"), Range("A5")) 
    End With 

With WS1 
    rng.Copy .Cells(1, 1) 
    End With 

WB2.Close 
End Sub 

Который стремится скопировать диапазон A1: A5 во вновь открытой книге в оригинальную книгу (ThisWorkbook). В настоящее время он открывает вторую книгу, но ничего не копирует в первую книгу. Там также нет ошибок, и я хотел бы избежать использования конкретных имен в настройке WB1/WB2, как WB2 может быть .xls или .xlsx

+0

Путь чрезмерно сложный, но должен работать ... Попробуйте просто сделать диапазоны равными вместо. Копия. – vacip

ответ

1

Попробуйте, это работает для меня:

Sub Ranger() 

    Dim rng As Range 
    Dim WB2 As Workbook 
    Dim FName As String 

    FName = "D:\Tuchanka\Temp\pelda.xlsx" 
    Set WB2 = Workbooks.Open(Filename:=FName) 

    ThisWorkbook.Worksheets(1).Range("A1:A5").Value = WB2.Worksheets(1).Range("A1:A5").Value 

    WB2.Close 
End Sub 

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

+0

Мне нужно скопировать значения из WB2 в WB1. Ваш код открывает WB2, но ничего не копирует в WB1 –

+0

Да, я его протестировал. Тогда что-то еще не так. Может быть, ваша книга открывается в защищенном режиме? Можете ли вы вручную скопировать данные? Вы пробовали пройти через код? Является ли целевая рабочая книга доступной для записи? – vacip

+0

Извинения - ваш код работает! Просто у меня открылась еще одна рабочая книга, поэтому она определяла ее как ThisWorkbook, пока я царапал себе голову и смотрел на другую книгу –

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