我目前使用帶有 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
任何幫助,將不勝感激
uj5u.com熱心網友回復:
你的公式應該是這樣的。它需要是一個字串,并且字串中的引號需要加倍,如您所見…Find("";""…
cell.Formula = "=IFERROR(Left(" & ActiveCell.Address & ", Find("";""," & ActiveCell.Address & ") - 1)," & ActiveCell.Address & ")"
這ActiveCell可能是一個問題。我認為您應該用Range("D2:D4000")Eg的第一個單元格替換它C2。
使用cell.Resize(1, 1).Offset(ColumnOffset:=-1).Address(False, False)而不是ActiveCell.Address上面。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/460537.html
