|
=========[김영준님 글에 대한 답변입니다]==
voice님의 도음으로 필요한 일을 잘 처리할 수 있어서 감사합니다.
조언에 따라 다음과 같이 코드를 변경했습니다.
그리고 잘 사용하고 있습니다.
감사합니다.
Sub copy01()
Dim k As Integer
Dim ws As String
Dim obj As String
Dim wsObj As String
wsObj = "코스피"
For k = 1 To 32
ws = IIf(k = 1, wsObj, wsObj & " (" & k & ")")
obj = IIf(k = 1, wsObj, wsObj & "__" & k)
Workbooks("koStocks.source").Worksheets(ws).ListObjects(obj).DataBodyRange.Copy
Workbooks("koStocks").Worksheets("koStocks").Cells(Rows.Count, 4).End(3)(2).PasteSpecial Paste:=xlPasteValues
Next k
end sub
이 코드에서 for each 구문을 사용하면 더 편리하고, 열어야 할 시트수를 세지 않아도 코드 수정없이 유지관리할 수있을 것 같습니다.
혹시 코드를 잘 가르쳐주시면 더 감사하겠습니다. |
|