gpt4 book ai didi

Excel VBA 复制/粘贴宏 : Ignore cells with Formulas

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

我在 excel 中创建了一个工具,它可以获取两个电子表格,并在我们对工作表本身进行更新时将内容从一个复制到另一个。

该工具纯粹设计为复制/粘贴工具,当前代码将在工作表之间复制和粘贴值。

我必须在工具中包含逻辑以跳过带有公式的单元格,如果工具将当前位于源工作表中的公式复制并粘贴到目标工作表中,它们将不再匹配并引发 #REF 错误。关于如何在此处放置 for 循环或类似内容以允许它检查和忽略带有公式的单元格的任何建议?我只需要它来复制/粘贴带有数字或值的单元格。

Sub CopyWorkbook()
Dim wb1 As Workbook, wb2 As Workbook

wb1.Sheets("Capex").Range("H1124:AT1173").Copy
wb2.Sheets("Capex").Range("H529:AT578").PasteSpecial Paste:=xlPasteAll
wb1.Sheets("Capex").Range("H1275:AT1284").Copy
wb2.Sheets("Capex").Range("H580:AT589").PasteSpecial Paste:=xlPasteAll

最佳答案

您可以使用 SpecialCells 而不是逐个单元格循环识别公式

有两种选择

  • 仅复制 Constant单元格到目的地
  • 删除任何 Formula来自目的地的单元格

  • 如果您的公式出现在单个连续 block 中,那么(1)很容易工作,否则这将导致需要复制许多区域。所以(2)更可取

    您的第一个范围可以这样覆盖。
    Dim rng1 As Range
    Set rng1 = Range("H1124:AT1173")
    rng1.Copy [h1275]

    On Error Resume Next
    [h1275].Resize(rng1.Rows.Count, rng1.Columns.Count).SpecialCells(xlFormulas) = vbNullString
    On Error GoTo 0

    关于Excel VBA 复制/粘贴宏 : Ignore cells with Formulas,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25518173/

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