다른 통합 문서간에 데이터 복사본을 만들려고합니다. 통합 문서의 이름은 사용자가 파일 이름을 선택할 수있는 옵션이 주어지기 때문에 무작위 적으로 발생 했으므로 코드에 통합 문서 세트를 만들었습니다. 내 프로그램에 서브 루틴을 포함 시켰을 때 서브 스크립트가 범위를 벗어났습니다.서브 스크립트의 서브 스크립트 범위를 벗어남 오류
서브 루틴이 내 통합 정의를 계속 이해하는 방법에 대한 아이디어가 있으십니까? 당신은 WB 및 WB2 글로벌을해야
Option Explicit
Sub testwe()
Dim wb As Workbook, wb2 As Workbook, vFile As Variant
Set wb = ActiveWorkbook
vFile = Application.GetOpenFilename("Excel-files,*.xls", _
1, "Select One File To Open", , False)
'if the user didn't select a file, exit sub
If TypeName(vFile) = "Boolean" Then Exit Sub
Workbooks.Open vFile
Set wb2 = ActiveWorkbook 'set the opened file as wb2
Call test123
End Sub
sub test123()
wb.Worksheets("Sheet1").Range("A1") = wb2.Worksheets("Sheet1").Range("B1")
End Sub
Clear as mud. : – dotNET
어디에서 test123에 대해'wb'와'wb2'를 선언합니까?'Option Explicit'을 설정하지 않고 코드를 실행하면'Object Required' 오류가 발생합니다. 또한'wb2'에 워크 시트가 있습니다 'Sheet1'? –
@DougGlancy 당신 말이 맞아요, 내가 다시 한 번 내가 명시된 런타임 오류를 보여준 코드를 시도 .. 종류의 이상한. 나는 wb2 Sheet1을 가지고 확신합니다 – user1204868