テキストファイルをExcelスプレッドシートにインポートしている間、残念ながら、不要なカンマが最後に残っています。セル内の余分なコンマを削除するのは非常に困難になります。これを手動で修正しようとすると、かなりの時間がかかります。ただし、マクロコードを使用するとはるかに簡単になります。

この記事では、不要なコマを削除し、必要な場所に保持する方法に焦点を当てます。後の段階でエラーを回避するためにデータのクリーンアップから始めて、そうでなければ非常に多忙であり、誰もやり直しに時間を費やしたくないレポートを作成することをお勧めします。

データに不要なコンマが見つかった場合は、TRIM、SUBSTITUTE、FIND、LEN、REPLACEなどのさまざまな機能により、それらを削除するか、FIND&REPLACE(CTRL + H)を使用できます。それらを削除するには、いくつかの方法から選択できます。

この記事では、インポートされたCSVファイルから不要なカンマを削除し、VBAコードを介してクリーニングが完了した後に保存する方法に焦点を当てます。

質問:添付のサンプルtxtファイルを参照してください。行#5の最後の8文字を削除するためにvbコードが必要です質問の詳細については、このhttp://www.excelforum.com/excel-programming-vba-macros/1092402-vb-code-toをクリックしてください。 -delete-last-character.html [リンク]

以下はメモ帳ファイルのスナップショットです:

img1

5行目は「RX408282,20150630 ,,,,,,,,」に次のテキストがあります

「RX408282,20150630」*である必要がありますが、同時にVBAコードは上記の4行のカンマを削除しないでください。

コードを取得するには、以下の手順に従ってVBエディターを起動する必要があります。

[開発者]タブをクリックします。[コード]グループから、[VisualBasic]を選択します

img2

  • 以下のコードを標準モジュールにコピーします

Sub test()

Dim fn As String, txt As String

fn = Application.GetOpenFilename("TextFiles,*.txt")

If fn = "" Then Exit Sub

txt = CreateObject("Scripting.FileSystemObject").OpenTextFile(fn).ReadAll

With CreateObject("VBScript.RegExp")

.Global = True: .MultiLine = True

.Pattern = ",+$"

Open Replace(fn, ".txt", "_Clean.txt") For Output As #1

Print #1, .Replace(txt, "")

Close #1

End With

End Sub

img3

===

コードの説明:

  • 上記のコードでは、最初にファイルが配置されているファイルを選択するように求められます

===

img4

===

コードの実行後、* Test_Clean

img5

という名前の出力ファイルを取得します。 *コードが正常に機能しているかどうかを確認するため。 .txtファイルを開いて結果を表示しましょう

img6

最後の行、つまり、以前は不要なカンマが最後にあった行#5が修正されました。結論:*このようにして、指定したフォルダーから余分なカンマを削除し、正しいデータを別のメモ帳ファイルに保存できます。

image 48 If you liked our blogs, share it with your friends on Facebook. And also you can follow us on Twitter and Facebook.

_ご意見をお聞かせください。私たちの仕事を改善、補完、革新し、あなたのために改善する方法をお知らせください。 [email protected]_までご連絡ください