Excel VBA 오류-Cell (R, C). 붙여 넣기 [닫기]


0

Workbook1.WorkSheet1의 셀을 Workbook2의 셀로 복사하기 위해 Workbook0.Worksheet1에서 코드를 작성하고 있습니다.

코드는 다음과 같습니다.

Sub CopyInfo()  
    Dim WSCopy As Worksheet  
    Dim WSPaste As Worksheet  
    Set WSCopy = Workbooks(Cells(3, 4).Value).Worksheets("Sheet1")  
    Set WSPaste = Workbooks(Cells(4, 4).Value).Worksheets("Sheet1")  
    RowCopy = Range(Cells(11, 3)).Row  
    ColCopy = Range(Cells(11, 3)).Column  
    RowPaste = Range(Cells(11, 4)).Row  
    ColPaste = Range(Cells(11, 4)).Column  
    Data = "Data"  
    While Data <> ""  
        Data = WSCopy.Cells(RowCopy, ColCopy)  
        WSPaste.Cells(RowPaste, ColPaste) = Data  
        RowCopy = RowCopy + 1  
        ColCopy = ColCopy  
        RowPaste = RowPatse  
        ColPaste = ColPaste + 1  
    Wend  
End Sub

첫 번째 반복에서는 정상적으로 작동하고 두 번째 반복에서는 오류가 발생합니다.

누군가 내 실수가 어디인지 보여 주길 바랍니다.


어느 줄에 오류가 있습니까?
Joel Taylor

코드를 단계별로 검토하여 모든 값이 예상 한 값인지 확인할 수 있습니까? 내 생각에는 null 참조 또는 이와 유사한 것이 있습니다.
Dave

답변:


3

이 줄의 코드에서 오타로 인해 문제가 발생했다고 생각합니다.

RowPaste = RowPatse

VBA에서는 변수를 선언 할 필요가 없으므로 RowPaste새 빈 변형 값에 할당됩니다 RowPatse. 따라서 코드가 두 번째로 중단됩니다.

이런 종류의 오타 문제를 피하기 위해 Option Explicit모듈 상단에 추가 할 수 있습니다 . 이로 인해 코드에서 선언되지 않은 변수가 호출 될 때마다 컴파일러에서 오류가 발생합니다.

이 문제는 제쳐두고

ColCopy = ColCopy
RowPaste = RowPaste

그들은 아무것도하지 않기 때문에 그냥 제거 할 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.