Excel VBA在数字之前查找并替换所有字符

时间:2017-09-25 18:38:17

标签: excel vba excel-vba

在Excel中,这是单元格值的示例。 "▲99315""▲65&#34 ;.我尝试使用VBA来移除总是向上或向下的箭头,以获得收益或损失。

我似乎无法使用VBA来完成这项工作。当我打开此工作簿时,它会自动更新。我想运行一个VBA来查找和替换"箭头。当我尝试将箭头字符粘贴到"找到"它显示为"?"。

3 个答案:

答案 0 :(得分:2)

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

以下代码假定您的数字位于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

答案 1 :(得分:1)

要使用VBA查找,您需要确定要替换的字符的代码。假设您使用的箭头与您粘贴到问题中的箭头相同,则以下代码将起作用:

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

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

答案 2 :(得分:0)

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