Excel/vba查找字符,替换并在超级脚本后生成两个字符

Excel/vba查找字符,替换并在超级脚本后生成两个字符,vba,excel,Vba,Excel,我想要的是找到“#”字符,删除它,并在它后面加上2个字符的上标。 我有这个密码: pos = InStr(mycell.Value, "#") If pos > 0 Then mycell.Replace What:="#", Replacement:="" mycell.Characters(Start:=pos + 1, Length:=2).Font.Superscript = True End If 当我只更换-工作。当我只

我想要的是找到“#”字符,删除它,并在它后面加上2个字符的上标。 我有这个密码:

    pos = InStr(mycell.Value, "#")
    If pos > 0 Then
        mycell.Replace What:="#", Replacement:=""
        mycell.Characters(Start:=pos + 1, Length:=2).Font.Superscript = True
    End If

当我只更换-工作。当我只做一些字符上标-作品。当两者同时存在时-仅替换。

pos+1需要是pos,因为您已使用替换方法删除了一个字符。经过测试,在Excel 2010中运行良好

pos = InStr(myCell.Value, "#")
If pos > 0 Then
    myCell.Replace What:="#", Replacement:=""
    myCell.Characters(Start:=pos, Length:=2).Font.Superscript = True
End If

什么版本的Excel?另外,您是否尝试过使用
mycell.Characters(开始:=pos,长度:=2)。Font.Superscript=True
pos
而不是
pos
+1)来代替它?@LittleBobbyTables是正确的-在您将
替换为“”之后,要上标的字符位于
pos
pos+1
。如果它们是字符串中的最后两个字符,则很可能出现“无声错误”,并且什么也不会发生。呃,Excel 2010仍然无法工作。你能把你的档案寄给我吗?我想测试一下