Vba: 문자열에서 문자 발생 횟수를 계산하는 방법


다음 기본 구문을 사용하여 VBA를 사용하여 문자열에서 문자 발생 횟수를 계산할 수 있습니다.

 Sub CountOccurrences()
    Dim i As Integer
    
    'Specify character to look for
    my_char = "/"
    
    'Count occurrences in each string in B2:B12 and display results in C2:C12
    For i = 2 To 12
        Count = (Len(Range(" B " & i)) - Len(Replace(Range(" B " & i), my_char, ""))) / Len(my_char)
        Range(" C " & i) = Count
    Next i
End Sub

이 특정 예에서는 B2:B12 범위의 각 셀에서 슬래시( / )의 발생 횟수를 계산하고 C2:C12 범위의 결과를 표시합니다.

다음 예에서는 실제로 이 구문을 사용하는 방법을 보여줍니다.

예: VBA를 사용하여 문자열의 문자 발생 횟수 계산

다양한 농구 선수의 이름과 그들이 게임에서 플레이할 수 있는 포지션을 보여주는 다음과 같은 데이터 세트가 Excel에 있다고 가정해 보겠습니다.

Position 열의 각 문자열에서 슬래시( / )의 개수를 계산한다고 가정해 보겠습니다.

이를 위해 다음 매크로를 생성할 수 있습니다:

 Sub CountOccurrences()
    Dim i As Integer
    
    'Specify character to look for
    my_char = "/"
    
    'Count occurrences in each string in B2:B12 and display results in C2:C12
    For i = 2 To 12
        Count = (Len(Range(" B " & i)) - Len(Replace(Range(" B " & i), my_char, ""))) / Len(my_char)
        Range(" C " & i) = Count
    Next i
End Sub

이 매크로를 실행하면 다음과 같은 출력이 나타납니다.

C 열의 값은 B 열의 일치하는 문자열에서 슬래시 발생 횟수를 표시합니다.

예를 들어:

  • Guard /Forward 문자열에는 슬래시가 1 개 포함되어 있습니다.
  • Guard 문자열에는 슬래시가 0 개 포함되어 있습니다.
  • Guard 문자열에는 슬래시가 0 개 포함되어 있습니다.
  • Forward/Center 문자열에는 슬래시가 1 개 포함됩니다.

등등.

다른 문자의 발생 횟수를 계산하려면 매크로에서 my_char 변수의 문자를 변경하면 됩니다.

추가 리소스

다음 자습서에서는 VBA에서 다른 일반적인 작업을 수행하는 방법을 설명합니다.

VBA:문자열에 다른 문자열이 포함되어 있는지 확인하는 방법
VBA:범위 내 행 수를 계산하는 방법
VBA: COUNTIF 및 COUNTIFS 함수 작성 방법

의견을 추가하다

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다