2014-07-01 3 views
0

C3-CX 컬럼의 Excel 파일에 값이 있습니다. 그것은 임의의 수의 행을가집니다. 이제 그 값을 배열로 읽고 싶습니다. 문제는 두 번째 행이 모두 비어 있고 배열에 빈 공간을 포함하지 않으므로 필드가 비어있을 때까지 while 루프를 수행 할 수 없다는 것입니다. 어떻게 문제를 해결할 수 있습니까? 첫 번째 열을 배열로 읽고 싶습니다. [종피, teste] 다음과 같은조건이 충족 될 때까지 값을 배열로 읽어들입니다.

(Col C:2) (Col D:2) 
    testa test2 
      test 
    teste test 
      test 
+2

[스프레드 시트를 먼저 배열에로드] (http://stackoverflow.com/questions/18481330/2-dimensional-array-from-range/18481730#18481730) 배열을 뒤로 반대로 만들고 빈을 제거하십시오 –

+0

수 있습니다 범위를 정렬하지 않니? 빈 행을 제거하는 쉬운 방법입니다. –

답변

0

뭔가

Function read_array(inputRange As Range) As String() 
    Dim element_count As Integer, i As Integer 

    element_count = Application.WorksheetFunction.CountA(inputRange) 
    ReDim outArray(1 To element_count) As String 
    y = 1 
    For i = 1 To element_count 

    Do While IsEmpty(inputRange(y)) 
    y = y + 1 
    Loop 
    outArray(i) = inputRange(y) 
    y = y + 1 
    Next 
    read_array = outArray 
    End Function 

하면 (C : C) read_array으로 이것을 호출 할 수 있습니다 작동합니다. 출력은 행 배열이됩니다.

관련 문제