2016-09-07 1 views
0

Мне нужно вставить одну книгу Excel в другую книгу Excel, всегда с тем же адресом диапазона 2-й книги. Я видел метод «Selection.InsertFile», но как я могу сделать этот диапазон выбора?Как вставить книгу Excel в другой диапазон книг Excel

Я пробовал:

JDT.Sheets("Document Template").Range("E44").Select 
Selection.InsertFile Filename:=Path & Fname 

но получил: «Объект не поддерживает это свойство или метод»

+0

Вы пытаетесь поместить всю книгу Excel в одну ячейку? –

+0

Нет, я понял, что мне нужно вставить книгу Object - Excel, возможно, используя OLE, с которой я был незнакомым, но я нашел какой-то скрипт и адаптировал его к своей цели. – Brian

ответ

0

Я понял, вставляя объект, так что я, вероятно, должен был использовать OLE, с который я был незнакомым. Я нашел и приспособил ответ в мой макрос вчера, но забыл вернуться и опубликовать его, так что спасибо за «напоминание», чтобы разместить его на благо других:

'Inserts the Backup Template file into the JDT file 

For Each cell In JDT.Sheets("Document Template").Range("E44") 
If IsEmpty(cell) Then 
    Dim ol As OLEObject 
    Set ol = ActiveSheet.OLEObjects.Add(Filename:=Path & Fname, 
    Link:=False,  DisplayAsIcon:=True, Height:=2) 
    With ol 
    .Top = cell.Offset(0, 1).Top 
    .Left = cell.Offset(0, 1).Left 
    End With 
    End If 
Next 

Я понимаю, что с For-Next Loop для целевой 1 ячейки неэффективно, но это дало мне ориентированные на ячейку утверждения, которые были полезны, поэтому, потратив на это слишком много времени, я перешел к следующей проблеме.