2016-12-11 2 views
0

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

Workbooks.Add 
Set Outbook1 = ActiveWorkbook 
OutBook.Activate 
OutBook.Sheets("Sheet6").Select 
Lines = ActiveSheet.Range("A65536").End(xlUp).Row 
Range("A1:N" & Lines).Select 
Selection.Copy 

Outbook1.Activate 
Outbook1.Sheets("Sheet1").Range("A1").PasteSpecial (xlPasteAll) 

ответ

1

Вы можете сохранить форматирование исходного (до тех пор, как это не условное форматирование), используя команду PasteSpecial xlPasteAll.

Рекомендация: Это всегда лучше, если вы останетесь с Activate, Select и Selection, вместо того, чтобы использовать ссылки Workbook с и Sheets.

(для более подробной информации перейдите к How to avoid using Select in Excel VBA macros)

Код

Option Explicit 

Sub CopyBetweenSheets() 

Dim Outbook1  As Workbook 
Dim OutBook   As Workbook 
Dim Lines   As Long 

Set OutBook = ThisWorkbook 
Set Outbook1 = Workbooks.Add 

With OutBook 
    With .Sheets("Sheet6") 
     ' find last row in Column A in "Sheet6" 
     Lines = .Cells(.Rows.Count, "A").End(xlUp).Row 
     .Range("A1:N" & Lines).Copy 
    End With 
End With 

' paste to "A1" in "Sheet1" in the new workbook 
Outbook1.Sheets("Sheet1").Range("A1").PasteSpecial xlPasteAll 

End Sub 
+0

все еще цвет каждой строки не копируется в новую книгу – yuvaraj

+0

@yuvaraj какие цвета? Имеются ли ссылки на условное форматирование? –

+0

спасибо, что это моя ошибка – yuvaraj

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