728x90

srt 자막을 정리하다보면 빈자막을 지우고 정리하고 싶을 때가 있다.

동일한 작업을 몇번 해주면 더이상 할 일이 없을 때가 나온다.

아직 코드를 완벽하게 만들지 못해서 부족한대로 만들고 있다.


Sub blank_subtitle_delete()  '// 빈자막 제거
    Dim rngC, rngAll As Range
    Dim msg As String
    Dim i, r As Long
       
    Application.ScreenUpdating = False
    Set rngAll = Range([A2], Cells(Rows.Count, "A").End(3))

    i = 0
    For r = rngAll.Rows.Count + 1 To 2 Step -1    '// 마지막행부터 위로 올라가면서 삭제처리
        If InStr(Cells(r, "A"), "-->") > 0 Then     '// 타임코드 행을 만나면
            If Cells(r + 1, "A") = vbNullString Then
                If IsNumeric(Cells(r + 2, "A")) Then
                    Range(Cells(r - 1, "A"), Cells(r + 1, "A")).Resize(, 3).Delete
                    r = r - 1   '// 셀이 삭제되므로 1 만 감소시켜야 함
                    i = i + 1
                ElseIf Not IsNumeric(Cells(r + 2, "A")) Then
                    Cells(r + 1, "A").Delete
                    r = r - 1
                    i = i + 1
                End If
            Else
                If Cells(r + 2, "A") = vbNullString Then
                    If Cells(r + 3, "A") = vbNullString Then
                        Cells(r + 3, "A").Delete
                        r = r - 1
                        i = i + 1
                    End If
                End If
            End If
        End If
    Next
   
    Set rngAll = Nothing
    msg = "빈자막 = " & i & " 개" & vbCr
    msg = msg & "총 Line 수 = " & Cells(Rows.Count, "A").End(3).Row - 1
    MsgBox msg
End Sub

블로그 이미지

Link2Me

,