【问题标题】:Excel macro copy values from one row to another without overwriting formulas in the target rowExcel 宏将值从一行复制到另一行,而不会覆盖目标行中的公式
【发布时间】:2016-09-06 14:20:02
【问题描述】:

我正在尝试创建一个将数据从当前月份行复制到底部的宏。当前月份行在单元格中有链接,因此刷新时,日期和数据将更改为新月份(sept--16),但在刷新之前,请将数据复制到下面的匹配月份。余额列在每个单元格中都有一个公式(总计 - 金额)。我如何只复制值,而不覆盖余额单元格中的公式。

这是我的代码

Sub CopyData()
Dim compareValue As String
Dim comparingValue As String
Dim i As Long
compareValue = Cells(2, 2).Value

For i = 3 To Rows.Count
    comparingValue = Cells(i, 2).Value
    If compareValue = comparingValue Then
        Sheets("Sheet1").Range("C2:J2").Copy
        lRow = Range("C" & Rows.Count).End(xlUp).Row
         Range("C" & lRow + 1, "J" & lRow + 1).PasteSpecial xlPasteValues
    End If
Next i
End Sub

【问题讨论】:

    标签: vba excel macros


    【解决方案1】:

    使用直接价值转移。

    with worksheets("Sheet1").cells(i, "C").resize(1, 8)
        worksheets("another sheet").cells(rows.count, "C").end(xlup).offset(1, 0).resize(1, 8) = .value
    end with
    

    【讨论】:

    • 我对代码有点困惑,能否请您提供更多信息?
    • 好的,所以您已经使用 [F8] 逐步完成了代码并在一个或多个变量上设置了监视。您还调试了源和目标的地址。哪部分没看懂?我不准备写几段关于本质上是两行代码的内容。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-24
    • 2017-12-23
    • 2023-03-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多