ワークブック全体を調べて、従業員の勤務日数をカウントするマクロを作成しようとしています。シートには作業が日単位で分割されているため、T が見つけなければならないのはゼロではない日だけです。使用しようとしましCOUNTIF(A11:A12,">0")
たが、エラーが発生しますExpected : list separator or )
。ループを使用しFor Each
てシートを処理しています。ワークブックの最後にある新しいシートに、すべての情報を従業員の名前と勤務日数とともに入れたいと思います。私はビジュアル ベーシックは初めてですが、C# はかなり得意です。
今ここまでたどり着きました
Option Explicit
Sub WorksheetLoop2()
' Declare Current as a worksheet object variable.
Dim Current As Worksheet
Dim LastColumn As Integer
If WorksheetFunction.CountA(Cells) > 0 Then
' Search for any entry, by searching backwards by Columns.
LastColumn = Cells.Find(What:="*", After:=[A1], _
SearchOrder:=xlByColumns, _
SearchDirection:=xlPrevious).Column
End If
' Loop through all of the worksheets in the active workbook.
For Each Current In Worksheets
Current.Range("A27") = Application.WorksheetFunction.CountIf(Current.Range(Cells(11, LastColumn), Cells(16, LastColumn)), ">0")
Current.Range("A28") = Application.WorksheetFunction.CountIf(Current.Range("Al17:Al22"), ">0")
Next
End Sub
これを実行すると、というエラーが表示されますmethod range of object'_worksheet' failed
。また、要約シートのすべての情報を取得する方法を見つけることができませんでした。