다차원 배열을 만들어야하지만 배열의 높이를 모르겠습니다. 이 값을 가져 와서 변수에 저장합니다. 불행히도 배열을 선언 할 때 변수를 사용할 수 없기 때문에 상수를 사용해야합니다. 그래서 변수에서 상수를 선언 할 수 있다고 생각했지만 이전 줄에 "Constant Expression Required"라는 동일한 오류가 발생했습니다.VBA에서 기존 변수의 값을 기반으로 상수를 선언 할 수 있습니까?
lr = Tables.Cells(Rows.Count, 1).End(xlUp).Row
Const constlr As Integer = lr
Dim TableNamesArr(2 To constlr, 1 To 4) As String
Dim i As Integer, j As Integer
For i = 2 To lr
For j = 1 To 4
TableNamesArr(i, j) = Tables.Cells(i, j).Value
Next j
Next i
현재 3 문제입니다 라인 - 정수 = LR
으로 헌장의 constlr하지만 난 그 라인을 제거하고 LR 모든 constlr를 변경하는 경우, 그것은 라인 5 - Dim TableNamesArr(2 To lr, 1 To 4) As String
은.
Const constlr As Integer = lr
Const constlr As Integer = 102
에 : 나는 변경하는 경우
는
하여 LR, 그것은 정수 또는 상수가 아니라 변수
코드는 잘 작동 정수를 유지 할 문제 필요가있다
코드의 어느 부분에서 오류가 발생합니까? –
현재 3 - Const constlr As Integer = lr 그러나 해당 행을 제거하고 모든 constlr을 lr로 변경하면 행 5 - Dim TableNamesArr (2에서 lr, 1에서 4로) String. lr은 문제이거나 정수 또는 상수 일 필요가 있지만 정수를 포함하는 변수가 아님 –
주 (제목) 질문에 대한 답은 ** 아니요,이 작업을 수행 할 수 없습니다 ** 증명은 귀하의 것입니다 질문과 시험 (마지막 몇 줄). 제 질문은 왜 당신이'lr'을 상수로 설정해야한다고 생각합니까? 상수 정의를 생각해보십시오. 변경되지 않지만 변경하려고하는 것입니다. 그것은 감각을 만들지 않습니다. –