| 
    
     |  | 出席簿を作っています。 毎日の様式(日簿)をVBAで増やしていき,
 週末(5日ごと)に週計の様式を出すよう考えました。
 様式を作っていくところまでは何とかできているのですが,
 
 一週間の欠席日数などを集計するVBAで躓いています。
 
 下記のようなものをつくりました。
 
 Sub 集計追加()
 
 MaxCol = Cells(1, Columns.Count).End(xlToLeft).Column
 
 
 If Sheet1.Cells(2, MaxCol) = "週計" Then
 Sheet1.Cells(4, MaxCol) = ""
 Sheet1.Cells(4, MaxCol + 8) = "欠課"
 Sheet1.Cells(4, MaxCol + 9) = ""
 End If
 
 Sheet1.Cells(5, MaxCol + 1) = WorksheetFunction.CountIf(Range(Sheet1.Cells(5, MaxCol - 1),Sheet1.Cells(5,MaxCol - 10)), "欠")
 
 
 End Sub
 
 これだと
 Sheet1.Cells(5, MaxCol + 1) = WorksheetFunction.CountIf(Range(Sheet1.Cells(5, MaxCol - 1),Sheet1.Cells(5,MaxCol - 10)), "欠")
 がエラーになりました。
 
 Sheet1.Cells(5, MaxCol + 1) = WorksheetFunction.CountIf(Range("Sheet1.Cells(5, MaxCol - 1),Sheet1.Cells(5,MaxCol - 10)"), "欠")
 でもエラーが出ました。
 
 Rangeの部分をRange("A5:AZ5")のようにするとカウントしてくれます。
 
 日簿が増えていくため,Range()の部分が変数になるので
 Cells()で表せないかと苦慮しています。
 
 セル範囲の設定Range()をCells()を使ってあらわすにはどうすればよいのでしょうか?
 または,ほかに良い方法があったら教えてください。
 よろしくお願いします。
 
 |  |