1
タイトルが混乱している場合はごめんなさい。シートに1行のデータ行がある場合、合計式が表示されない
私は複数のシートを持っています、私のコードは、各シートを通過する、計算時間/コスト&残りの値を入力します。素晴らしいことですが、問題が1つあります。
問題:ヘッダーの下に1行のデータしかない場合は、合計期間&を挿入する合計期間は、&で表示されません。
正確な問題例:複数行のデータがあるかどう
Start Time Duration Calling Name Dialed Number Cost
6/2/2016 8:58 0:01:15 BLANK_F333 1303900000 $0.12
Total Duration: Total Cost:
ここで正確な例が出ます。
Start Time Duration Calling Name Dialed Number Cost
6/1/2016 15:07 0:30:55 BLANK_I380 6052340000 $3.72
6/3/2016 12:26 0:05:40 BLANK_I380 1605230000 $0.72
6/6/2016 13:49 0:00:08 BLANK_I380 1605380000 $0.12
6/6/2016 13:50 0:00:08 BLANK_I380 1605380000 $0.12
6/6/2016 13:51 0:01:15 BLANK_I380 1605320000 $0.12
6/16/2016 8:29 0:01:42 BLANK_I380 1703290000 $5.04
Total Duration: 0:39:48 Total Cost: $9.84
単列データシートを出力する方法がわかりません。
コード
Sub FormatEntry()
Dim TotalCost As Double
Dim TotalTime As Double
Dim LastRow As Long
For Each ws In ActiveWorkbook.Worksheets
On Error Resume Next 'Will continue if an error results
With ws
.Range("E:E").NumberFormat = "_-[$$-40B]* #,##0.00_ ;_-[$$-40B]* -#,##0.00 ;_-[$$-40B]* ""-""??_ ;[email protected]_ "
.Range("E2").End(xlDown).Offset(1, 0).Value = _
WorksheetFunction.Sum(.Range("E2:E" & .Cells.SpecialCells(xlLastCell).Row))
.Range("B2").End(xlDown).Offset(1, 0).Value = _
Format(WorksheetFunction.Sum(.Range("B2:B" & .Cells.SpecialCells(xlLastCell).Row)), "hh:mm:ss")
.Range("A1").End(xlDown).Offset(1).Font.Bold = True
.Range("A1").End(xlDown).Offset(1).Value = "Total Duration:"
.Range("D1").End(xlDown).Offset(1).Font.Bold = True
.Range("D1").End(xlDown).Offset(1).Value = "Total Cost:"
.Range("B" & Rows.Count).End(xlUp).Row = LastRow
End With
Next ws
End Sub
私はその抜粋を試しました。総継続時間は素晴らしいものの、コストには依然として同じ問題がありました。 – CeFu
@CeFu - 列Eを見下ろして、列に他のテキストがないことを確認します。列Eに表示されている最後の行に移動し、Ctrl +を押します。何が起こるのですか?また、別のソリューションのための私の編集を参照してください。 –
私はそれを120k行下にしました。それはとても奇妙でした!ありがとう! – CeFu