VBA 연결 | VBA에서 문자열을 함께 연결하는 방법?

연결은 두 개의 값 또는 두 개의 문자열을 결합하는 것을 의미합니다. 엑셀과 유사하게 & 또는 앰퍼샌드 연산자를 사용하여 연결하고, 두 개의 문자열을 연결하여 문자열 1 및 문자열 2와 같은 연산자를 사용합니다. 이제 기억해야 할 중요한 사항이 있습니다. & 연산자를 사용하는 동안 공백을 제공해야합니다. 그렇지 않으면 VBA가이를 고려합니다.

VBA 연결 문자열

VBA Concatenate는 간단한 언어로 결합한다고 말하면 두 개 이상의 값 셀 값을 함께 결합하는 데 사용했던 것 중 하나입니다. 두 개 이상의 값을 결합하여 전체 값을 갖습니다.

두 개 이상의 값 또는 두 개 이상의 셀 값을 함께 결합하는 Excel에서 CONCATENATE라는 함수가 있습니다.

그러나 VBA에는 두 개 이상의 값을 함께 연결하는 내장 함수가 없습니다. 실제로 워크 시트 함수로 VBA CONCATENATE 함수에 액세스하기 위해 워크 시트 함수 클래스에 액세스 할 수도 없습니다.

VBA에서 문자열을 연결하는 방법?

값을 연결하는 내장 함수가없고 워크 시트 함수도 VBA와 통합되지 않은 경우. 이제 문제는 가치를 어떻게 결합 하는가입니다.

내장 함수가 없지만 "앰퍼샌드"(&) 기호를 사용하여 VBA에서 결합 할 수 있습니다.

정기적으로 게시물을 팔로우하는 경우 코딩에 앰퍼샌드 (&) 기호를 자주 사용합니다.

예를 들어, 이름과 성이 별도로있는 경우이 두 가지를 결합하여 전체 이름으로 만들 수 있습니다. 아래 단계에 따라 직접 VBA 매크로 코드를 작성하십시오.

1 단계 : Visual Basic Editor로 이동하여 VBA 하위 프로 시저를 만듭니다.

2 단계 : 세 변수 를 String으로 정의 합니다.

암호:

 Sub Concatenate_Example () Dim First_Name As String Dim Last_Name As String Dim Full_Name As String End Sub 

3 단계 : 이제 이름과 성 을 변수에 할당합니다 .

암호:

 Sub Concatenate_Example () Dim First_Name As String Dim Last_Name As String Dim Full_Name As String First_Name = "Sachin"Last_Name = "Tendulkar"End Sub 

4 단계 : 이제 앰퍼샌드 변수를 사용 하여이 두 이름을 변수 Full_Name에 결합 합니다.

암호:

 Sub Concatenate_Example () Dim First_Name As String Dim Last_Name As String Dim Full_Name As String First_Name = "Sachin"Last_Name = "Tendulkar"Full_Name = First_Name & Last_Name End Sub 

5 단계 : 이제 메시지 상자 에 변수 Full_Name의 값을 표시합니다 .

암호:

 Sub Concatenate_Example () Dim First_Name As String Dim Last_Name As String Dim Full_Name As String First_Name = "Sachin"Last_Name = "Tendulkar"Full_Name = First_Name & Last_Name MsgBox Full_Name End Sub 

이제 코드를 실행하면 메시지 상자에 전체 이름이 표시됩니다.

이 전체 이름의 문제는 이름과 성 구분 문자 공백을 추가하지 않고 이름과 성을 결합하고 공백 문자도 결합한다는 것입니다.

암호:

 Sub Concatenate_Example () Dim First_Name As String Dim Last_Name As String Dim Full_Name As String First_Name = "Sachin"Last_Name = "Tendulkar"Full_Name = First_Name & ""& Last_Name MsgBox Full_Name End Sub 

이제 적절한 전체 이름이 제공됩니다.

앰퍼샌드 기호를 사용하여 이와 같이 값을 연결할 수 있습니다. 이제 우리는 이름과 성을 함께 풀 이름으로 만드는 워크 시트 문제를 풀 것입니다.

많은 이름을 결합해야하므로 이름과 성을 결합하기 위해 루프를 사용해야합니다. 아래 코드는 당신을 위해 일을 할 것입니다.

암호:

 Sub Concatenate_Example1 () Dim i As Integer For i = 2 To 9 Cells (i, 3) .Value = Cells (i, 1) & ""& Cells (i, 2) Next i End Sub 

이것은 우리의 VBA 연결 함수처럼 이름과 성을 결합합니다.

앰퍼샌드 VBA 연결의 일반적인 실수

내 코드를 발견하면 값 사이에 공백 문자를 앰퍼샌드 기호로 추가했습니다. 이것은 VBA 프로그래밍의 특성 때문에 필수적입니다.

값과 앰퍼샌드 기호를 함께 결합 할 수 없습니다. 그렇지 않으면 아래와 같은 컴파일 오류가 발생합니다.

JOIN 함수를 사용하여 VBA 연결

VBA에서는 JOIN 함수를 사용하여 값을 결합 할 수 있습니다. 먼저 VBA JOIN 함수 구문을 살펴보십시오.

  • 배열 은 우리의 값을 담고있는 배열 일뿐입니다. 예를 들어 이름과 성 모두.
  • 구분 기호 는 각 배열 값 (이 경우 공백 문자) 사이 의 구분 기호 일뿐 입니다.

아래 코드는 동일한 예를 보여줍니다.

암호:

Sub Concatenate_Example2 () Dim MyValues ​​As Variant Dim Full_Name As String MyValues ​​= Array ( "Sachin", "Tendulkar") Full_Name = Join (MyValues, "") MsgBox Full_Name End Sub