메뉴
미해결

디버그 에러의 원인을 찾아주세요 !

이
9월 25일 조회 666
Sub ArrayToRng(startRng As Range, Arr As Variant, Optional ColumnNo As String = "")

'###############################################################
'▶ ArrayToRng 함수
'▶ 배열을 범위 위로 반환합니다.
'▶ 인수 설명
'_____________startRng : 배열을 반환할 기준 범위(셀) 입니다.
'_____________Arr : 반환할 배열입니다.
'_____________ColumnNo : [선택인수] 배열의 특정 열을 선택하여 범위로 반환합니다. 여러개 열을 반환할 경우 열 번호를 쉼표로 구분하여 입력합니다.
' 값으로 공란을 입력하면 열을 건너뜁니다.
'▶ 사용 예제
'Dim v As Variant
'ReDim v(0 to 1)
''v(0) = "a" : v(1) = "b"
'ArrayToRng Sheet1.Range("A1"), v
'▶ 사용된 보조 명령문
'Extract_Column 함수
'##############################################################

On Error GoTo SingleDimension:

Dim Cols As Variant: Dim Col As Variant
Dim X As Long: X = 1
If ColumnNo = "" Then
startRng.Cells(1, 1).Resize(UBound(Arr, 1) - LBound(Arr, 1) + 1, UBound(Arr, 2) - LBound(Arr, 2) + 1) = Arr
Else
Cols = Split(ColumnNo, ",")
For Each Col In Cols
If Trim(Col) <> "" Then
startRng.Cells(1, X).Resize(UBound(Arr, 1) - LBound(Arr, 1) + 1) = Extract_Column(Arr, CLng(Trim(Col)))
End If
X = X + 1
Next
End If
Exit Sub

SingleDimension:
Dim tempArr As Variant: Dim i As Long
ReDim tempArr(LBound(Arr, 1) To UBound(Arr, 1), 1 To 1)
For i = LBound(Arr, 1) To UBound(Arr, 1)
tempArr(i, 1) = Arr(i)   '여기에러
Next
startRng.Cells(1, 1).Resize(UBound(Arr, 1) - LBound(Arr, 1) + 1, 1) = tempArr

End Sub

재고관리 sheet에서 상세금액을 하면 에러의 발생원인을 찾지 못하겠습니다
이부분의 원인을 찾아주세요

 

댓글 3

원
원조백수 9월 25일
Arr가 열이 1개뿐인 2차원 배열이라도 아래처럼 표시해야 합니다. 
tempArr(i, 1) = Arr(i, 1)
슈
슈토파이터 9월 26일
좋은 정보 감사 합니다
찬
찬바람 9월 29일
해결이 되면 마감 좀 해주세요

질문답변 게시판의 최근 글

스크랩 완료