Excel VBA:复制增量单元格值
Posted
技术标签:
【中文标题】Excel VBA:复制增量单元格值【英文标题】:Excel VBA: Copy increment cell value 【发布时间】:2015-06-30 08:07:24 【问题描述】:我是 VBA 新手,所以我向你们寻求正确方向的一些提示。
我有一个包含两张工作表(Blad1、Blad2)的工作簿,我正在尝试创建一个函数,该函数在下一个可用单元格中复制从 Blad1 到 Blad2 的预制单元格范围。同时我希望每次按下按钮时复制的单元格中的数字增加 10,以便每个副本都有不同的值。
这是我目前写的代码:
Sub new_Group()
Dim rnTarget As Range
Set rnTarget = Blad2.Cells(Range("A:A").Cells.Count, 1).End(xlUp)
If rnTarget <> "" Then Set rnTarget = rnTarget.Offset(1)
Blad1.Range("A8:F15").Copy rnTarget
Blad1.Range("J9").Value = Blad1.Range("J9").Value + 10
End Sub
复制/粘贴功能按预期工作。但问题在于增量。我不知道如何只复制值而不是公式,因此复制的单元格中的值会发生变化,它还会将 J9 源单元格更改为 J10、J17 等。
Image of Blad1 cells
这是 Blad1 中准备复制的预制单元。 POS后的数字是我想在每次复制后增加10。
要么我应该使用其他方式来复制单元格,这样它就不会保留公式,而只保留值,或者我要进行所有错误的增量。 对任何类型的指针都很高兴。
【问题讨论】:
【参考方案1】:下面应该只粘贴值
Sub new_Group()
Dim rnTarget As Range
Set rnTarget = Blad2.Cells(Range("A:A").Cells.Count, 1).End(xlUp)
If rnTarget <> "" Then Set rnTarget = rnTarget.Offset(1)
Blad1.Range("A8:F15").Copy
Blad2.range(rnTarget.address).PasteSpecial xlValues
Blad1.Range("J9").Value = Blad1.Range("J9").Value + 10
End Sub
【讨论】:
感谢您的快速回答!但是当我尝试运行它时,它会给出错误 1004,说该方法失败并指向行“Blad2.Range(rnTarget).PasteSpecial xlValues” 很抱歉将 Blad2.range(rnTarget).PasteSpecial xlValues 更改为 Blad2.range(rnTarget.address).PasteSpecial xlValues。我改变了代码以上是关于Excel VBA:复制增量单元格值的主要内容,如果未能解决你的问题,请参考以下文章