私の目的は、すべての行の時間間隔を調べる必要があります。 1秒間に1秒かかるはずですが、11時40分まで表示されますが、大きなものがあります。例えば、時間A3-A2 = B1である。私はすでにこの問題を解決しました。私のコードは以下の通りです。[VBA]列の最後に無駄な0をすべて削除する方法
正常に実行されますが、B列の最後には00:00:00という長いリストがあります。私は列Bの最後の数を列Aと一致させたい、つまり列Bを意味し、Aは同じ長さでなければならない。最後は00:00:00です。
Sub CalculateTimeGap()
Columns("B:B").Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
Range("A1").Value = "Time"
Columns("A:A").NumberFormat = "hh:mm:ss"
Columns("B:B").Formula = "=A2-A1"
Range("B1").Value = "Time Difference(s)"
Columns("B:B").NumberFormat = "hh:mm:ss"
lRow = Cells(Rows.Count, 1).End(xlUp).Row
End Sub
Time Time Difference(s)
11:28:37 00:00:01
11:28:38 00:00:01
11:28:39 00:00:01
11:28:40 00:11:35
11:40:15 00:00:01
11:40:16 00:00:01
11:40:17 00:00:01
11:40:18 00:00:01
00:00:00
00:00:00
00:00:00
00:00:00
00:00:00
00:00:00
00:00:00
00:00:00
00:00:00
00:00:00
00:00:00を削除するためにコードを内部に追加しようとしましたが、機能しませんでした。
あなたは、列Bに式を使用することができますSub CalculateTimeGap()
Columns("B:B").Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
Range("A1").Value = "Time"
dim LR as variant
LR=application.count(range("A:A"))
Columns("A:A").NumberFormat = "hh:mm:ss"
Columns("B2:B"&LR).Formula = "=A2-A1"
Range("B1").Value = "Time Difference(s)"
Columns("B:B").NumberFormat = "hh:mm:ss"
lRow = Cells(Rows.Count, 1).End(xlUp).Row
End Sub