(VBA)Splitの抜き出しが上手くいかない
以下のようなコードで「指定区切り文字」の前後で文字列を切り出しています。
添付画像見てもらえれば判ると思いますが
B8セルからのB列の値が「29:08」が正解なのに
「29:08:00」と最後に「:00」が付いた形式になっています。
(B13で1時間を過ぎると正常になっています。)
このため、以後のE及びF列の書き出しもおかしな値となりました。
どのように修正すれば良いでしょうか ?
Option Explicit
Sub Chapter_Plus()
Dim I As Long
Dim J As Long
Dim TEMP As Variant
Dim SepChr As String
Dim WS1 As Worksheet
Dim WS2 As Worksheet
Dim EndLow As Long
Dim LineData As String
Dim OutText As String
Dim byteData() As Byte '一時格納用
Set WS1 = Worksheets("DATA")
Set WS2 = Worksheets("Chapter")
'シートの初期化
WS1.Range("B3:H100").Clear
WS2.Range("A1:A100").Clear
SepChr = InputBox("指定文字を入力してください。", "区切り文字入力", " ")
'TotalLength = InputBox("時間を(h:mm:ss)で入力してください。", "ファイルサイズ入力")
EndLow = WS1.Cells(Rows.Count, "A").End(xlUp).Row
With WS1
'区切り文字で切り出す
For I = 3 To EndLow
TEMP = Split(.Cells(I, "A"), SepChr)
.Cells(I, "B") = TEMP(0)
.Cells(I, "C") = TEMP(1)
Next
'仮チャプター書き出す
For I = 3 To EndLow
.Cells(I, "E").Value = Format(.Cells(I, "B").Value, "hh:mm:ss")
.Cells(I, "F").Value = Format(.Cells(I + 1, "B").Value, "hh:mm:ss")
.Cells(I, "G").Value = .Cells(I, "C").Value
Next
'番号
For I = 3 To EndLow
.Cells(I, "H").Value = CStr(Format(I - 2, "'00"))
Next
End With
End SUB
お礼
ありがとうございました!できました。