2013-06-02 6 views
0

내가 원하는 것은 "#"문자를 찾아 그것을 제거하고 위 첨자 뒤에 2 문자를 만드는 것이다. - 작품엑셀/vba가 문자를 찾고 대체하고 두 문자를 윗 첨자로 바꾼다

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

난 단지 대체 : I`ve이 코드를 얻었다. 내가 쓴 문자를 윗 첨자로 쓸 때 - 작동한다. 둘 다 - 교체 만합니다.

+0

어떤 Excel 버전입니까? 또한'mycell.Characters (Start : = pos, Length : = 2) .Font.Superscript = True' (대신'pos' + 1 대신'pos')를 시도 했습니까? – LittleBobbyTables

+1

@LittleBobbyTables가 맞습니다.'#'을 ""로 바꾸면 윗 첨자를 원하는 문자는'pos'와'pos + 1'에 있습니다. 문자열에서 마지막 두 문자 인 경우 "자동 오류"가 발생하고 아무 일도 일어나지 않습니다. – Floris

답변

1

pos + 1은 Replace 메소드로 문자를 삭제했기 때문에 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 
+0

어, Excel 2010 및 여전히 작동하지 않습니다. 파일을 보내 주시겠습니까? 테스트하고 싶습니다 – Button

+0

어떻게 파일을 보내나요? – nemmy

관련 문제