|
出席簿を作っています。
毎日の様式(日簿)を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()を使ってあらわすにはどうすればよいのでしょうか?
または,ほかに良い方法があったら教えてください。
よろしくお願いします。
|
|