長文テキストデータを、1文1セルにするツール【素人 Excel ツール】

Microsoft officeのExcelVBAでマクロを組みましたので公開します。
インターネットで検索したり、マクロの記録機能を使ったりしたのを組み合わせだけなので、上手くはないですが、一応動くはずです。
office2021です。
必ず、元データのバックアップを取ってから実行してください。
素人の作ったものなので、信用しすぎないでください。



[内容]

長文テキストデータを、1文1セルに作り変えるツールです。
1文1セルにすると、検索・置換して色をつけることができるためフィルターをかけやすくなり、ある単語が使われる例文を一覧にしやすくなります。

このとき、連続したテキストが、「。」でない場所で改行しないものを準備してください。

【導入後の手順】
①文単位に区切って縦に一覧にしたいテキスト(エクセルデータでない)を用意する
②「入力タブ」シートのA列に貼り付ける(テキストのみ)
③改行されるごとにセルが下に増えていることを確認する
④「マルで区切る」マクロを実行
⑤「一列化」マクロを実行
⑥ 「出力タブ」シートを見る
⑦他のエクセルに文単位になったテキストを貼り付けて、その後の処理に進む
⑧「リセット」マクロを実行

[注意点]

❶1文内に改行があると、そこもセルがわかれてしまいます。
❷「。」で区切っているので、「。」が使用されていない場合には使えません。

[マクロ]

マルで区切る

Sub マルで区切る()

    Sheets("入力タブ").Select
    Columns("A:A").Select
    Selection.Replace What:="。", Replacement:="。$", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False, FormulaVersion:=xlReplaceFormula2
    Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
        TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
        Semicolon:=False, Comma:=False, Space:=False, Other:=True, OtherChar _
        :="$", FieldInfo:=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, _
        1)), TrailingMinusNumbers:=True
    Range("A1").Select
    Sheets("使い方").Select
    Range("A5").Select
    MsgBox "次に進みましょう!"
End Sub

一列化

Sub 一列化()

Sheets("入力タブ").Select
Columns("A:R").Select
On Error Resume Next
Dim cl As Range
p = 1
For Each cl In Selection
If cl <> "" Then
Worksheets("出力タブ").Cells(p, "A") = cl
p = p + 1
End If
Next
Sheets("使い方").Select
Range("A6").Select
MsgBox "次に進みましょう!"

End Sub

リセット

Sub リセット()

    Sheets("出力タブ").Select
    Columns("A:A").Select
    Selection.ClearContents
    Range("A1").Select
    Sheets("入力タブ").Select
    Columns("A:M").Select
    Selection.ClearContents
     Range("A1").Select
    Sheets("使い方").Select
    Range("A1").Select
    MsgBox "リセット完了!お疲れ様でした。"
End Sub

[使い道]

私は、朝日新聞クロスサーチなどで、用例調査をするときに使いました。
①新しいWordファイルを準備
②記事を別タブに表示して、Ctrl+Aで全選択、Ctrl+Cでコピー、Ctrl+Shift+Vでワードにコピー
③Wordファイルから、全選択コピーで、「入力タブ」に貼り付け
④実行
⑤別のExcelファイルに「出力タブ」のテキストをコピー
⑥検索文字列の含まれるセルに色をつけ、フィルターをかける


素人の作ったものなので、信用しすぎないでください。


この記事が気に入ったらサポートをしてみませんか?