2017-02-16 1 views
0

데이터 수집을 위해 시트 "이전 주 앱"을 사용하는 코드를 사용하고 동일한 시트에서 개수를 업데이트합니다.통합 문서의 여러 시트에서 VBA 코드 실행

버튼을 만들었으므로 버튼을 통해이 코드를 실행하려고합니다. 라인에서 "개체 필요"로 실행에

내가 오류를 얻을

[W5] = wf.CountIf(.Range("I:I"), "Trophy") 

내 코드 :

Sub Prevcount() 

Sheets("Previous Week apps") 

With ActiveWorkbook.Worksheets("Previous week apps") 
    [W5] = wf.CountIf(.Range("I:I"), "Trophy") 
End With 

With ActiveWorkbook.Worksheets("Previous week apps") 
[W7] = wf.CountIfs(.Range("I:I"), "Trophy", .Range("E:E"), "COMPATIBLE") 
End With 

With ActiveWorkbook.Worksheets("Previous week apps") 
[W9] = wf.CountIfs(.Range("I:I"), "Trophy", .Range("F:F"), "COMPATIBLE") 
End With 

With ActiveWorkbook.Worksheets("Previous week apps") 
[W11] = wf.CountIfs(.Range("I:I"), "Trophy", .Range("Q:Q"), "UG") 
End With 

End With 
End Sub 
+0

'Sheets ("이전 주 앱")이 ('이전 주 앱 ')' ")'(코드 끝에있는'End With'와 일치시키기 위해)'With' 블록으로 무엇을하고 있습니까? 코드에서 코드를 사용하고있는 것은 아무것도 없습니다. – YowE3K

+0

@ YowE3K 그래서 'Sheets ("이전 주 앱")'으로 변경해야합니까? –

답변

1

(당신은 당신의 코드가 ThisWorkbookActiveWorkbook 대체) 짧은 버전을 사용해보십시오 :

Sub Prevcount() 

With ThisWorkbook.Worksheets("Previous week apps") 
    .Range("W5").Value = WorksheetFunction.CountIf(.Range("I:I"), "Trophy") 
    .Range("W7").Value = WorksheetFunction.CountIfs(.Range("I:I"), "Trophy", .Range("E:E"), "COMPATIBLE") 
    .Range("W9").Value = WorksheetFunction.CountIfs(.Range("I:I"), "Trophy", .Range("F:F"), "COMPATIBLE") 
    .Range("W11").Value = WorksheetFunction.CountIfs(.Range("I:I"), "Trophy", .Range("Q:Q"), "UG") 
End With 

End Sub 
+0

'.Range ("W5")에 객체 요청 오류가 발생했습니다 .Value = wf.CountIf (.Range ("I : I"), "Trophy")' –

관련 문제