이 게시판은 아별닷컴 회원만 질문을 올릴 수 있습니다. 회원에게 주어지는 특권인셈이지요. 회원이 아닌 분들은 열람만 가능합니다.
글 수 822
dim a1 as integer
dim i as integer
i=1
Sheets("Sheet1").Range(Range("c16").Offset((i - 1) * 7, a1), Range("c16").Offset((i - 1) * 7, 1364)).Value = Sheets("Sheet1_1").Range(Range("c16").Offset((i - 1) * 7, 0), Range("c16").Offset((i - 1) * 7, 1364 - a1)).Value
이렇게 로직을 짰는데 복사가 안되네요..왜 그런거죠???ㅠㅠ
다른시트의 내용을 복사해오려고 하는데 시트의 이동모습을 안보고....복사하고 싶어..이렇게 했거든여?
처음에 짠 내용은..
Sheets("Sheet1").select
Range(Range("c16").Offset((i - 1) * 7, a1), Range("c16").Offset((i - 1) * 7, 1364)).select
selection.copy
sheets("sheet1_1").select
range("c16").select
selection.paste
요런식으로 작성했던것 같아여... 이렇게하면... 실행은 되는데여... 시트이동이 눈에 보이더라구여...
질문다시한번 정리합니다.
Q) 다른시트의 내용 복사해올때... 그러면서offset조건을 주고.. (i의 값에 따른) 값만 복사해오려고 합니다.
어떻게 하면 될까여??
안녕하세요?
복사해서 붙여넣을때는 아래처럼 수식을 사용합니다.
복사할범위.copy 붙여넣을범위
다른 시트에 붙여넣으시려면 시트.범위로 정확히 지정해주셔야하구요.
원래 정확한 범위 지정은 아래와 같습니다.
Workbooks("웍북이름").Worksheets("시트이름").Range("셀주소")
Workbook과 Worksheet가 ActiveWorkbook이거나 ActiveSheet일 경우엔 생략이 가능해서
바로 Range("셀주소")로 사용하지만.. 기본적으로 ActiveSheet가 생략된 것이라는 것을 알고 계셔야합니다.
그래서 다른 시트를 지정할때면 대상시트.범위 로 하셔야합니다.
아래 코드를 참고하세요.
Sub copyToOtherSheet()
Dim i As Integer: i = 1
Dim a1 As Integer: a1 = 0
Dim shtSource As Worksheet
Dim shtTarget As Worksheet
Set shtSource = Sheets("Sheet1")
Set shtTarget = Sheets("Sheet1_1")
With shtSource
.Range(.Range("c16").Offset((i - 1) * 7, a1), .Range("c16").Offset((i - 1) * 7, 1364)).Copy shtTarget.Range("C16")
End With
End Sub
완젼한 친절한 설명이었습니다. ㅎㅎ