템플릿에 저장된 Excel 시트에서 작업 할 매크로를 작성하고 별도의 응용 프로그램에서 .xls 또는 .xlsx로 내 보냅니다. 이 매크로는 셀에 입력 된 수량에 따라 두 번 'x'번 복사하는 것입니다.Excel VBA : 런타임 오류 '1004': Range 클래스의 Select 메서드가 실패했습니다.
Sub Matrix_Quantity()
Dim x As Integer
x = ActiveWorkbook.Sheets("Inspection Sampling Matrix").Cells(11, 4)
Dim n As Integer
n = x - 1
For numtimes = 1 To n
'Loop by using x as the index number to make x number copies.
Sheets("Inspection Report").Columns("F:G").Select
Selection.Copy
Selection.Insert Shift:=x1 + nToRight
Next
End Sub
내가 겪고있는 문제는 매크로가 템플릿 (.xlt)과 함께 실행될 때 잘 실행된다는 것입니다. 템플리트가 .xls 또는 .xlsx로 변환 되 자마자 작업중에 얼룩이 생겨 런타임 오류가 발생합니다. 매크로를 디버깅 할 때 그것은
Sheets("Inspection Report").Columns("F:G").Select
내 느낌은 .XLS로 변환 할 때하지만 .XLT 통합 문서에서 열을 선택하거나 여전히 .XLT 통합 문서를 찾기 위해 노력하고있다 .xlsx '에 찾고되고 있다는 것입니다 강조 어떻게 또는 왜 그렇게하는지 확신 할 수 없습니다.
매크로 검사가 실행되는 순간 '검사 보고서'가 활성화되어 있지 않기 때문입니다. [** Select/Active 문 ** 사용을 피하는 방법] (http://stackoverflow.com/questions/10714251/excel-macro-avoiding-using-select)을 읽어보십시오. 열 ("F : G") 열과 행 ("F : G")으로 코드를 대체 할 수 있습니다. + nToRight' –
응답 해 주셔서 감사합니다. 코드를 플러그인하면 매크로를 실행해도 오류없이 오류가 발생합니다. "단순히 Microsoft Excel이 작동을 멈췄습니다"라는 오류가 발생합니다. – user3384820
사실, 여기에 할 일이 무엇인지 이해할 수 없습니다 : 'Shift : = x1 + nToRight'? 그것은'Shift : = xlToRight'일까요? –