Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/27.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 VBA 2010在同一工作簿上的两张图纸之间复制范围单元格避免循环_Excel_Copy_Range_Cells_Vba - Fatal编程技术网

Excel VBA 2010在同一工作簿上的两张图纸之间复制范围单元格避免循环

Excel VBA 2010在同一工作簿上的两张图纸之间复制范围单元格避免循环,excel,copy,range,cells,vba,Excel,Copy,Range,Cells,Vba,这些行用于将一系列行单元格从同一工作簿上的工作表(源)复制到另一个(目标)上 以下代码引发错误1004-应用程序定义或对象定义: currBook.Sheets(strNomOnglet).Range(Cells(firstrow, 2), Cells(firstrow, 8)).Copy _Destination:=currBook.Sheets(strOngletCibl).Range("B1:H1") firstrow variable is a seeking sequence res

这些行用于将一系列行单元格从同一工作簿上的工作表(源)复制到另一个(目标)上

以下代码引发错误1004-应用程序定义或对象定义:

currBook.Sheets(strNomOnglet).Range(Cells(firstrow, 2), Cells(firstrow, 8)).Copy _Destination:=currBook.Sheets(strOngletCibl).Range("B1:H1")

firstrow variable is a seeking sequence result.
这个可以,但太静态(不是相对引用):

我希望避免使用循环

有关于这个问题的提示或解释吗?

请使用此提示或解释:

With currBook.Sheets(strNomOnglet)
    .Range(.Cells(firstrow, 2), .Cells(firstrow, 8)).Copy _
        Destination:=currBook.Sheets(strOngletCibl).Range("B1:H1")
End With
请注意,我已将
单元格(第一行,2)
更改为
.Cells(第一行,2)
(以完全限定单元格,即指定它们所属的工作表)

此外,如果您只想复制值(无格式),最好使用以下代码:

currBook.Sheets(strOngletCibl).Range("B1:H1").Value = _
    currBook.Sheets(strNomOnglet).Cells(firstrow, 2).Resize(, 7).Value

其中,
.Cells(第一行,2).Resize(,7)
.Range(.Cells(第一行,2),.Cells(第一行,8))的较短版本

好的,谢谢simoco,但是,还有一个细节没有更正:目标表不一样……我代码中的问题似乎特别需要在源和目标之间进行选择和切换。很抱歉:它们都不起作用。当我尝试返回到静态语句时,只有静态语句:-/1)出现了什么错误?2) 运行宏时,
第一行的值是多少?3) 你在我的代码中做了什么修改吗?没有错误,只是没有效果。通过调试,第一行没有大的变化
currBook.Sheets(strOngletCibl).Range("B1:H1").Value = _
    currBook.Sheets(strNomOnglet).Cells(firstrow, 2).Resize(, 7).Value