네이버지식인에 srt 자막의 타임코드 오류가 발생한 것을 수정하는 걸 해보고 싶어서 해봤는데 생각외로 오류가 있는 부분 때문에 시간이 많이 걸렸다.
Sub CellClear()
Dim rngC As Range '// 선택영역 각 셀을 넣을 변수
Dim rngAll As Range '// 선택영역 전체 범위 변수
Cells(2, "A").Select
Application.ScreenUpdating = False '// 화면 업데이트 (일시)정지
If Cells(Rows.Count, "A") > Cells(Rows.Count, "B") Then
Range([A1], Cells(Rows.Count, "A").End(3)).Offset(1).EntireRow.Clear
Else
Range([B1], Cells(Rows.Count, "B").End(3)).Offset(1).EntireRow.Clear
End If
Range([A2], Cells(Rows.Count, "B")).NumberFormat = "@" '// 텍스트 서식으로
End Sub
Sub 번호매기기()
Dim rngC As Range
Dim i As Long
For Each rngC In Range([A2], Cells(Rows.Count, "A").End(3))
i = i + 1
rngC.Offset(0, 2) = i
Next rngC
End Sub
Sub srt자막수정()
Dim rngC, rngAll As Range
Dim v, v1, v2, s1, s2
Set rngAll = Range([A2], Cells(Rows.Count, "A").End(3))
For Each rngC In rngAll
If InStr(rngC, "-->") > 0 Then
v = Split(rngC, "-->")
v1 = Split(Trim(v(0)), ":")
v2 = Split(Trim(v(1)), ":")
If Len(v1(2)) > 5 Then
Debug.Print "v1 자리수 : " & v1(2) & " 행번호 = " & rngC.Row
rngC.Offset(, 2).Interior.ColorIndex = 36
End If
If Len(v2(2)) > 5 Then
Debug.Print "v2 자리수 : " & v2(2) & " 행번호 = " & rngC.Row
rngC.Offset(, 2).Interior.ColorIndex = 38
End If
If InStr(Trim(v1(2)), ",") = 0 Then
s1 = Left(v1(2), 2) & "," & Mid(v1(2), 3, 3)
Else
s1 = v1(2)
End If
If InStr(v2(2), ",") = 0 Then
s2 = Left(v2(2), 2) & "," & Mid(v2(2), 3, 3)
Else
s2 = v2(2)
End If
rngC.Offset(, 1) = v1(0) & ":" & v1(1) & ":" & s1 & " --> " & v2(0) & ":" & v2(1) & ":" & s2
Else
rngC.Offset(, 1) = rngC
End If
Next rngC
End Sub
'업무 능력 향상 > 엑셀 VBA 활용' 카테고리의 다른 글
[VBA] 항목별 갯수 구하기 (0) | 2015.06.09 |
---|---|
[VBA] 시트를 순환하며 조건에 맞는 자료 전부 가져오기 (0) | 2015.06.08 |
[VBA] 통합자막 정리 실패 1탄 (0) | 2015.06.05 |
[VBA] 현재 엑셀 시트 CSV로 내보내기 (0) | 2015.06.03 |
[VBA] 속도를 고려한(메모리부하가 없는) 전화번호 정리 (0) | 2015.06.02 |