gpt4 book ai didi

excel - 在 VBA 的公式中使用 LEFT & FIND

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

我目前使用带有 2 个工作表的工作簿,其中一个包含原始数据(VariantMetrics-Filtered),如下所示:

c.1000T>A;c.1000T>A;c.955T>A
另一个包含一个组合“LEFT”和“FIND”的公式,它允许我只抓取数据的第一部分,直到第一个分号。当前的公式如下所示:
=IFERROR(LEFT('VariantMetrics-Filtered'!C2,FIND(";",'VariantMetrics-Filtered'!C2)-1),'VariantMetrics-Filtered'!C2)

我想使用 VBA 宏来使事情更清洁,因为公式引用了单元格,这不是最佳的。
我想出了下面的代码,但我收到一个错误:预期:“;”的语句结束。
我不明白为什么,因为我认为“LEFT”的语法是正确的。
Sub Remove_duplicates()
'
'

Dim cell As Range

Set cell = Range("D2:D4000")
cell.Formula = IFERROR(Left(ActiveCell, Find(";", ActiveCell) - 1),ActiveCell)


End Sub
任何帮助,将不胜感激

最佳答案

你的公式应该是这样的。它必须是一个字符串,并且字符串中的引号需要加倍,如 …Find("";""… 所示。

cell.Formula = "=IFERROR(Left(" & ActiveCell.Address & ", Find("";""," & ActiveCell.Address & ") - 1)," & ActiveCell.Address & ")"
ActiveCell可能是这里的一个问题。我认为您应该将其替换为 Range("D2:D4000") 的第一个单元格例如 C2 .
使用 cell.Resize(1, 1).Offset(ColumnOffset:=-1).Address(False, False)而不是 ActiveCell.Address以上。

关于excel - 在 VBA 的公式中使用 LEFT & FIND,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71955904/

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