我正在尝试使用MS Excel vba将一列从一张纸复制到另一张纸。我遇到的问题是,当我运行脚本时,它将脚本复制为公式而不是值。
理想情况下,这是要定期运行的脚本的一部分,这就是为什么我选择使用vba而不是公式,但是基于这两种方法的建议都值得赞赏。
根据提供的代码,我们关注的行是:
src.Range("D:D").Copy Destination:=trg.Range("B1")
代码有效,但复制公式而不是值
Sub GenerateReport1_Click()
Dim src As Worksheet
Dim trg As Worksheet
Dim LastRow As Long
Set src = ThisWorkbook.Worksheets("Report0")
Set trg = ThisWorkbook.Worksheets("Report1")
src.Range("A:A").Copy Destination:=trg.Range("A1")
src.Range("D:D").Copy Destination:=trg.Range("B1")
src.Range("B:B").Copy Destination:=trg.Range("C1")
src.Range("H:H").Copy Destination:=trg.Range("D1")
src.Range("J:J").Copy Destination:=trg.Range("E1")
src.Range("G:G").Copy Destination:=trg.Range("F1")
End Sub