2017-10-20 2 views
0

하나의 워크 시트에서 다른 셀로 여러 셀을 복사하려고합니다. 잘못된 숫자의 인수 또는 잘못된 속성 할당 오류 메시지가 나타납니다.여러 범위를 워크 시트에서 다른 워크 시트로 복사

Range("D10:D12,D15,D22,D25,D32:D33,D38:D42,D47:D50,D53,D55,D57,D63").Select 
Range("G3").Select 
Selection.Copy 
Sheets("Sheet3").Select 
'Range("I4").End(xlUp).Select 
lMaxRows = Cells(Rows.Count, "I", "AD").End(xlUp).Row 
Range("I", "AD" & lMaxRows + 1).Select 
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ 
    :=False, Transpose:=True 
Sheets("Sheet1").Select 
Range("I4", "AD").Select 

귀하의 도움을 바랍니다.


나는 유니온을 사용해 보았지만 해결책을 찾지 못했습니다. 여기에 내가 지금 가지고있는 코드가있다

Dim r1 As Range, r2 As Range, multiRange As Range 

Set r1 = Sheets("Sheet1").Range("D10:D12,D15,D22,D25,D32:D33,D38:D42,D47:D50,D53,D55,D57,D63") 
Set r2 = Sheets("Sheet1").Range("G3") 
Set multiRange = Union(r1, r2) 
Application.Union(r1, r2).Select 
Selection.Copy 
Sheets("Sheet3").Select 
'Range("I4").End(xlUp).Select 
lMaxRows = Cells(Rows.Count, "I").End(xlUp).Row 
Range("I" & lMaxRows + 1).Select 
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ 
    :=False, Transpose:=True 
Sheets("Sheet1").Select 
Range("I4").Select 

오류 메시지 내가 아는 것은 알고있다. 그 명령은 여러 선택에서 사용할 수 없다. 강조 표시된 코드는 SELECTION.COPY입니다.

+0

여기서 전체 오류를 게시하십시오. –

+0

'셀 (Rows.Count, "I", "AD"). End (xlUp) .Row' 이것은 유효하지 않습니다. '세포'는 2 개의 주장만을 요구한다. 그것은 셀 (Rows.Count, "I")'또는'셀 (Rows.Count, "AD") 중 하나입니다. – L42

+0

코드의 첫 번째 줄이 왜입니까? 다음 줄이 우선합니다. ... 가능하다면 항상 객체 속성과 메소드를 정규화해야합니다 ... 'Range ("G3")를 사용하십시오. 2 행 및 3 행 대신에 복사하십시오. – jsotola

답변

0

아래 코드는 Sheet ("Sheet1")에 Sheet1이 있고 Sheet3에 대해 CodeName이 "Sheet1"인 것으로 가정합니다. 일반적으로 코드에서 시트 CodeName을 사용해야합니다.

Dim SourceArea As Range 
Dim TargetArea As Range 
Dim CopyRange As Range 

Set CopyRange = Sheet1.Range("D10:D12,D15,D22,D25,D32:D33,D38:D42,D47:D50,D53,D55,D57,D63") 

For Each SourceArea In CopyRange.Areas 
    Set TargetArea = Sheet3.Range(SourceArea.Address) 
    TargetArea.Value = SourceArea.Value 
Next 

편집 : 위의 내용은 Sheet1의 범위와 정확히 같은 위치에 Sheet3에 붙여 넣습니다. 다른 위치에 붙여 넣으려면 간격 띄우기를 사용하십시오. 예를 들어 대상의 왼쪽 상단 셀을 I20으로 설정하려면 다음을 입력하십시오.

Set TargetArea = Sheet3.Range(SourceArea.Address).Offset(10,5) 
+0

'Sheet1.Range ("D10 : D12, D15, D22, D25, D32 : D33, D38 : D42, D47 : D50, D53, D55, D57, D63")의 범위에 여기에 셀을 추가 할 수 있습니까? 이 코드에서 sheet3에 붙여 넣은 데이터는 어디에 있습니까? "I"에 붙여 넣을 수 있습니까? –

관련 문제