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

작성자:  

 안상스키 (ashejs2)

추천:  2
파일:     조회:  1676
제목:   VBA sheets.range 범위 설정 오류
     
  Sub Data_set_total()

Dim fileNo As Variant
Dim fileAdd As String
Dim i As Integer
Dim ingFile As Workbook
Dim ingsheet As Worksheet
Dim sumbook As Workbook
Dim sumsheet As Worksheet
Set sumsheet = ThisWorkbook.ActiveSheet
Set sumbook = ThisWorkbook

fileNo = Application.GetOpenFilename(filefilter:="(*.csv*),*.csv*", MultiSelect:=True)

i = 0
   
   For i = 1 To UBound(fileNo)
        fileAdd = CStr(fileNo(i))
        Set ingFile = GetObject(fileAdd)
        Set ingsheet = ingFile.Worksheets(1)
        
        ActiveSheet.Cells(i, 1) = ingsheet.Cells(1, 1)
        ingsheet.Range("A1", "Z5").Copy
        ingsheet.Range(Cells(i, 1), Cells(i + 12, 1)).Copy
        
    Next
    
End Sub

------------------------------------------------------------------------------------
위와 같은 VBA 코드를 만들었습니다.
(간략한 설명 : 매크로 실행 후 파일 N개 선택하면 N개 엑셀 파일을 열지 않고 데이터를 한 곳으로 옮기는...)

        ingsheet.Range("A1", "Z5").Copy
        ingsheet.Range(Cells(i, 1), Cells(i + 12, 1)).Copy

Range 설정 시 "A1" 형식으로 설정하면 작동하지만,
Cells(i, 1) 형식으로 설정하면 오류가 발생합니다.

피드백 부탁드리겠습니다.
감사합니다.
 
[불량 게시물 신고]  
slgiingsheet.Range(ingsheet.Cells(i, 1), ingsheet.Cells(i + 12, 1)).Copy   로 수정해서 한번 해보세요06-05 (11:14)
삭제 ■신고
        
  

작성일 : 2020-06-04(15:38)
최종수정일 : 2020-06-04(15:39)