Step12:Instrで削除する文字のチェックリスト作成する|Excelソフト

削除するHTMLの文字は定型文字なので、ないのはおかしいと思います。そこでInstrを使用し見つかったかどうかチェックすることにします。

方法は、削除する文字を検索し、見つかればカウントします。カウントした数と削除するHTMLの数が一致すれば問題なかったことになります。

Instrの使用例は「Excelでフォルダ内文字列検索ソフトを作ってみよう Step 6 1行ずつ文字を検索し、見つかったファイルのみ表示」、「文字列が含むかどうか関数とVBAの両方で調べる:Excelでよく使うフレーズ」を参照してください。

AMP変換ソフト作成 メニューへ

スポンサーリンク





VBAでInstrを使用し検索する

削除のVBAを下記に変更しました。
VBAでInstrを使用し検索する

・プロシージャをSubからFunctionに変更し、値を戻すことができるようにしました。
・見つかればカウントする変数の「nf」を追加
・Instrで削除するHTMLを検索
・返り値が>0ならばカウントします。
・カウント結果を戻します。

Private Function MyDelHtml() As Long
    Dim lc As Long
    Dim nf As Long
    
    nf = 0
    lc = 5
    Do
        If Cells(lc, 2) <> "" Then
            If InStr(1, sUtfBuf, Cells(lc, 2), vbTextCompare) > 0 Then
                nf = nf + 1
            End If
            sUtfBuf = Replace(sUtfBuf, Cells(lc, 2) & vbCr, "", , , vbTextCompare)
            lc = lc + 1
        Else
            Exit Do
        End If
    Loop
    MyDelHtml = nf
End Function

戻した結果は変換ファイル名の隣のセルに表示します。

名前を定義したセルを基準に別のセルを指定するにはOffsetを使用します。
戻した結果は変換ファイル名の隣のセルに表示する

    Range("変換ファイル名").Offset(0, 1).Clear
    nRet = MyDelHtml
    Range("変換ファイル名").Offset(0, 1) = nRet

正常に見つかれば下のように削除するHTMLと同数になります。
正常に見つかれば下のように削除するHTMLと同数になる

何らかの原因で見つからなければ下のように削除するHTMLと数が異なります。
これで正常に動作できたかどうかチェックできるようになります。
見つからなければ削除するHTMLと数が異なる

スポンサーリンク






AMP変換ソフト作成 メニューへ

■■■
このサイトの内容を利用して発生した、いかなる問題にも一切責任は負いませんのでご了承下さい
■■■
当ホームページに掲載されているあらゆる内容の無許可転載・転用を禁止します


Copyright (c) Excel-Excel ! All rights reserved