소프트웨어

(엑셀 VBA) 특정 문자와 문자 사이에 내용을 제거하여 문자수 세는 사용자정의 함수

heon2slow 2023. 3. 26. 09:25
반응형

 
 셀 범위를 입력으로 받아 해당 셀의 값을 문자열로 변환한 후 "<"와 ">" 사이에 있는 모든 문자열을 제외하여 문자열의 길이를 카운트하는 사용자정의 함수입니다.

Function countCharsWithoutTags(rng As Range) As Integer
    Dim cellValue As String
    cellValue = rng.Value
    Do While InStr(cellValue, "<") > 0 And InStr(cellValue, ">") > 0
        cellValue = Left(cellValue, InStr(cellValue, "<") - 1) & Mid(cellValue, InStr(cellValue, ">") + 1)
    Loop
    countCharsWithoutTags = Len(cellValue)
End Function



예를 들어 셀에 "나는 <b>굉장히</b> 멋있다"라는 값이 있으면 이 함수를 사용하여 "=countCharsWithoutTags(A1)"수식을 입력하면 "<b>"와 "</b>"가 제거된 후 남은 문자의 길이인 10(띄어쓰기 포함)을 출력합니다.