2016-10-31 2 views
0

VBA를 사용하여 Excel 파일 (.xlsx)의 수퍼 스크립트에서 작성된 문자를 제거하는 방법은 무엇입니까?VBA의 Excel에서 위 첨자 제거

이들은 일부 셀에만 나타나며이 셀의 다른 부분 (변경되지 않은 부분은 쓰지 않음)을 변경하지 않고 그대로두고 싶습니다.

다른 프로그램에 텍스트를 복사 할 때 일부 문자가 위 첨자 인 것을 잊어 버렸기 때문에 Excel에서 대부분 수행해야합니다.

+1

당신이 ** ** 문자를 삭제 하시겠습니까, 또는 :

Sub DeleteSuperScript() Dim c As Range Application.ScreenUpdating = False For Each c In ActiveSheet.UsedRange For i = 1 To Len(c) If c.Characters(i, 1).Font.SuperScript Then c.Characters(i, 1).Delete i = i - 1 End If Next i Next c Application.ScreenUpdating = True End Sub 

다음은 소요 첨자 문자를하고는 "정상화" ** 서식을 제거하십시오 ** ?? –

+0

'위 첨자'형식이 적용된 정규 문자입니까? 아니면'4²'의'2'와 같은 실제 위첨자 문자입니까? –

+0

@ Gary의 스터디 ** 캐릭터를 삭제하고 싶습니다 **. 다른 프로그램에 붙여 넣기하면 형식이 제거되므로 두 번째 문제가되지 않습니다. – user7095638

답변

0

코드를 실행하는 데 조금 시간이 걸리지 만 코드를 포함하여 위 첨자를 삭제하거나 "표준화"했습니다.

다음은 첨자 문자를 소요하고 삭제합니다

Sub NormalizeSuperScript() 
    Dim c As Range 

    Application.ScreenUpdating = False 

    For Each c In ActiveSheet.UsedRange 
     For i = 1 To Len(c) 
      If c.Characters(i, 1).Font.SuperScript Then 
       c.Characters(i, 1).Font.SuperScript = False 
      End If 
     Next i 
    Next c 

    Application.ScreenUpdating = True 

End Sub 
+0

고마워요, 제가 찾고 있던 것이 었습니다. – user7095638