2016-09-26 3 views
1

안녕하세요 저는 VBA를 처음 사용하고 있지만 겉으로는 간단하게 처리하고 싶습니다.하지만 알아낼 수는 없습니다.TextBox VBA에 여러 셀 연결

여러 개의 셀을 텍스트 상자에 연결하고 값을 다른 줄로 지정하고 싶습니다. Ex. A1 = 파란색; B1 = 빨강; C1 = 나는 텍스트 상자 반환해야 할

노란색 :
노란색
레드
블루 나는이 어디에 대한 답변을 찾을 수없는

합니다.

내가 지금 가지고있는 코드는 다음과 같습니다

Sub Macro2() 

' Macro2 Macro 

    ActiveSheet.Shapes.Range(Array("TextBox 2")).Select 
    Selection.Formula = "=$A$1" 

End Sub 

이 텍스트 상자에 A1의 값을 반환하지만 나는 또한 B1 및 C1의 값이 필요합니다.

도움을 주시면 감사하겠습니다. 감사합니다

업데이트 :

엘 버트 비야 레알의 대답은 내 문제를 해결했다,하지만 난 마지막 질문이 있습니다.

나는 (A2, A3, A4)에 대해 이렇게하고 싶은 행이 여러 개 있습니다. 이 다른 데이터 행에 대한 루프를 수행 할 수있는 방법이 있습니까? 이와

+0

같은 텍스트 상자 또는 새로운에서 B1 및 C1의 값을 원하십니까? – Marco

+1

'.Selection'을 사용하여이 작업을하게되면, 왜 작동 하는지를 확인하십시오. 그런 다음'.Select'를 제거하십시오. ['.Activate' /'.Select'] 사용을 피하는 것이 가장 좋습니다 (http://stackoverflow.com/questions/10714251/how-to-avoid-using-select-in -excel-vba-macros). – BruceWayne

+0

나는 (A2, A3, A4)에 대해 이렇게하고 싶은 행이 여러 개 있습니다. 이 다른 데이터 행에 대한 루프를 수행 할 수있는 방법이 있습니까? – Stobi1

답변

1

당신은 당신이 무엇을 물어 수행 할 수 있습니다

Sub Stobi1() 
     Dim txt As String 'Where to store the text/data 
     Dim myTxtBox As Shape 'where to store the textbox that is a Shape 

     Set myTxtBox = ActiveSheet.Shapes("myTextBox") 'take the name of your textbox 
     txt = Range("A1").Value & Chr(10) & Range("B1").Value & Chr(10) & Range("C1").Value 'this whay you can take the strings of the cells and "write it" with a new line between 

     myTxtBox.TextFrame2.TextRange.Characters.text = txt 'Put your text inside the TextBox 
End Sub 
+0

도움을 주셔서 감사합니다! 이것은 완벽하게 작동합니다. 마지막 질문 하나. 나는 (A2, A3, A4)에 대해 이렇게하고 싶은 행이 여러 개 있습니다. 이 다른 데이터 행에 대한 루프를 수행 할 수있는 방법이 있습니까? – Stobi1

+0

확실히, 내일 나는 당신에게 약간의 정보를 묻습니다 ... 여기 12시입니다 : am ... 그러나 말해, 당신은 A1, A2, A3 그리고 B1과 C1을 가고 싶습니까 ??? –

+0

정보 열은 여러 개이며, 정확히 6 열입니다. 그래서 텍스트 상자의 첫 번째 부분에 대해서는 1 행의 모든 ​​정보를 원합니다. 그 다음 2 행의 모든 ​​정보를 3 행으로 바꿉니다. – Stobi1