Excel VBA查找并replace数字前的所有字符

在Excel中,这是单元格值的示例。 “▲99315”, “▲65”。 我正在尝试使用VBA删除总是上下的箭头,以获得或损失。

我似乎无法使用VBA进行这项工作。 当我打开这个工作簿时,它会自动更新。 我想运行一个VBA来查找和replace箭头。 当我尝试在“查找”中粘贴箭头字符时,显示为“?”。

如果所有这些数字强制包含第一个字符作为上下箭头之一,你可以试试这个….

下面的代码假定您的数字在A列中,并从Row2开始。 如果不是,请根据您的要求进行更改。

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 

要使用VBA查找,您需要确定要replace的字符的代码。 假设你正在使用的箭头与你粘贴到你的问题相同,下面的代码将工作:

 with myRange .Replace what:=ChrW(&H25B2), replacement:="" 'Up Arrow .Replace what:=ChrW(&H25BC), replacement:="" 'Down Arrow end with 

注意使用ChrW作为双字节字符,使用hex代码表示向上和向下箭头。

如果这些是条件格式化图标,则需要使用rng.FormatConditions.Delete方法。