复制行内容和格式(到另一个工作表)

我想要的是将整行的内容和格式复制到另一个工作表。

此刻,我不得不决定将旧的单元格内容设置为新的单元格内容,这样做只会复制内容而不是格式化。 (我的细胞有不同的颜色,需要传送)

目前,我有以下几点:(这对同一张纸上的细胞工作正常)

Range(Cells(45, 2), Cells(45, 3)).Copy Range(Cells(50, 2), Cells(50, 3)) 

但是,我试图从一张纸到另一张纸。 (从表'Front_Page'复制到'vg')。 我尝试使用以下,显然这是行不通的,但有人可以告诉我,我做错了什么?

 Range.Worksheet("Front_Page").Range(Cells(45, 2), Cells(45, 3)).Copy Worksheet("vg").Range(Cells(50, 2), Cells(50, 3)) 

看起来你尝试从“Front_Pages”复制单元格到“vg”,因为你使用“范围”内的“单元格”

范围(细胞…)。

如果是这样,你可以简单的改变单元格格式为excel的一般范围; 试试这个代码:

 Sheets("vg").Range("B5") = Sheets("Front_Pages").Range("B4") Sheets("vg").Range("C5") = Sheets("Front_Pages").Range("C4") 

Cells是指活性片的细胞。 因此你会得到错误:vg不是活动工作表。 将另一个工作表的单元格指定为Range对象的参数总是会导致错误。 这将工作:

 Worksheets("Front_Page").Range(Worksheets("Front_Page").Cells(45, 2), Worksheets("Front_Page").Cells(45, 3)).Copy Worksheets("vg").Range(Worksheets("vg").Cells(50, 2), Worksheets("vg").Cells(50, 3)) 

但是,它可以被优化,只是:

 Worksheets("Front_Page").Range("B45:C45").Copy Worksheets("vg").Range("B50:C50") 

此外,请注意Worksheet("vg")不起作用,它应该replace Worksheets("vg")否则它也会导致错误。

要复制整行,请使用:

 Worksheets("Front_Page").Rows("45:45").Copy Worksheets("vg").Rows("50:50")