2011-01-23 4 views
1

내 googlefu가 실패했고 도움을 청합니다 :가변 변수가 가능합니까?

VBA는 PHP처럼 Variable Variables을 가질 수 있습니까? PHP에서는 $$var을 사용하여 변수를 선언 할 때까지 기다릴 수 있음을 알고 있습니다.

VBA에서 가능합니까? 예를 들어, 말하자면 : 1000 문자열의 전체 배열을 읽고 내가 얻은 각 문자열은 해당 문자열로 변수를 선언 할 수 있습니다. 예를 들어 배열의 80 번째 요소의 이름이 STO 인 경우 VBA를 어떻게 선언 할 수 있습니까? sto라는 이름의 변수를 만드시겠습니까?

+2

가능한지는 모르겠지만 가변 변수는 무의미하고 해롭지는 않지만 드문 경우 중 하나입니다. 대신 괴물 사전을 사용하십시오. – delnan

답변

3

불가능합니다. 그러나 가변 변수에 의존하는 거의 모든 코드는 어쨌든 끔찍하게 파괴되어 리팩터링되어야합니다. 배열을 사용합니다.

편집 (pst) : 주어진 이름으로 값에 액세스해야하는 경우 a dictionary can be used. 발췌/예 :

+0

그럼, 다음 질문은 ... VBA에 사전/해시 지원이 있습니까? 여기서 Array/List가 적절하다고 들리는 반면, Dictionary는 "가변 변수"를 대체하는 일반적인 대체 프로그램입니다. –

+0

참조 http://stackoverflow.com/questions/1309689/hash-table-associative-array-in-vba – ThiefMaster

1

글쎄, 너는 할 수있어.

VBE를 조작하면 프로그램에 선을 추가 할 수 있으므로 원하는대로 변수를 정의 할 수 있습니다. 물론 이것은 쉬운 방법이 아니며 권장하지도 않습니다. 귀하의 정보를위한 것입니다.

Here is a tutorial.

더 많은 예제는 "VBE는 insertlines"

HTH 인터넷 검색을 찾을 수 있습니다!