2016-04-19 3 views
0

Я использовал этот код для копирования ячеек в основные данные. Данные в ячейке содержат формулы. Как я могу вставить эти данные в другой лист, изменяя формат ячейки на число.Excel VBA maxter data

Sub MaxterData() 

Sheets("Sheet1").Range("B2:E2").Copy 


Dim lastrow As Long 
lastrow = Range("A65536").End(xlUp).Row 

Sheets("Summary Info").Activate 
Cells(lastrow + 1, 1).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False 


End Sub 

ответ

1

Попробуйте это:

Sub MaxterData() 

Dim lastrow As Long 

With Sheets("Summary Info") 
    lastrow = .Range("A" & Rows.Count).End(xlUp).Row 
    .Cells(lastrow + 1, 1).Resize(, 4).Value = Sheets("Sheet1").Range("B2:E2") 
    .Cells(lastrow + 1, 1).Resize(, 4).NumberFormat = "General" 
End With 

End Sub 

Старайтесь избегать использования .Select и .Activate. Большую часть времени он не нужен и только замедляет выполнение кода.

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

+0

Он только вставляет значения, а не форматирование, как я вижу. @findwindow –

+0

@findwindow Да, я вижу, где что-то пропустил. дай мне секунду. –

+0

Я уже поддержал. Я просто сказал. – findwindow