2012-12-31 2 views
2

이 셀 복사/붙여 넣기의 시작 위치에 대한 변수를 만들어야 다른 데이터의 참조 점으로 사용할 수 있습니다. 그게 가능하니? 구문에 대해서는 잘 모르겠습니다.셀 위치 변수 만들기

wbkCS.Worksheets("Cut Sheet").Range("S4:S2000").Copy 

With wbkVer.Worksheets("Cutsheets") 
    .Range("A" & .Rows.Count).End(xlUp).Offset(1).PasteSpecial xlPasteValues 
End With 

답변

8

다음은 이러한 범위를 Range 개체로 저장하는 구문입니다. 당신이 그 범위 중 하나에 대한 1 차 셀을 원한다면

dim firstRange as Range, secondRange as Range 

set firstRange = wbkCS.Worksheets("Cut Sheet").Range("S4:S2000") 

firstRange.copy 

With wbkVer.Worksheets("Cutsheets") 
    set secondRange = .Range("A" & .Rows.Count).End(xlUp).Offset(1) 
    secondRange.PasteSpecial xlPasteValues 
End With 

, 그것은 다음과 같이 될 것이다 :

firstRange.Cells(1,1)

+0

정확히 내가 무엇을 찾고 있었는지, 고마워요! :) – Mike

+0

+ 1 :) @Mike : 만약 당신이 당신의 질문에 대한 답변 으로이 게시물을 선택할 수 있습니다 소원 : –

+0

죄송합니다, 예! 나는 그것에 대해 잘하려고 노력한다. 다시 한 번 감사드립니다! – Mike

2

이미 답을 가지고뿐만 아니라 좋은 무엇을 할 수는 클립 보드를 방지하는 것입니다 함께 이런 식으로 :

Sub WithoutClipboard() 

'define the two ranges variables 
Dim firstRange As Range 
Dim secondRange As Range 

'set the range variables to specific ranges 
Set firstRange = wbkCS.Worksheets("Cut Sheet").Range("S4:S2000") 
With wbkVer.Worksheets("Cutsheets") 
    Set secondRange = .Range("A" & .Rows.Count).End(xlUp).Offset(1) 
End With 

'resize the second range so it exactly the same size as the first range 
With firstRange 
     Set secondRange = secondRange.Resize(.Rows.Count, .Columns.Count) 
End With 

'move the data without having to use copy/paste 
secondRange.Value = firstRange.Value 

End Sub 
+0

Ooo 나는 .value를 대신 사용합니다. 이 경우에는 그것에 대해서 생각조차하지 않았습니다. 고맙습니다! – Mike