본문으로 바로가기

05 엄마도 따라 할 수 있는 Excel VBA - 글자 연결하기 '&'

글자 연결하는 법을 배워보자


'&' 이것 하나만 알면 글자를 연결 할 수 있다.



Sub 글자연결하기()

무엇 = Range("A1").Value

MsgBox ("나는" & 무엇 & "(이)다.")

End Sub


결과


주로 for문과 중첩해서 사용할 때 많이 사용한다.

Range를 사용 할 때 A1셀부터 A20셀까지 내용을 가져오거나 바꾸기를 하는 등 작업을 할 때 유용하다.


아래와 같이 A1-20셀을 C1-20까지 복사해보자.




Sub 글자연결하기()

For Row = 1 To 20
    Range("C" & Row).Value = Range("A" & Row).Value
Next

End Sub




modified at july 6 2013


완료



요렇게 쓰면 된다.


세로로 하는 것 말고 가로로도 하고 싶을 것이다. 그건 

2012/12/28 - [Excel VBA/VBA 배우기] - 03 엄마도 따라 할 수 있는 Excel VBA - 셀 선택하기, 값 가져오기, 바꾸기

에서 'Cells(행, 열)' 함수를 참조하기 바란다.



관련글

2013/01/09 - [Excel VBA/VBA 배우기] - 06 엄마도 따라 할 수 있는 Excel VBA - 변수 선언하기








댓글을 달아 주세요

  1. 엑셀초보 2013.04.10 01:55 신고

    Range("A" & Row).Value에서
    .Value 컴파일 오류 나네요.
    다시 설명 부탁해요.

  2. 질문있습니다. 2013.07.26 12:02 신고

    For Row = 1 To 20
    Range("A" & Row).Value = Row
    Range("C" & Row).Value = Row
    Next

    에서 Range("A" & Row).Value = Row 이렇게 하면 A1~20 안의 값이 1~20의 수로 채워지지 않을까요?
    Temp = Range("A" & Row).Value
    Range("C" & Row).Value = Temp 가 더 타당하지는 않을런지..
    제가 아니면 뭔가 간과한것이 없는지 궁금해서 올립니다.

  3. 장원태 2015.12.23 16:23 신고

    작성자님! 본문에 쓰신
    Sub 글자연결하기()

    For Row = 1 To 20
    Range("C" & Row).Value = Range("A" & Row).Value

    End Sub

    에서

    Next가 안들어가도 상관없나요? 저는 next를 안썼다고 컴파일 오류가 나네요!

  4. 궐어 2017.01.03 19:02 신고

    안녕하세요, 선생님.
    항상 초보적인 질문해서 면구스럽습니다.
    제일 첫 번째 예제를 실행하려고 하면

    MsgBox("나는" &무엇& "(이)다.")
    행이 붉은색 표시되면서 컴파일 오류입니다. 필요한 요소: 목록 구분선 또는 )
    위와 같은 메시지 박스가 뜹니다.
    무엇이 빠진 것인지요?
    답변 부탁드립니다.

    • 궐어 2017.01.03 20:04 신고

      아... 확인했습니다. & 표시와 이어지는 단어를 띄어쓰지 않아서 그런 모양입니다.
      무엇 변수 선언을 하라고 나와서 변수 선언을 하니 실행됩니다.
      감사합니다.

  5. 징징 2017.01.27 13:37 신고

    Range를 사용해서 행을 복사할 수는 없는건가요?
    Cells를 이용해서는 복사해봤는데 Range는 자꾸 에러가 뜨네요
    형식이 일치하지 않는다고ㅠㅠ

    'Rangeを使って行をコピー
    For Col = "A" To "J"
    Range(Col & "22").Value = Range(Col & "1").Value
    Next

    어디가 문제인걸까요?

    • BlogIcon KyeongRok Kim 2017.01.27 13:43 신고

      For col = 1 To 10
      columnAddress = Chr(64 + col)
      Range(columnAddress & "1").Value = columnAddress
      Range(columnAddress & "22").Value = Range(columnAddress & "1").Value & " copied"
      Next

      이렇게 해보세요.

    • 징징 2017.01.31 11:02 신고

      아 캐스팅을 했어야하는군요
      감사합니다!!!!!