Excel 在图纸之间复制数据时的标题
我有一个将数据从多张图纸复制到主图纸的代码。所有数据都粘贴到第一行。我想知道是否有办法让第一行包含预定义的标题,并将所有数据粘贴到标题下的第二列中Excel 在图纸之间复制数据时的标题,excel,vba,macos,Excel,Vba,Macos,我有一个将数据从多张图纸复制到主图纸的代码。所有数据都粘贴到第一行。我想知道是否有办法让第一行包含预定义的标题,并将所有数据粘贴到标题下的第二列中 Set CopyRng1 = sh.Range("B3") Set CopyRng2 = sh.Range("C3") Set CopyRng3 = sh.Range("D3") Set CopyRng4 = sh.Range("G3") Set CopyRng5 = sh.Ra
Set CopyRng1 = sh.Range("B3")
Set CopyRng2 = sh.Range("C3")
Set CopyRng3 = sh.Range("D3")
Set CopyRng4 = sh.Range("G3")
Set CopyRng5 = sh.Range("C5")
Set CopyRng6 = sh.Range("A8:j25")
Set CopyRng7 = sh.Range("A28:j45")
'Test if there enough rows in the DestSh to copy all the data
If Last + CopyRng1.Rows.Count > DestSh.Rows.Count Then
MsgBox "There are not enough rows in the Destsh"
GoTo ExitTheSub
End If
'This example copies values/formats, if you only want to copy the
'values or want to copy everything look at the example below this macro
DestSh.Cells(Last + 1, "A").Resize(CopyRng1.Rows.Count, CopyRng1.Columns.Count).Value = CopyRng1.Value
DestSh.Cells(Last + 1, "B").Resize(CopyRng2.Rows.Count, CopyRng2.Columns.Count).Value = CopyRng2.Value
DestSh.Cells(Last + 1, "C").Resize(CopyRng3.Rows.Count, CopyRng3.Columns.Count).Value = CopyRng3.Value
DestSh.Cells(Last + 1, "D").Resize(CopyRng4.Rows.Count, CopyRng4.Columns.Count).Value = CopyRng4.Value
DestSh.Cells(Last + 1, "E").Resize(CopyRng5.Rows.Count, CopyRng5.Columns.Count).Value = CopyRng5.Value
DestSh.Cells(Last + 1, "F").Resize(CopyRng6.Rows.Count, CopyRng6.Columns.Count).Value = CopyRng6.Value
Last = LastRow(DestSh)
DestSh.Cells(Last + 1, "F").Resize(CopyRng7.Rows.Count, CopyRng7.Columns.Count).Value = CopyRng7.Value
我想知道,当你粘贴(看起来)只有一列时,为什么要使用
CopyRngN.Columns.Count
作为Resize
的第二个参数:A、B、C、D、E、F?因为CopyRng6和copyrng7包含多个列,我看到了,但是你覆盖了以前的值-你没有看到吗?CopyRng6包含(“A8:j25”)和copyrng7包含(“A28:j45”)。因此,当粘贴copyrng 6时,我们重置最后一行,以便将copyrng 7粘贴到copyrng 6下方,而不是覆盖它。作为VBA的新手,我可能做错了,但是我在stack社区的帮助下使用了这段代码。