나눔터  
  HOME > 나눔터 > 묻고답하기 > 엑셀
엑셀
엑셀에 대한 질문과 답변을 올려주세요. 단, 취지에 맞지 않는 글은 운영자가 삭제합니다.
 "000 님, 도와주세요", "부탁 드립니다.", "급합니다!" 등과 같이 막연한 제목을 달지 말아주세요.
[필독] 빠르고 정확한 답변을 얻는 16가지 Tip !
[필독] 저작권법 개정에 따른 이용안내

작성자:  

 야신월 (wonmm92)

추천:  2
파일:     조회:  1423
제목:   VBA 배열 세로 입력 첨자 오류 좀 봐주실 수 있을까요
     
  * 답변하시는 분들께 도움이 되도록 자신의 환경을 아래 항목 옆에 기재해 주세요.

 - 엑셀 버전(95,97,2000,xp,2003,2007):

* 아래줄에 질문을 작성하세요 >>




Sub testasdsadadasd()

    Dim rngAll As Range
    Dim rngC As Range
    Dim r As Long
    Dim varTemp()
    Dim i As Integer
    
    With ActiveSheet.UsedRange
        Set rngAll = .Offset(4, 3).Resize(.Rows.Count - 4, .Columns.Count - 3)
    End With
    
    For Each rngC In rngAll
        If Not IsEmpty(rngC) Then
            If rngC.Value = "2020-08-13" Then
                For i = 1 To rngC.Count
                r = r + 1
                ReDim Preserve varTemp(1 To 1, 1 To r)
                varTemp(1, r) = Cells(1, rngC.Column) & Cells(2, rngC.Column) & Cells(3, rngC.Column) & "" & Cells(rngC.Row, 1) & Cells(4, rngC.Column)

                Next i
            End If
        End If
    Next rngC
    
   Sheets("Sheet2").Cells(1, 1).Resize(1, UBound(varTemp, 2)) = varTemp
   Sheets("Sheet2").Columns.AutoFit


이렇게 작성하면 해당하는 값을 가로로 다른 시트에 뿌려줄 수 있는데

세로로 배치하려고 
ReDim Preserve varTemp(1 To 1, 1 To r) 이걸 
ReDim Preserve varTemp(1 To r , 1 To 1) 으로,

varTemp(1, r) 이걸
varTemp(r, 1)으로 바꾸니까 첨자오류가 나네요 ㅠㅠㅠ

제가 전문적으로 공부를 하고 고치고 있는게 아니라 
한편으로는 구글링하면서 한편으로는 코드를 하나하나 실행해보면서 하다
결국 한계에 부딪혔습니다 ㅠㅠㅠㅠㅠㅠㅠ

고수님들의 가르침 부탁드려요

좋은 주말되세요 
    
End Sub
 
[불량 게시물 신고]  
slgihttps://guslabview.tistory.com/132

Preserve를 빼고 사용해 보세요
07-20 (11:18)
삭제 ■신고
야신월정말 감사합니다 드디어 오류 탈출했네요07-20 (12:16)
삭제 ■신고
        
  

작성일 : 2020-07-19(13:59)
최종수정일 : 2020-07-19(13:59)