rand(life)

[VBA]특수문자만 제거 본문

컴퓨터/엑셀

[VBA]특수문자만 제거

flogsta 2019. 11. 8. 07:48

셀안에 있는 특수문자만 제거하는 코드

지식인 답변에서 가져옴

 

Option Explicit

Sub textchange()
    Dim c As Range
    Dim rSelect As Range
    Dim oReg As Object
    On Error Resume Next
    Set rSelect = Application.InputBox("영역 선택", "선택", Selection.Address, , , , , 8)
    If rSelect Is Nothing Then Exit Sub
    Set oReg = CreateObject("VBScript.RegExp")
    For Each c In rSelect.Cells
        If c.Value <> "" Then
            With oReg
                .Pattern = "[\\/:*?""<>|]" ''특수문자 추가 하시면
                .Global = True
                c.Value = .Replace(c, "")
            End With
        End If
    Next c
    Set oReg = Nothing
End Sub

 

가운데 있는  CreateObject("VBScript.RegExp"

이 부분은 "정규표현식"이라는 것인데 좀 더 연구가 필요하다. 

가운데 있는  .Pattern = "[\\/:*?""<>|]"

이부분만 수정하면 다른 문자들도 일괄적으로 바꾸는 것이 가능하다.