2017-12-28 2 views
0

내 이전 질문 계속. 나는 약간의 진전을 이루었지만 다시 붙어있는 것 같아요.루프 내 불일치 오류 수정

나는 한 달 동안 하나씩 두 개의 루프를 만들었습니다. 기타는 숨겨진 상태로 유지되지만 각 파일의 위치를 ​​전달합니다. 다른 파일 ("Training1")에서 값을 가져 와서 현재 파일의 "2017 Actuals"로 가져 오십시오.

나는 부분을 테스트 한 그리고 내가 나에게 불일치 오류를 준다 다음에 잘못된거야 생각하지만, 어떤 조언이 도움이 될 것입니다 : 여기

Set wks = wkb.Sheets("Training1")

전체 코드 :

Private Sub UpdateActuals_Click() 
Application.DisplayAlerts = False 
Application.ScreenUpdating = False 
Application.AskToUpdateLinks = False 
Dim p As Integer 
Dim i As Integer 
For i = 1 To 12 
    If Me.Controls("Month" & i).Value = True Then 
     For p = 1 To 12 
     Dim wkb As Workbook 
     Dim wks As Workbook 
     Set wkb = Workbooks.Open(Me.Controls("Location" & p)) 
     Set wks = wkb.Sheets("Training1") 
     ThisWorkbook.Sheets("2017 Actuals").Range(i + 1, 5) = wks.Range("Start:Finish") 
     Next p 
    End If 
Next i 

wkb.Close 
Application.DisplayAlerts = True 
Application.AskToUpdateLinks = True 
Application.ScreenUpdating = True 

End Sub 

답변

1

wksWorksheet으로 신고해야합니다.

그래서 코드의 당신의 블록이으로 업데이트 :

If Me.Controls("Month" & i).Value = True Then 
    For p = 1 To 12 
    Dim wkb As Workbook 
    Dim wks As Worksheet ' Not Workbook 
    Set wkb = Workbooks.Open(Me.Controls("Location" & p)) 
    Set wks = wkb.Sheets("Training1") 
    ThisWorkbook.Sheets("2017 Actuals").Range(i + 1, 5) = wks.Range("Start:Finish") 
    Next p 
End If 
+0

감사합니다. 이것은 엄청 바보 같은 실수였습니다. – user8958702

+0

우리에게 최선을 다합니다. 때때로 그것은 두 번째 눈 집합입니다. –