2013-05-03 2 views
0

양식의 일부 요소를 동적으로 배치하기 위해 일부 VBA 코드를 작성하고 있습니다. 내가 뭘하고 싶은지 11 행의 레이블 및 텍스트 상자 개체에 대한 참조의 2 차원 배열을 만든 다음 위의 행의 속성을 기반으로 각 "행"배열과 위치를 단계별로 배치합니다.VBA에서 변수 참조 개체가 있습니다.

불행히도 참조를 저장할 방법을 찾지 못했습니다! 다음 코드 는 오류가 발생합니다 : 내가 너무

Dim field 
field = txtFirstName 
MsgBox field.Top 

다음과 같이 하나의 변수에 객체를 할당하면 나는 오류 메시지를 얻을

Dim fields(10,10) 
fields(0,0) = txtFirstName 

"개체가이 속성 또는 메서드를 지원하지 않습니다" 과제로부터, 그러나 field.Top에 대한 참조는 나에게 "Object Required"오류를 준다.

제발 내가 뭘 잘못하고있는거야. 오버플로 및 VBA 코딩을 새로 도입하여 쉽게 해결할 수 있으면 용서해 주지만 Google + Fu를 활용했습니다. 솔루션을 찾지 못했습니다. 도움을 줄 수있는 사람에게 많은 감사를드립니다.

+2

'Dim Field As Object'와 같은 특정 유형으로 변수를 선언 한 다음 @Tom Cannaert의 응답에 따라 객체 변수를 지정할 때'Set' 키워드를 사용해야합니다. –

답변

3

개체 참조를 다루기 때문에 Set 키워드를 추가해야합니다. VBA는 당신에게 대신 텍스트 상자 객체의 문자열을 제공, 텍스트 상자의 텍스트 속성에 기본 때문에

Set fields(0,0) = txtFirstName 

당신이 오류가 발생하는 이유이다.

+0

+1 나를 때린다. :) –

+0

감사합니다. 정말 감사. –