Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 在图纸之间复制数据时的标题_Excel_Vba_Macos - Fatal编程技术网

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社区的帮助下使用了这段代码。