현재 상황을 간단히 설명을 드리자면

딱히 뭐 코드(?)라고 할 것도 없을 정도로 매우 간단합니다.

하지만 문제는 정상적으로 실행이 되지 않는다는 것이 문제입니다.

현재 작성된 코드는 VBAProject(bbb.xlsx)에 속해 있는(혹은 저장되어 있는) 상태입니다.

그런데 이상한 점이 있습니다.

두 개 의 코드는 각각 다음과 같습니다.

(편의상 1번 코드, 2번 코드라고 하겠습니다.)

1번 코드

Sub 다른워크북에서복사()
Workbooks("aaa.xlsx").Worksheets("Sheet1").Range("A1:E1").Copy
End Sub

2번 코드

Sub 다른워크북에서복사()
Workbooks("aaa.xlsx").Worksheets("Sheet1").Range(Cells(1, 1), Cells(5, 1)).Copy
End Sub

1번 코드의 경우에는 오류가 발생하지 않는데 2번 코드의 경우 1004 Error 오류 메시지를

출력하면서 실행이 멈춰 버립니다.

1번 코드와 2번 코드에서 다른 부분은

Range("A1:E1")Range(Cells(1, 1), Cells(5, 1)) 밖에 없습니다.

Range("A1:E1")Range(Cells(1, 1), Cells(5, 1)) 둘 다 A1셀부터 E1셀까지를

의미하는 것으로 알고 있습니다.

그런데 왜... 어째서 Workbooks("aaa.xlsx").Worksheets("Sheet1") 다음에

.Range("A1:E1").Copy라고 입력하면 실행했을 때 정상 실행이 되고

.Range(Cells(1, 1), Cells(5, 1)).Copy 입력하면 실행했을 때 오류(1004 Error) 메시지가 발생하는 건가요?

이거 왜 이런 것인지 누구 설명해 주실 고수(고수가 아니시라도 잘 아신다면 대환영) 분 어디 없으신가요?

원래 작성하려던 것은

Sub 다른워크북에서복사()For c=1 to 20Workbooks("aaa.xlsx").Worksheets("Sheet1").Range(Cells(1, c), Cells(5, c)).CopyRange(Cells(1,c), Cells(5,c)).PasteSpecialApplication.CutCopyMode = FalseNext cEnd Sub

입니다. 그런데 Workbooks("aaa.xlsx").Worksheets("Sheet1").Range(Cells(1, c), Cells(5, c)).Copy

에서 넘어가질 않으니 원...

 

<<참고로 VBAProject(bbb.xlsx)가 아닌 VBAProject(aaa.xlsx)에서

Sub 다른워크북에서복사()
Workbooks("aaa.xlsx").Worksheets("Sheet1").Range("A1:E1").Copy
End Sub

작성하든

Sub 다른워크북에서복사()
Workbooks("aaa.xlsx").Worksheets("Sheet1").Range(Cells(1, 1), Cells(5, 1)).Copy
End Sub

둘 다 오류도 나타나지 않고 문제 없이 잘 실행이 되었다는 점을 알려 드립니다.>>