我想创建一个简单的宏,将工作表 2 上包含公式生成的信息的单元格区域复制到工作表 1 上的单元格区域。我只需要粘贴第 1 页上的值,而保留第 2 页上的公式。
我尝试了以下操作:
表格(“数据”)。范围(“A3:A16”)。复制 表格(“战斗”)。ActiveSheet.范围(“A3:A16”)。PasteSpecial xlPasteValues 表格(“数据”)。范围(“C3:C16”)。复制 工作表(“战斗”)。ActiveSheet.范围(“C3:C16”)。PasteSpecial xlPasteValues 表格("数据").范围("D3:D16").复制 表格(“战斗”)。ActiveSheet.Range(“D3:D16”)。PasteSpecial xlPasteValues 表格(“数据”)。范围(“E3:E16”)。复制 工作表(“战斗”)。ActiveSheet.Range(“P3:P16”)。PasteSpecial xlPasteValues 表格(“数据”)。范围(“F3:F16”)。复制 表格(“战斗”)。ActiveSheet.范围(“R3:R16”)。PasteSpecial xlPasteValues 表格(“数据”)。范围(“G3:G16”)。复制 表格(“战斗”)。ActiveSheet.Range(“Q3:Q16”)。PasteSpecial xlPasteValues 表格(“数据”)。范围(“H3:H16”)。复制 表格(“战斗”)。ActiveSheet.范围(“S3:S16”)。PasteSpecial xlPasteValues
它从单元格复制数据但不会粘贴到另一张表中。
如果有人知道我哪里错了,请告诉我!
答案1
如果您选择 VBA 路线,您最好避免复制/粘贴,因为它效率不高。
Sub CopyToCombat()
Dim shtData As Worksheet, shtCombat As Worksheet
Set shtData = Sheets("data")
Set shtCombat = Sheets("combat")
shtCombat.Range("A3:A16") = shtData.Range("A3:A16").Value
shtCombat.Range("C3:D16") = shtData.Range("C3:D16").Value
shtCombat.Range("P3:P16") = shtData.Range("E3:E16").Value
shtCombat.Range("R3:R16") = shtData.Range("F3:F16").Value
shtCombat.Range("Q3:Q16") = shtData.Range("G3:G16").Value
shtCombat.Range("S3:S16") = shtData.Range("H3:H16").Value
End Sub