Я только начал использовать VBA, и я использовал код для объединения нескольких рабочих листов в одну книгу, он отлично работает, за исключением рабочих листов, содержащих изображения. В этих случаях изображение не будет отображаться в созданной новой рабочей книге. Появится поле, в котором должно быть изображение с сообщением об ошибке. Я использую MS Office 2010.Слияние нескольких рабочих листов с изображениями в одну книгу - Ошибка изображения
Далее следует код я использую:
Sub MergePlans()
Dim CurFile As String, DirLoc As String
Dim DestWB As Workbook
Dim ws As Object
DirLoc = ThisWorkbook.Path & "\Merge\"
CurFile = Dir(DirLoc & "*.xlsx")
Application.ScreenUpdating = False
Application.EnableEvents = False
Set DestWB = Workbooks.Add(xlWorksheet)
Do While CurFile <> vbNullString
Dim OrigWB As Workbook
Set OrigWB = Workbooks.Open(Filename:=DirLoc & CurFile, ReadOnly:=True)
For Each ws In OrigWB.Sheets
ws.Select
ws.Copy After:=DestWB.Sheets(DestWB.Sheets.Count)
Next
OrigWB.Close Savechanges:=False
CurFile = Dir
Loop
Application.DisplayAlerts = False
DestWB.Sheets(1).Delete
Application.DisplayAlerts = True
Application.ScreenUpdating = True
Application.EnableEvents = True
Set DestWB = Nothing
End Sub
Любая идея о том, что происходит? Буду признателен за любую помощь! Tks!
Кажется, что Excel 2010, прямое копирование листов всегда искажает изображения, содержащиеся на листе. Для этого есть обходные пути (копирование рабочего листа, затем удаление объектов на новом листе, а затем копирование и вставка изображений со старого листа напрямую), но я не видел прямых решений. [Этот вопрос] (http://stackoverflow.com/questions/5617122/inserted-image-fails-to-display-when-sheet-is-copied-to-another-workbook-in-exce) и [это] (http://stackoverflow.com/questions/31551700/excel-vba-code-to-move-worksheets-with-image-add-screen-updating-and-it-errors) похожи. – Dan