为什么我的粘贴特殊工作不正常?

时间:2018-03-09 00:44:06

标签: excel-vba vba excel

当我运行下面的代码时,我的范围,Master,粘贴两次,一次是内容,一次是空单元格。

Sub AddProj() 'Adds new template to Data Worksheet

    Sheet1.Range("Master").Copy
    Sheet1.Range("C" & Rows.Count).End(xlUp).Offset(1).PasteSpecial xlFormats
    FindProj

    End Sub

当我的代码如下所示时,它可以正常工作,但不会粘贴格式:

Sub AddProj() 'Adds new template to Data Worksheet

Sheet1.Range("Master").Copy Sheet1.Range("C" & Rows.Count).End(xlUp).Offset(1)

FindProj

End Sub

FindProj只是复制和粘贴单元格的一些功能:

Sub FindProj() 'Finds project name in Historical Worksheet and pastes it in Data Worksheet
Dim Lastrow As Long
Dim Newproj As Long
Dim Master As Range
Dim Masterrow As Long

Masterrow = Worksheets("Data").Range("Master").Rows.Count
Lastrow = Sheets("Historical").Cells(Rows.Count, "B").End(xlUp).Row
Newproj = Sheets("Data").Cells(Rows.Count, "C").End(xlUp).Row
Sheets("Historical").Cells(Lastrow, "B").Copy Sheets("Data").Cells(Newproj - Masterrow + 1, "C")

End Sub

此外,第一个代码只能运行一次,然后再也不会运行。 显然PasteSpecial搞砸了,但我看不出原因。有没有办法将PasteSpecial合并到第二个代码中?

1 个答案:

答案 0 :(得分:1)

这会有帮助吗?

Sheet1.Range("Master").Copy
With Sheet1.Range("C" & Rows.Count).End(xlUp).Offset(1)
     .PasteSpecial xlPasteFormats
     .PasteSpecial xlPasteValues
End With