如何在VBA中删除字段中的每个换行符字符

73 浏览
0 Comments

如何在VBA中删除字段中的每个换行符字符

请告诉我如何解决这个问题?对不起,我的英语不好。我来自乌克兰。

有一个以CSV格式保存的文本文件,其中字符串的结尾以Unix格式表示。

字段列表:

1)ID;

2)姓;

3)名字;

4)中间名;

5)出生日期;

6)证明身份的文件类型和编号;

7)居住地址;

8)注册地址。

字段内部没有制表符,但存在未转义的换行符("\n")。

第一个字段(ID)是数字类型,保证不包含换行符。

如何编写一个VBA脚本,以删除字段内的每个换行符?

为了更好地理解我的请求,这里是一个示例(在xls中)错误格式的文件

错误的

和正确的

正确的

0
0 Comments

在VBA中,有时候我们需要处理包含换行符的文本字段,但是默认情况下,VBA在处理这样的字段时会将换行符视为特殊字符。这可能导致我们无法正确处理这些字段的内容。因此,我们需要找到一种方法来去除字段中的每个换行符字符。

为了解决这个问题,可以尝试使用上述的VBA宏。这个宏的作用是将字段中的每个换行符字符替换为空格。具体的代码如下:

Sub Broken_line_remover()
' Removing carriage returns from text strings
Dim ws As Worksheet
Set ws = ActiveSheet
ws.Cells.Replace what:=Chr(10), replacement:=" "
Set ws = Nothing
End Sub

在这个宏中,我们首先声明一个Worksheet对象变量ws来表示当前活动的工作表。然后,我们使用`Replace`方法来替换字段中的换行符字符。在这个例子中,我们使用`Chr(10)`来表示换行符。`replacement:=" "`表示将换行符替换为空格。最后,我们将ws对象设置为Nothing,释放内存。

通过运行这个宏,我们可以将字段中的每个换行符字符替换为空格,从而解决了无法正确处理包含换行符的文本字段的问题。

0