gpt4 book ai didi

vba - Excel - 公式在展开后不会跳过行

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

你能告诉我,如果可以传播/复制公式,但它不会跳过行吗?例如。

我有工作表 INPUT,我想在其中复制这个公式:=REPLACE(A6,34,999,REPLACE(CSV!D2,1,7,""))无处不在,如果它以 ":86"开头

enter image description here

我有它的宏,但如果公式像这样传播,它将跳过工作表 CSV 上的行。

For Each C In rng
If Left(C.Value, 3) = ":86" Then
C.Offset(, 1).Formula = "=REPLACE(RC[-1],34,999,REPLACE(CSV!R[-4]C[2],1,7,""""))"
End If
Next C

但我需要在表格 CSV 上逐行进行。因此,如果我将公式复制到 B9 中,公式将是 - =REPLACE(A9,34,999,REPLACE(CSV!D3,1,7,""))或 B14 - =REPLACE(A14,34,999,REPLACE(CSV!D4,1,7,"")) , ETC。

非常感谢您的建议!

最佳答案

创建一个表示基本公式的字符串 var,并在找到匹配项时替换为动态值。

Dim f As String, a As Long, c As Long

f = "=REPLACE(A%a%, 34, 999, REPLACE(CSV!D%c%, 1, 7, TEXT(,)))"
c = 2

With Worksheets("input")
For a = 1 To .Cells(.Rows.Count, "A").End(xlUp).Row
If Left(.Cells(a, "A").Value2, 3) = ":86" Then
.Cells(a, "B").Formula = Replace(Replace(f, "%a%", a), "%c%", c)
c = c + 1
End If
Next a
End With

替换在概念上类似于邮件合并。

关于vba - Excel - 公式在展开后不会跳过行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48887026/

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