2011-12-02 6 views
3

예외가있는 VBA 배열을 선언하면 VBA에서 줄에 상수가되어야합니다. 이걸 처음 봤어. 여기 무슨 일 이니? 다음 코드에서

Dim boundary As Integer 
boundary = distrib.Count 

Dim vals(1 To boundary) As Variant 
For i = 1 To boundary 
    vals(i) = distrib(i, 3) + distrib(i, 4) 
Next i 

distrib

이 아닌 상수 값으로 고정 된 크기 어레이를 선언 할 수

답변

2

변형 선언 배열이고; 대신 동적 배열 (크기 생략)으로 선언 한 다음 원하는 경계로 다시 크기를 조정해야합니다.

Dim vals() As Variant 
ReDim vals(1 To boundary) 
+0

VBA 그렇게 나쁜 짜증 ... –

2

변수 선언과 동일한 작업으로 데이터를 할당 할 수 없습니다. 그러나 당신이 변수에 다음 ReDim을 수하는 Redim 대신

Dim boundary As Long 
boundary = 10 
Dim vals() As Variant 
ReDim vals(1 To boundary) 
2

당신은 변수 경계에 처음 배열을 선언 can'd보십시오 :

Dim boundary As Integer 
boundary = distrib.Count 

Dim vals() as Variant 
ReDim vals(1 To boundary) 
For i = 1 To boundary 
    vals(i) = distrib(i, 3) + distrib(i, 4) 
Next i 
관련 문제