我想要的是将整行的内容和格式复制到另一张表。
目前我不得不满足于将旧单元格内容设置为新单元格内容,并且这样做只会复制内容而不是格式化。 (我的细胞有不同的颜色需要携带)
目前我有以下内容:(这适用于同一张纸中的单元格)
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))
答案 0 :(得分:1)
看起来你试图复制来自" Front_Pages" to" vg"因为你使用" cells"里面"范围"
范围(单元格......)。
如果是这样,您只需将单元格格式更改为excel一般范围;试试这段代码:
Sheets("vg").Range("B5") = Sheets("Front_Pages").Range("B4")
Sheets("vg").Range("C5") = Sheets("Front_Pages").Range("C4")
答案 1 :(得分:0)
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")
不起作用,应替换为 Worksheets("vg")
,否则也会导致错误。
要复制整行,请使用:
Worksheets("Front_Page").Rows("45:45").Copy Worksheets("vg").Rows("50:50")