复制行内容和格式(到另一个工作表)
我想要的是将整行的内容和格式复制到另一个工作表。
此刻,我不得不决定将旧的单元格内容设置为新的单元格内容,这样做只会复制内容而不是格式化。 (我的细胞有不同的颜色,需要传送)
目前,我有以下几点:(这对同一张纸上的细胞工作正常)
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")