在Excel之前的所有字符,這是細胞值的一個例子。 「▲99315」, 「▲65」。我正在嘗試使用VBA刪除總是向上或向下的箭頭,以獲得或損失。Excel的VBA查找和替換數字
我似乎無法使用VBA來完成這項工作。當我打開這個工作簿時,它會自動更新。我想運行一個VBA來查找和替換箭頭。當我嘗試在「查找」中粘貼箭頭字符時,它顯示爲「?」。
在Excel之前的所有字符,這是細胞值的一個例子。 「▲99315」, 「▲65」。我正在嘗試使用VBA刪除總是向上或向下的箭頭,以獲得或損失。Excel的VBA查找和替換數字
我似乎無法使用VBA來完成這項工作。當我打開這個工作簿時,它會自動更新。我想運行一個VBA來查找和替換箭頭。當我嘗試在「查找」中粘貼箭頭字符時,它顯示爲「?」。
如果所有這些數字的強制包含的第一個字符爲向上和向下箭頭之一,你可以試試這個....
下面的代碼假定您的號碼在A列,並從開始行2。如果不是,請根據您的要求進行更改。
Sub ReplaceArrows()
Dim lr As Long
lr = Cells(Rows.Count, "A").End(xlUp).Row
Range("A2:A" & lr).Value = Evaluate("=IF(A2:A" & lr & "="""","""",RIGHT(A2:A" & lr & ",LEN(A2:A" & lr & ")-1)+0)")
End Sub
如果這些條件格式的圖標,你需要使用rng.FormatConditions.Delete方法。
要使用VBA查找,你需要確定你要替換的字符的代碼。假設你使用的是一樣的,你粘貼到你的問題的箭頭,下面的代碼將工作:
with myRange
.Replace what:=ChrW(&H25B2), replacement:="" 'Up Arrow
.Replace what:=ChrW(&H25BC), replacement:="" 'Down Arrow
end with
注爲雙字節字符使用ChrW
,和十六進制代碼代表的向上和向下箭頭。
,如果他們在每一個細胞,使用文本到列列分成兩個,然後刪除第一列 – jsotola
您也可以包括截圖,讓我們知道正在使用什麼箭?您可能需要使用Unicode字符刪除它們(一【示例是在這裏(https://stackoverflow.com/q/37024107/4650297)) – BruceWayne
你也可以使用一個公式,說值是A1:= MID(A1,2,LEN(A1))假定箭頭總是第一個字符。 – Sorceri