때와 함께 작업 VBA 엑셀에서,당신도 필요할 문자열로 다른 부분에 따라 구분 기호.

경우,예를 들어,당신은 주소를 사용할 수 있습니다 VBA 분할 기능은 다른 부분의 주소는 쉼표로 구분하여(는 것 구분 기호 이 경우).

SPLIT 은 구분 기호를 기반으로 텍스트 문자열을 분할하는 데 사용할 수있는 Excel VBA 의 inbuilt 문자열 함수입니다.,

이 있습니다:

Excel VBA 분리 기능–구

Split ( Expression, , , )
  • 식이 문자열을 분할하려는 기반으로 구분. 예를 들어 주소 예제의 경우 전체 주소가’표현식’이됩니다. 이 경우 0 길이 문자열(“”)분할 함수는 빈 배열을 반환합니다.
  • 구분 기호:이것은 선택적 인수입니다. 이것은’표현식’인수를 분할하는 데 사용되는 구분 기호입니다., 주소 예제의 경우 쉼표는 주소를 다른 부분으로 분할하는 데 사용되는 구분 기호입니다. 이 인수를 지정하지 않으면 공백 문자가 기본 구분 기호로 간주됩니다. 길이가 0 인 문자열(“”)을 제공하면 전체’표현식’문자열이 함수에 의해 반환됩니다.
  • Limit:이것은 선택적 인수입니다. 여기서 반환할 하위 문자열의 총 수를 지정합니다. 예를 들어’표현식’인수에서 처음 세 부분 문자열 만 반환하려는 경우 3 이됩니다., 이 인수를 지정하지 않으면 기본값은-1 이며 모든 하위 문자열을 반환합니다.
  • 비교:이것은 선택적 인수입니다. 여기서 부분 문자열을 평가할 때 분할 함수가 수행 할 비교 유형을 지정합니다. 다음과 같은 옵션을 사용할 수 있습니다:
    • 비교가 0 일 때:이것은 이진 비교입니다. 즉,구분 기호가 텍스트 문자열 인 경우(ABC 라고 가정 해 봅시다)대소 문자를 구분합니다. ‘ABC’는’abc’와 같지 않을 것입니다.
    • 비교가 1 일 때:이것은 텍스트 비교입니다., 즉,구분 기호가 텍스트 문자열 인 경우(ABC 라고 가정 해 봅시다),’표현식’문자열에’abc’가 있더라도 구분 기호로 간주됩니다.

이제 우리는 기본적인 분할의 기능을 보자,몇가 실례로 다루어진다.

예 1-문장의 단어 분할

텍스트가 있다고 가정합니다–”빠른 갈색 여우가 게으른 개를 뛰어 넘습니다”.

분할 함수를 사용하여이 문장의 각 단어를 배열의 별도 항목으로 가져올 수 있습니다.,

아래 코드는 것입니다.

Sub SplitWords()Dim TextStrng As StringDim Result() As StringTextStrng = "The Quick Brown Fox Jumps Over The Lazy Dog"Result() = Split(TextStrng)End Sub

동안 코드는 아무 작업도 하지 않는 유용한 도움이 될 것입니다,당신이 무엇을 이해하는 분할에서 기능 VBA 않습니다.

분할 함수는 텍스트 문자열을 분할하고 각 단어를 결과 배열에 할당합니다.

그래서이 경우:

  • Result(0)값”The”
  • Result(1)값”Quick”
  • Result(2)값”Brown”등을 저장합니다.

이 예에서는 분할 할 텍스트 인 첫 번째 인수 만 지정했습니다., 구분 기호를 지정하지 않았으므로 공백 문자를 기본 구분 기호로 사용합니다.

중요 참고:

  1. VBA 분할 함수는 기본 0 부터 시작하는 배열을 반환합니다.
  2. 분할 함수의 결과가 배열에 할당되면 해당 배열을 문자열 데이터 유형으로 선언해야합니다. 변형 데이터 유형으로 선언하면 형식 불일치 오류가 표시됩니다). 위의 예에서 결과()를 문자열 데이터 유형으로 선언했음을 유의하십시오.,

예 2–문장의 단어 수 계산

분할 함수를 사용하여 문장의 총 단어 수를 얻을 수 있습니다. 여기서 트릭은 텍스트를 분할 할 때 얻는 배열의 요소 수를 세는 것입니다.

아래 코드는 메시지를 표시자로 단어수:

Sub WordCount()Dim TextStrng As StringDim WordCount As IntegerDim Result() As StringTextStrng = "The Quick Brown Fox Jumps Over The Lazy Dog"Result = Split(TextStrng)WordCount = UBound(Result()) + 1MsgBox "The Word Count is " & WordCountEnd Sub

이 경우에는 UBound 기능을 우리에게 알려줍의 상한 배열(즉,최대수의 요소를 배열)., 배열의 기본은 0 이므로 총 단어 수를 얻기 위해 1 이 추가됩니다.

사용할 수 있는 유사한 코드를 만들기를 사용자 정의 기능에 VBA 는 텍스트를 입력으로 돌아와 단어 계산합니다.

아래 코드를 이 함수를 만

한 번 만들어 사용할 수 있습니다 WordCount 기능 같은 다른 정기적인 기능입니다.

또한 이 함수는 처리 선행,후행 및 두 공간에서 사 단어입니다. 이것은 VBA 코드에서 TRIM 함수를 사용하여 가능하게되었습니다.,

경우에 당신이 원하는 방법에 대해 자세히 알아보려면 이 수식 작품 수를 계산하는 단어의 문장이나에 대해 배우고 싶다면 비 VBA 식을 얻을 수있는 방법의 단어수,이습니다.

를 들어를 사용하여 3 구분한 공간이 아닌 문자

이전에는 두 가지 예,우리가 사용만 인수를 하나에 분할 기능,그리고 나머지는 기본다.다른 구분 기호를 사용하는 경우 분할 수식에서이를 지정해야합니다.,

에서 아래 코드를 분할 반열에 기반을 쉼표로 구분한 다음 메시지를 표시하는 각 단어는 별도의 라인입니다.

위 코드에서,내가 사용한 다음에 대한 반복을 통해 이동하고 각 요소의’결과는’배열을 지정하는’DisplayText’변수입니다.

를 들어 4–나누는 주로 세 부분

와 분할,기능 지정할 수 있는 방법 숫자의 분할을 얻고 싶습니다. 예를 들어 아무 것도 지정하지 않으면 구분 기호의 모든 인스턴스가 문자열을 분할하는 데 사용됩니다.,

그러나 3 을 제한으로 지정하면 문자열은 세 부분으로 만 분할됩니다.

경우,예를 들어 나는 다음과 같은 주소:

2703 Winifred Way, Indianapolis, Indiana, 46204

사용할 수 있는 분할에서 기능 VBA 를 나누는 이 주소는 세 가지 부분입니다.

나누는 첫 번째 두 개의 기반에 쉼표로 구분 기호 및 나머지 부분이 되는 세 번째 요소의 배열입니다.,

아래 코드를 표시한 주소에 세 가지 다른 라인에 메시지자:

중 하나 실제적인 사용이 될 수 있습할 때 나누는 한 줄의 주소는 형식으로 메시지에 표시되는 상자입니다. 을 만들 수 있습니다 다음 사용자 정의 기능을 반환하는 주소로 세 부분으로 나누어(각 부품에 새로운 라인).

다음 코드는 것이:

이 코드는 모듈에서,당신이 기능을 사용할 수 있습니다(ThreePartAddress)에 통합 문서를 다른 모든 Excel 기능입니다.,

이 함수는 인수 하나가–셀 참조가 있는 주소입니다.결과 주소가 세 개의 다른 줄에 나타나려면 줄 바꿈 텍스트 형식을 셀에 적용해야합니다(정렬 그룹의 홈 탭에 있음). ‘텍스트 줄 바꿈’형식이 활성화되어 있지 않으면 전체 주소가 한 줄로 표시됩니다.

예 5–도시 이름에서 주소

분할과 기능에 VBA,지정할 수 있습니다 무엇의 결과 배열을 사용하고 싶습니다.,

예를 들어,내가 나누는 다음과 같은 주소를 기반으로 쉼표로 구분:

2703 Winifred Way, Indianapolis, Indiana, 46204

결과 배열에 보이는 것이 무언가가 다음과 같습니다:

{"2703 Winifred Way", "Indianapolis", "Indiana", "46204"}

이것은 배열을,나를 표시하도록 선택할 수 있습니다 반환 또는 특정 부분의 배열입니다.

아래는 숫자를 지정할 수 있고 배열에서 해당 요소를 반환하는 사용자 정의 함수에 대한 코드입니다. 예를 들어 상태 이름을 원하면 3 을 지정할 수 있습니다(배열의 세 번째 요소이므로).,

위의 함수는 주소가있는 셀 참조와 반환하려는 요소 번호 인 두 개의 인수를 취합니다. 분할 함수는 주소 요소를 분할하여 결과 변수에 할당합니다.

그런 다음 두 번째 인수로 지정한 요소 번호를 반환합니다. 베이스가 0 이므로 ElementNumber-1 은 주소의 올바른 부분을 반환하는 데 사용됩니다.

이 사용자 정의 공식에 가장 적합한 경우 일관성 있는 형식으로 모든 주소를 즉,이 도시는 항상 언급된 후에는 두 개의 쉼표로 구분합니다., 데이터가 일치하지 않으면 원하는 결과를 얻지 못할 것입니다.

도시 이름을 원할 경우 두 번째 인수로 2 를 사용할 수 있습니다. 총 요소 수보다 높은 숫자를 사용하는 경우#값을 반환합니다! 오류.

할 수 있는 더 단순화하고 코드는 아래와 같이

위 코드에서 사용하는 대신 결과 변수,그것은 단지 반환이 지정된 요소의 번호입니다.따라서 분할(“좋은 아침”)(0)이있는 경우”좋은”인 첫 번째 요소 만 반환합니다.,

마찬가지로 위의 코드에서 지정된 요소 번호 만 반환합니다.

다음 Excel 자습서를 좋아할 수도 있습니다.

  • Excel VBA InStr 기능–예제로 설명했습니다.
  • Vba(단계별 가이드)를 사용하여 Excel 에서 데이터를 정렬하는 방법.
  • 7 놀라운 것들 엑셀 텍스트 열에 당신을 위해 할 수 있습니다.
  • Excel 에서 단어 수를 얻는 방법.
  • VBA 트림 기능.