2017-05-04 2 views
-1

현재 내가 어디에 있는지 알 수 없으므로 찾기로 필요한 데이터를 찾으려고하고 다른 시트에 열 아래로 데이터를 복사합니다. 나는 이것을 여러 번해야한다.선택 복사 및 붙여 넣기 오류

.range(Selection, Selection.End(xlDown)).Select 

내 코드

Dim ran, r As range 
With Sheet2 
    Set ran = .Cells.find(What:="User Defined Label 4", LookIn:=xlValues, LookAt:=xlWhole) 
    ran.Select 
    .range(Selection, Selection.End(xlDown)).Select 
    Selection.Copy 
    Sheet9.range("A1").PasteSpecial 

    Set r = .Cells.find(What:="V Align", LookIn:=xlValues, LookAt:=xlWhole) 
    r.Select 
    .range(Selection, Selection.End(xlDown)).Select 
    Selection.Copy 
    Sheet9.range("B1").PasteSpecial 
End With 

답변

0

몇 가지를 :

그러나, 나는 개체 변수 또는 블록 변수가 내 두 번째 발견에 설정되어 있지으로 오류가 계속, 그것은 라인에의 당신에 관한 의견 :

Dim ran, r As range 의미는입니다.은 Variant이고 rRange입니다.

2 필요가 없다합니다 :

3.

.Range(Ran, Ran.End(xlDown)).Copy 
Find이를 찾을 수 있었다 확인하십시오 : 그냥 완전히 어떤 Select ING없이 Range을 유자격 사용하십시오

ran.Select 
.range(Selection, Selection.End(xlDown)).Select 
Selection.Copy 

을 찾으려는 문자열/값은 If Not Ran Is Nothing Then입니다.

Option Explicit 

Sub UseFind() 

Dim Ran As Range, r As Range 

With Sheet2 
    Set Ran = .Cells.Find(What:="User Defined Label 4", LookIn:=xlValues, LookAt:=xlWhole) 
    If Not Ran Is Nothing Then ' <-- make sure Find was successful 
     .Range(Ran, Ran.End(xlDown)).Copy 
     Sheet9.Range("A1").PasteSpecial 
    End If 

    ' add your second "Find" here 

End With  

End Sub 
+0

아 내가 달릴 생각 r은 같은 것입니다 :

아래 코드를 사용해보십시오! v는 범위 객체를 사용하는 방법에 대해 확실하지 않으므로 온라인에서 코드를 뽑았습니다! 당신의 도움을 주셔서 감사합니다 ! –

+0

예, 작동 중입니다! 정확히 일치하는 것을 사용하지 않기 위해 find를 사용하는 방법을 물어봐도 될까요 –

+0

@RachelChia는'LookAt : = xlWhole'을'LookAt : = xlPart'로 변경합니다. –

관련 문제