gpt4 book ai didi

vba - Excel VBA复制粘贴问题

转载 作者:行者123 更新时间:2023-12-04 21:54:12 28 4
gpt4 key购买 nike

我正在使用 Excel VBA 复制粘贴。单元格 R7 具有公式 =Max ("C77:AD81") .

  • R7 = 月最大值
  • F7 = 迄今为止的最高值
  • Q7 = 实现 F7 的日期

  • 我想要实现的是如果 R7 > F7 ,将 R7 值复制到 F7 并将 Q7 更改为 = 今天。

    我所实现的只是将 R7 更改为 ("C77:AD81") 的最大值,而其余代码不起作用。我的代码如下。
    Private Sub Worksheet_Change(ByVal Target As Range)

    Dim rng As Range, r As Range, rv As Long


    If Not Intersect(Target, Range("R7")) Is Nothing Then
    Set rng = Intersect(Target, Range("R7"))
    For Each r In rng
    'Change Best Peak Flow and Date Achieved
    Select Case r.Value
    Case Is > ("F7")
    Case Range("R7").Select
    Case Range("R7").Copy
    Case Range("F7").Select
    Case Range("F7").Paste
    Case ("R7") = ("F7")
    Case Range("Q5").Select
    Range("Q5") = Today()
    Application.CutCopyMode = False
    End Select
    Next r
    End If

    End Sub

    最佳答案

    我的建议是不要使用 .select。您可以在没有单个 .select 的情况下对所有内容进行编程。记录和分析宏是学习 VBA 的一个很好的起点,但有时它们太复杂了。我更喜欢简单的解决方案,所以试试这个:

    Private Sub Worksheet_Change(ByVal Target As Range)

    If Range("F7") <> Range("R7") Then
    Range("F7") = Range("R7")
    Range("Q5") = Date
    End If
    End Sub

    关于vba - Excel VBA复制粘贴问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48015591/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com