在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