Backstory:私はPBXサーバーから電話記録を取り除いています。私は&長距離通話を調整しています。私はすでにローカルフリーダイヤル&をフィルタリングしました。ブックをテナントの名前で分割しました。以下のマクロは、&というフォーマットで、その呼び出しの合計コスト&の合計金額を計算しています。ワークブック内のすべてのシート間の列を正しく集計しない
問題:マクロがすべての電話呼び出し行を正しく選択していません(私は有益です)。最初のシートを正しく計算することができます(私はすべての電話呼び出し行を選択します)が、他のシートに移動すると、すべてを正確に合計することはできません。
正確なエラーシート:
Start Time Duration Calling Name Dialed Number Cost
6/1/2016 15:07 0:30:55 BLANK_I380 NUMBER $3.72
6/3/2016 12:26 0:05:40 BLANK_I380 NUMBER $0.72
6/6/2016 13:49 0:00:08 BLANK_I380 NUMBER $0.12
6/6/2016 13:50 0:00:08 BLANK_I380 NUMBER $0.12
6/6/2016 13:51 0:01:15 BLANK_I380 NUMBER $0.12
6/16/2016 8:29 0:01:42 BLANK_I380 NUMBER $0.24
Total Duration: 0:02:50 Total Cost: $0.72
最初に正しいシート
Start Time Duration Calling Name Dialed Number Cost
6/1/2016 9:20 0:00:09 BLANK Shining_I113 1313600000 $0.12
6/1/2016 9:25 0:00:22 BLANK Shining_I113 1248600000 $0.12
6/1/2016 9:26 0:00:54 BLANK Shining_I113 1248600000 $0.12
Total Duration: 0:01:25 Total Cost: $0.36
コード
Sub FormatEntry()
Dim TotalCost As Double
Dim TotalTime As Double
For Each ws In ActiveWorkbook.Worksheets
On Error Resume Next 'Will continue if an error results
ws.Range("E:E").NumberFormat = "_-[$$-40B]* #,##0.00_ ;_-[$$-40B]* -#,##0.00 ;_-[$$-40B]* ""-""??_ ;[email protected]_ "
ws.Range("A1").End(xlDown).Offset(1).Font.Bold = True
ws.Range("A1").End(xlDown).Offset(1).Value = "Total Duration:"
ws.Range("D1").End(xlDown).Offset(1).Font.Bold = True
ws.Range("D1").End(xlDown).Offset(1).Value = "Total Cost:"
ws.Range("E2").End(xlDown).Offset(1, 0).Value = _
WorksheetFunction.Sum(Range("E2:E" & Cells.SpecialCells(xlLastCell).Row))
ws.Range("B2").End(xlDown).Offset(1, 0).Value = _
Format(WorksheetFunction.Sum(Range("B2:B" & Cells.SpecialCells(xlLastCell).Row)), "hh:mm:ss")
Next ws
End Subの
「On Error」を取り出すと、どのようなエラーがスローされますか?どれか?それとも、正確には実行されませんか? – BruceWayne