【VBA】セル内の特定文字を削除・置換する方法

VBA

Excelでデータを扱っていると、セル内に不要な文字列が含まれていることがあります。VBAを使って、セル内の特定の文字を簡単に削除・置換する方法を紹介します。今回は、改行コードの削除に加えて、特定の文字やスペースの削除についても解説します。

1. 改行を削除する方法

まず、セル内の改行(ラインフィード、vbLf)を削除する基本的な例です。

Cells(1, 1) = Replace(Cells(1, 1), vbLf, "")

このコードでは、セル A1 の中にある改行コード vbLf を空文字列 "" に置き換えて、改行を削除します。

2. スペースを削除する方法

次に、セル内のスペース(半角空白)を削除する例です。

Cells(1, 1) = Replace(Cells(1, 1), " ", "")

このコードは、セル A1 内のすべてのスペースを削除します。スペースを削除することで、不要な空白を取り除くことができます。

3. 特定の文字列を削除する方法

特定の文字列を削除する例を示します。例えば、セル内にある「ABC」という文字列を削除したい場合は、次のようにします。

Cells(1, 1) = Replace(Cells(1, 1), "ABC", "")

このコードでは、セル A1 の中にある「ABC」という文字列をすべて空文字列 "" に置き換え、削除します。

4. 特定の文字列を別の文字列に置換する方法

特定の文字列を別の文字列に置き換えることも可能です。例えば、セル内の「2023年」を「2024年」に置換する場合は、次のようにします。

Cells(1, 1) = Replace(Cells(1, 1), "2023年", "2024年")

このコードは、セル A1 の中にある「2023年」という文字列を「2024年」に置き換えます。これは、データの年度変更などに便利です。

応用例:複数の置換を一度に行う

複数の文字列を一度に置換したい場合は、以下のように Replace 関数を連続して使用することができます。

Cells(1, 1) = Replace(Replace(Cells(1, 1), "旧文字列1", "新文字列1"), "旧文字列2", "新文字列2")

このコードでは、セル A1 内で「旧文字列1」を「新文字列1」に、「旧文字列2」を「新文字列2」に一度に置換しています。

まとめ

VBAの Replace 関数を活用すれば、セル内の不要な文字や特定の文字列を簡単に削除・置換することができます。データのクレンジングやテキストの修正が効率的に行えるようになるため、ぜひ業務に役立ててください。


一個一個変換するののだるいなーって思うけど、コード書くのとどっちが時間かかるか悩む時あるよね

ではまたー

コメント

タイトルとURLをコピーしました