Before 将此视为我的样本数据。现在我想写一个VBA脚本,将这部分数据复制到一个新的Excel工作表中。
after 这就是我要的。可以看出,我想在标题和数据之间留一行空白,并在此处添加一些内容(Pius),但是当我尝试这样做时,我的数据会被覆盖。 我为实际数据编写的代码如下所示。
Sheets("Industry Comparables (1 of 3)").Select
ActiveSheet.Range("A8").Select
ActiveSheet.Paste
这里的标题是从A8行到O8,然后我想留一个空白行。但我不知道如何添加这个,因为我的所有数据都被复制粘贴在一起。那么我有没有办法首先粘贴标题然后在其间添加一个空行然后我的数据粘贴在下面? 谢谢。
答案 0 :(得分:0)
下面的示例基于您提供的示例数据 - 第1行包含您的标题。因此,您必须更改代码以匹配您要执行的操作。但这将说明如何做到这一点。
请注意,您无需使用Select
工作表或范围来完成此工作。
Option Explicit
Sub test()
Dim srcWS As Worksheet
Dim dstWS As Worksheet
Dim fromRange As Range
Dim toRange As Range
Dim lastCol As Long
Dim lastRow As Long
Set srcWS = ThisWorkbook.Sheets("Industry Comparables (1 of 3)")
Set dstWS = ThisWorkbook.Sheets("DestinationWorksheetName")
'--- copy header row
lastCol = srcWS.Cells(1, srcWS.Columns.Count).End(xlToLeft).Column
Set fromRange = srcWS.Range("A1").Resize(1, lastCol)
Set toRange = dstWS.Range("A1").Resize(1, lastCol)
toRange.Value = fromRange.Value
'--- copy data area
lastRow = srcWS.Cells(srcWS.Rows.Count, "A").End(xlUp).Row
Set fromRange = srcWS.Range("A2").Resize(lastRow, lastCol)
Set toRange = dstWS.Range("A3").Resize(lastRow, lastCol)
toRange.Value = fromRange.Value
End Sub