不幸的是,虽然将文本文件导入excel电子表格,但最后却保留了多余的逗号。删除单元格中的多余逗号确实非常困难。如果您尝试手动修复此问题,则将花费大量时间。但是,使用宏代码会容易得多。

在本文中,我们将重点介绍如何删除不需要的逗号并保留在需要的地方。最好从清理数据开始,以免在以后出现任何错误并制作报告,否则报告可能会非常繁忙并且没人愿意花时间进行返工。

如果在数据中发现任何不必要的逗号,则可以使用各种功能(例如TRIM,SUBSTITUTE,FIND,LEN,REPLACE)将它们删除,也可以使用FIND&REPLACE(CTRL + H)。您可以选择几种方法将其删除。

在本文中,我们将重点介绍如何从导入的CSV文件中删除不需要的逗号,然后在通过VBA代码完成清理后进行保存。

问题:请参阅附件中的示例txt文件。我需要一个vb代码才能删除第5行的最后8个字符。有关问题的更多信息,请单击此http://www.excelforum.com/excel-programming-vba-macros/1092402-vb-code-to -delete-last-character.html [link]

以下是记事本文件的快照:

img1

第5行在“ RX408282,20150630 ,,,,,,,”

|中具有以下文本而它必须为“ RX408282,20150630” *,同时VBA代码不应删除上述4行中的逗号。

要获取代码,我们需要按照以下步骤启动VB编辑器:

单击“开发人员”选项卡。从“代码”组中,选择“ Visual Basic”

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]