2012-01-06 12 views
1

Я работаю над созданием нескольких файлов отчетов для Excel, он в основном копирует информацию в другую книгу и сохраняет ее.Копирование диаграммы из одной книги в другую

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

Это то, что я пробовал:

ActiveSheet.Shapes(1).CopyPicture Appearance:=xlScreen, Format:=xlPicture 
Workbooks("Relatorios.xlsm").Sheets("" & tb_nome.Text & "").Paste 

Это, кажется, работает хорошо, единственная проблема в том, что я хочу, диаграмма помещается на ячейку Е20, я попытался выбрать эту ячейку, но я получаю сообщение об ошибке, это то, что я пробовал:

Workbooks("Relatorios.xlsm").Sheets("" & tb_nome.Text & "").Range("E20").Select 

W без этой строки диаграмма вставлена ​​просто отлично, а не там, где я ее хочу.

Таким образом, окончательный код выглядел так:

ActiveSheet.Shapes(1).CopyPicture Appearance:=xlScreen, Format:=xlPicture 
Workbooks("Relatorios.xlsm").Sheets("" & tb_nome.Text & "").Range("E20").Select 
Workbooks("Relatorios.xlsm").Sheets("" & tb_nome.Text & "").Paste 

ответ

4
ActiveSheet.Shapes(1).CopyPicture Appearance:=xlScreen, Format:=xlPicture 
    With Workbooks("Relatorios.xlsm").Sheets(tb_nome.Text) 
     .Paste 
     .Shapes(.Shapes.Count).Top = .Range("E20").Top 
     .Shapes(.Shapes.Count).Left = .Range("E20").Left 
    End With 
+0

ура парень! прекрасно работает. –

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