関数だけでは、空白行を飛ばして、行を詰めることはできません。
方法1. 上の関数でコピーしたシートをすべて選択してコピー
→ セルA1で「値の貼り付け」(「形式を選択して貼り付け」から)
→ 空白行を1つずつ削除していく
方法2. 集計シートにマクロを作成する
下に マクロの例をかいておきました。
簡単に作成したマクロなので、実行時に画面がちらちらしますが
・・・
Sub summing()
Dim NoS As Integer
Dim RoS As Integer
Dim i, j As Integer
NoS = 2 '日報シートの数 日数分必要
RoS = 30 '日報の記入行数 多少多くてもOK
For i = 1 To NoS
For j = 1 To RoS
'日報のA列のデータが空白かどうかをチェック
If Worksheets(i).Cells(j, 1).Value <> ”” Then
Worksheets(i).Activate
'各日報のデータの列数によって Cells(j,3) の”3”の数字を変更
ActiveSheet.Range(Worksheets(i).Cells(j, 1), Worksheets(i).Cells(j, 3)).Select
Selection.Copy '日報の空白でない行をコピー
Worksheets(”集計シート”).Activate
'集計シートのデータ入力行の末尾の次の行を選択
Range(”A65536”).End(xlUp).Offset(1).Select
ActiveSheet.Paste '集計シートに貼り付け
End If
Next j
Next i
End Sub