메인 컨텐츠로 가기

Excel의 셀에서 숫자가 아닌 문자를 제거하는 방법은 무엇입니까?

이러한 데이터가 많은 워크 시트가 있다고 가정합니다. ABCD4578124유이오, 숫자가 아닌 문자 만 제거하려는 경우  ABC듀이오 그러나 숫자 문자는 셀에 보관하십시오. 물론 이러한 문자를 하나씩 제거 할 수 있지만 바로 여기에서 다음과 같이 셀에서 숫자가 아닌 문자를 빠르게 제거 할 수 있습니다.

VBA 코드로 숫자가 아닌 문자 제거

한 번의 클릭으로 숫자가 아닌 문자를 제거하는 편리한 도구


VBA 코드로 숫자가 아닌 문자 제거

VBA 코드가있는 범위에서 숫자가 아닌 문자를 제거하려면 다음과 같이하십시오.

1. 개발자 > Visual Basic을 를 열려면 애플리케이션 용 Microsoft Visual Basic 창문. 에서 애플리케이션 용 Microsoft Visual Basic 창을 클릭합니다 끼워 넣다 > 모듈을 클릭 한 후 다음 코드를 복사하여 모듈에 붙여 넣습니다.

VBA : 숫자가 아닌 모든 문자 제거

Sub RemoveNotNum()
'Updateby Extendoffice
Dim Rng As Range
Dim WorkRng As Range
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
For Each Rng In WorkRng
    xOut = ""
    For i = 1 To Len(Rng.Value)
        xTemp = Mid(Rng.Value, i, 1)
        If xTemp Like "[0-9]" Then
            xStr = xTemp
        Else
            xStr = ""
        End If
        xOut = xOut & xStr
    Next i
    Rng.Value = xOut
Next
End Sub

2. 그런 다음 버튼을 눌러 코드를 실행합니다. Kutoolsfor엑셀 대화 상자에서 제거 할 숫자가 아닌 문자가있는 범위를 선택한 다음 OK 단추. 스크린 샷보기 :

doc 숫자가 아닌 문자 제거 1 사본

3. 그런 다음 선택한 범위의 숫자가 아닌 모든 문자가 제거됩니다.

doc 숫자가 아닌 문자 제거 2

소수점이있는 숫자의 경우 다음 VBA를 사용할 수 있습니다.

Sub RemoveNotNum()
'Updateby Extendoffice
Dim Rng As Range
Dim WorkRng As Range
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
For Each Rng In WorkRng
    xOut = ""
    For i = 1 To Len(Rng.Value)
        xTemp = Mid(Rng.Value, i, 1)
        If xTemp Like "[0-9.]" Then
            xStr = xTemp
        Else
            xStr = ""
        End If
        xOut = xOut & xStr
    Next i
    Rng.Value = xOut
Next
End Sub

아래 스크린 샷과 같이 결과를 볼 수 있습니다.

doc 숫자가 아닌 문자 제거 3


한 번의 클릭으로 숫자가 아닌 문자를 제거하는 편리한 도구

범위에서 숫자가 아닌 문자를 제거하려면 Excel 용 Kutools문자 제거 유틸리티는 한 번의 클릭으로 완료 할 수 있습니다.

Excel 용 Kutools : 300 개 이상의 편리한 Excel 추가 기능으로 30 일 동안 제한없이 무료로 사용해 볼 수 있습니다.. 

설치 후 Excel 용 Kutools, 다음과 같이하십시오.

1. 숫자가 아닌 문자를 제거 할 범위를 강조 표시하십시오. 딸깍 하는 소리 쿠툴 > 본문 > 문자 제거.

doc 숫자가 아닌 문자 제거 4

2. 에서 문자 제거 대화 상자에서 숫자가 아닌 에서 옵션 문자 제거 섹션을 클릭 한 다음 OK or 신청 단추. 그리고 숫자가 아닌 문자는 선택 항목에서 즉시 제거됩니다. 스크린 샷보기 :

doc 숫자가 아닌 문자 제거 5

Excel 용 Kutools 및 무료 평가판을 지금 다운로드하려면 클릭하십시오!

자세한 내용은 문자 제거 Excel 용 Kutools의 문자 기능 설명을 제거합니다.


데모 : 셀에서 숫자, 알파벳, 인쇄 불가능 또는 영숫자 문자 제거

Excel 용 Kutools: 300 개 이상의 편리한 Excel 추가 기능으로 30 일 동안 제한없이 무료로 사용해 볼 수 있습니다. 지금 다운로드 및 무료 평가판!

관련 기사 :

최고의 사무 생산성 도구

인기 기능: 중복 항목 찾기, 강조 표시 또는 식별   |  빈 행 삭제   |  데이터 손실 없이 열이나 셀 결합   |   수식없이 반올림 ...
슈퍼 조회: 다중 기준 VLookup    다중 값 VLookup  |   여러 시트에 걸친 VLookup   |   퍼지 조회 ....
고급 드롭다운 목록: 드롭다운 목록을 빠르게 생성   |  종속 드롭다운 목록   |  다중 선택 드롭 다운 목록 ....
열 관리자: 특정 개수의 열 추가  |  열 이동  |  Toggle 숨겨진 열의 가시성 상태  |  범위 및 열 비교 ...
특색 지어진 특징: 그리드 포커스   |  디자인보기   |   큰 수식 바    통합 문서 및 시트 관리자   |  리소스 라이브러리 (자동 텍스트)   |  날짜 선택기   |  워크 시트 결합   |  셀 암호화/해독    목록으로 이메일 보내기   |  슈퍼 필터   |   특수 필터 (굵게/기울임꼴/취소선 필터링...) ...
상위 15개 도구 세트12 본문 도구 (텍스트 추가, 문자 제거,...)   |   50+ 거래차트 유형 (Gantt 차트,...)   |   40+ 실용 방식 (생일을 기준으로 나이 계산,...)   |   19 삽입 도구 (QR 코드 삽입, 경로에서 그림 삽입,...)   |   12 매출 상승 도구 (숫자를 단어로, 환율,...)   |   7 병합 및 분할 도구 (고급 결합 행, 셀 분할,...)   |   ... 그리고 더

Excel용 Kutools로 Excel 기술을 강화하고 이전과는 전혀 다른 효율성을 경험해 보세요. Excel용 Kutools는 생산성을 높이고 시간을 절약하기 위해 300개 이상의 고급 기능을 제공합니다.  가장 필요한 기능을 얻으려면 여기를 클릭하십시오...

kte 탭 201905


Office Tab은 Office에 탭 인터페이스를 제공하여 작업을 훨씬 쉽게 만듭니다.

  • Word, Excel, PowerPoint에서 탭 편집 및 읽기 사용, Publisher, Access, Visio 및 Project.
  • 새 창이 아닌 동일한 창의 새 탭에서 여러 문서를 열고 만듭니다.
  • 생산성을 50% 높이고 매일 수백 번의 마우스 클릭을 줄입니다!
Comments (13)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
HI Thanks for the coding, i am getting the syntax error highlighted on For i = 1 To Len(Rng.Value) and the debug Sub RemoveNotNum() is highlighted in yellow.. kindly advice.
This comment was minimized by the moderator on the site
The VBA works great. I modified it to always work on a column, as shown:

For Each Cell In Range("B2:B" & ActiveSheet.UsedRange.Rows.Count)

xOut = ""

For i = 1 To Len(Cell.Value)

xTemp = Mid(Cell.Value, i, 1)

If xTemp Like "[0-9]" Then

xStr = xTemp

Else

xStr = ""

End If

xOut = xOut & xStr

Next i

Cell.Value = xOut

Next

I also used this to sort a column by the last digit, changing the last part to Cell.Value = Right(xOut, 1) then sorting it numerically.
This comment was minimized by the moderator on the site
Send me it on my email id
This comment was minimized by the moderator on the site
Hi, I want to use this macro but want to pre-define a range. Can you please let me know how to pre-define the range. Thanks, Samit
This comment was minimized by the moderator on the site
Just wanted to let you know that if the string starts with zero(s), or starts with letters, followed by zero(s), followed by the rest of the string this will remove all of the beginning zeroes. This is weird because it doesn't remove the zero(s) if they are between other non-zero numbers within the string, only if they start the string or are the first numbers after the initial letters in a string. Example. 0060100 would come out as 60100 PFF057726 would come out as 57726. Let me know if you have an explanation for this and can think of a solution. Thank you.
This comment was minimized by the moderator on the site
Thanx Guys for such a nice work. The script is awesome and it worked for. Keep it up guys.
This comment was minimized by the moderator on the site
Use this Formaula for replacing the existing character with the new one =SUBSTITUTE(text,old_text,new_text,[instance_num]) for ex-=SUBSTITUTE(TRIM(G1),"/","") Wish U all Happy Easter 2015
This comment was minimized by the moderator on the site
I received an error when I hit the > run button in the developer: Compile Error: Expected:end of statement and the word "non" in non-numeric is highlighted
This comment was minimized by the moderator on the site
Wow. that worked , exactly what I needed. Thanks,
This comment was minimized by the moderator on the site
Awesome Worked GREAT!!!!!!!!
This comment was minimized by the moderator on the site
wouldn't be better to replace the input-box method by just setting WorkRng like this: Set WorkRng = Intersect(ActiveSheet.UsedRange, Selection) that way if user select a entire column it wouldn't generate any error.
There are no comments posted here yet
Load More
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations