목차
엑셀에서 VBA 로 작업하면서 우리가 사용하는 가장 중요하고 널리 사용되는 기능 중 하나는 VBA 의 중간 기능 입니다. 문자열을 입력으로 사용하고 문자열 중간에서 지정된 수의 문자를 출력으로 반환합니다. 오늘 이 글에서는 VBA 의 Mid 기능 을 적절한 예제와 그림으로 어떻게 활용하는지 보여드리겠습니다.
8번째 문자부터 시작하여 문자열 “Angela Catherine Nevills” 에서 9 자를 반환합니다. "캐서린" 입니다.
연습 워크북 다운로드
이 연습북을 다운로드하여 이 글을 읽고 계십니다.
VBA Mid Function.xlsm
Excel에서 VBA의 Mid Function 소개
⧭ 기능 목표:
Mid 기능은 값을 입력으로 사용하고 값의 지정된 위치에서 시작하여 지정된 수의 문자를 출력으로 반환합니다.
값은 문자열, 숫자 또는 부울 일 수 있습니다.
예를 들어 Mid("Angela Catherine Nevills",8,9)를 삽입하면 "Catherine" .
Mid(12345,2,3) , 삽입하면 234.
삽입 Mid(False,2,3) , als 를 얻게 됩니다.
⧭ 구문:
Mid의 구문 VBA 의 기능 is:
=Mid(String,Start as Long,[Length])
⧭ 인수:
인수 | 필수 / 선택 | 설명 |
---|---|---|
문자열 | 필수 | 여러 문자가 반환됩니다. |
시작 | 필수 | 반환될 문자열의 시작 문자입니다. |
Length | 선택 사항 | 반환될 문자 수입니다. 기본값은 1입니다. |
⧭ 반환 값:
가운데부터 지정된 수의 문자를 반환합니다.
3 Excel에서 VBA의 Mid 함수 예제
이번에는 Mid 함수 of VBA 를 몇 가지 예와 함께 자세히 설명합니다.
1. Excel에서 VBA의 Mid 기능을 사용하여 일부 ID의 중간에서 주어진 수의 문자 분리
여기에 IDs 및 이 있는 데이터 세트가 있습니다. Saturn Group이라는 회사의 일부 직원 이름 .
여기서 각 4번째 ~ 7번째 자는 ID는 각 직원의 입사년도를 나타냅니다.
이제 VBA 의 Mid 함수 를 이용하여 사용자 정의 함수 를 개발하겠습니다. 직원 ID 에서 각 직원의 입사 연도를 추출합니다.
다음 VBA 코드를 사용할 수 있습니다.
⧭ VBA 코드:
1626
참고: 이 코드 Joining_Year 라는 함수를 만듭니다.
⧭ 출력:
다음을 실행합니다. ID를 인수로 사용하여 워크시트의 모든 셀에서 기능을 수행합니다.
여기서 D4 셀에 수식을 입력했습니다.
=Joining_Year(B4)
첫 사원의 입사년도인 2021 이 반환되었습니다.
이제 핸들 을 채워 나머지 직원의 입사 연도를 가져옵니다.
⧭ 코드 설명:
- 먼저, Function Joining_Year(ID) 행에서 ID를 입력으로 사용하는 Joining_Year 라는 함수를 선언합니다.
- 그런 다음 Joining_Year = Mid(ID, 4, 4) . <행으로 위치 4 에서 시작하는 ID에서 4 자를 추출합니다. 28> End Function 줄은 함수의 끝을 선언합니다.
2. Excel에서 VBA의 Mid 기능을 사용하여 일부 이메일 주소에서 확장자 추출
이제 직원의 이메일 주소가 포함된 데이터 세트에 새 열을 추가했습니다.
이번에는 VBA 의 Mid 기능을 사용하여 이메일 주소의 확장자를 추출합니다.
VBA 코드 는 다음과 같습니다.
⧭ VBA 코드:
1978
참고: 이 코드는 Extension 이라는 함수를 생성합니다.
⧭ 출력:
다음을 실행합니다. 이메일이 있는 워크시트의 모든 셀에서 기능Address 를 인수로 사용합니다.
여기서 E4 셀에
=Extension(D4)
<수식을 입력했습니다. 0>첫 번째 이메일 주소의 확장자를 반환했습니다.
그런 다음 채우기 핸들 을 드래그하여 모든 이메일의 확장자를 추출할 수 있습니다. 주소.
⧭ 코드 설명
- 먼저 다음 함수를 선언합니다. Function Extension(Email_Address) 줄의 입력으로 임의의 이름을 사용하는 Extension .
- 그런 다음 for-loop<2로 반복을 시작합니다> 이메일 주소 의 각 문자를 확인하여 If Mid(Email_Address, i, 1) = “@” Then<2 행으로 @ 인지 여부를 확인합니다> .
- @ 를 찾으면 Email Address 에서 Extension = Mid(Email_Address, i + 1, Len(Email_Address) – (i + 4)) .
- 마지막으로 함수의 종료를 선언합니다.
3. 일부 텍스트를 확인하여 특정 텍스트가 포함되어 있는지 확인
Mid 기능 의 가장 중요한 용도 중 하나는 텍스트에 특정 텍스트가 포함되어 있는지 여부를 확인하는 것입니다. .
이메일 주소 에 “gmail” 이라는 용어가 포함되어 있는지 확인하는 기능을 개발해 봅시다.
다음 VBA 코드:
⧭ VBA 코드:
7183
참고: 이 코드는 함수를 생성합니다. ~라고 불리는 확인 중 .
⧭ 출력:
모든 셀에서 이 함수 실행 인수로 두 개의 텍스트가 있는 워크시트의
여기 E4 셀에 수식을 입력했습니다.
=Checking(D4,"gmail")
첫 번째 이메일 주소가 Gmail 주소이기 때문에 yes 를 반환했습니다.
그런 다음 Fill Handle 모든 이메일 ID에 대해 동일한 작업을 수행합니다.
⧭ 코드 설명:
- 먼저 Function Checking(Text1,Text2) 행에서 두 개의 텍스트를 인수로 사용하는 Checking 이라는 함수를 선언합니다.
- 그런 다음 위치 1 에서 시작하여 Text1 의 각 세그먼트를 확인하는 for 루프를 시작하여 Text2 와 같은지 여부를 확인합니다. , 줄 If Mid(Text1, i, Len(Text2)) = Text2 Then .
- Text2 를 찾으면 “Yes” 를 반환하고 그렇지 않으면 “No” 를 반환합니다.
- 마지막으로 End Function 줄로 함수를 마무리합니다.
기억해야 할 사항
- Mid 함수 의 첫 번째 인수는 항상 문자열일 필요는 없습니다. 문자열 , 숫자 또는 부울 값일 수도 있습니다.
- 그러나 두 번째 및 세 번째 인수는 숫자 여야 합니다. 정수 또는 분수 일 수 있지만 숫자 여야 합니다. 분수 인 경우 중간function 은 가장 가까운 정수 .