_ 모든 문자가 아닌 셀의 각 줄에서 첫 번째 단어 만 요구하는 상황이 발생하면이 기사를 읽어야합니다. 다음 튜토리얼은 Excel에서 VBA 코드를 통해 첫 단어 만 검색하는 데 도움이됩니다 ._

이 기사에서는 매크로 코드를 통해 세미콜론으로 구분 된 셀의 각 줄에서 첫 단어 만 유지하는 방법에 중점을 둘 것입니다.

질문 : 작업중인 데이터에는 각 셀에 여러 줄이있는 경우가 있으며 첫 번째 단어 만 추출하고 싶습니다.

다음은 입력 텍스트 (시트 전)의 스냅 샷입니다.

img1

===

다음은 A 열의 입력 텍스트 (After Sheet)의 스냅 샷이며 B 열의 출력이 필요합니다. 아래 스냅 샷 참조 :

===

img2

===

코드를 얻으려면; VB 편집기를 시작하려면 아래 단계를 수행해야합니다. 개발자 탭을 클릭합니다. 코드 그룹에서 Visual Basic을 선택합니다.

img3

  • 표준 모듈에 아래 코드 복사

Function FirstWordOnly(rng As Range)

Dim Arr() As Variant

Dim Count As Integer

Dim i As Integer



Count = Len(rng) - Len(Replace(rng, Chr(10), ""))



If Count > 0 Then

ReDim Arr(0 To Count)

For i = 0 To Count

If i = 0 Then

Arr(i) = Left(rng, InStr(1, rng, " ") - 1)

ElseIf j = 0 Then

j = InStr(1, rng, Chr(10))

Arr(i) = Mid(rng, j + 1, InStr(j, rng, " ") - j)

Else

j = InStr(j + 1, rng, Chr(10))

Arr(i) = Mid(rng, j + 1, InStr(j, rng, " ") - j)

End If

Next



FirstWordOnly = Join(Arr, "; ")

Else

If InStr(1, rng, " ") > 0 Then

FirstWordOnly = Left(rng, InStr(1, rng, " "))

Else

FirstWordOnly = rng

End If



End If



End Function

img4

===

이제 VBA 코드를 사용할 준비가되었습니다. 새로 생성 된 사용자 정의 함수, 즉 Before Sheet의 “FirstWordOnly”를 사용합니다.

B2 셀에서 UDF를 사용하여 출력을 얻으려면 수식은 = FirstWordOnly (A2)

img5

코드 설명 :

위 코드에서는 COUNT, LEN, REPLACE, IF, INSTR, MID, CHR, LEFT, JOIN VBA 함수를 사용했습니다.

‘Len (rng)’; 이렇게하면 ‘Replace (rng, Chr (10), “”)’를 참조하는 셀의 길이를 확인할 수 있습니다. 코드는 Chr (10) 즉, 각 줄의 줄 바꿈을 확인한 다음 큰 따옴표 (아무것도 없음)로 대체합니다.

‘개수 = Len (rng)-Len (Replace (rng, Chr (10), “”)) ‘; Count는 줄 바꿈을 바꾼 후 각 줄의 길이 차이를 저장합니다. If Count> 0; 이것은 Count의 길이가 0보다 큰지 확인하고 0과 같으면 즉, 셀이 비어 있으면 IF 조건이 코드를 실행하지 않습니다. 이를 확인하려면 셀 B5에서 = FirstWordOnly (A5)를 사용하면 0이 반환됩니다

img6

셀이 비어 있지 않으면 For 루프는 IF 조건과 함께 사용되며 LEFT 함수를 사용하면 첫 번째 단어를 검색 할 것입니다 JOIN 함수는 각 셀에 여러 줄이있는 경우 끝에 세미콜론을 추가합니다. 결론 : UDF를 사용하여 모든 것을 제거 할 수 있습니다. VBA를 통해 첫 번째 단어를 제외한 셀의 각 줄에서. 이 기능은 이전 버전부터 새 버전 (예 : Microsoft Excel 2003, Microsoft Excel 2007, Microsoft Excel 2010, Microsoft Excel 2013)에서 작동합니다.

image 48

_ 블로그가 마음에 들면 Facebook에서 친구들과 공유하세요. Twitter와 Facebook에서도 팔로우 할 수 있습니다 ._

_ 우리는 여러분의 의견을 듣고 싶습니다. 우리가 작업을 개선, 보완 또는 혁신하고 더 나은 서비스를 제공 할 수있는 방법을 알려주십시오. [email protected]_로 문의 해주세요