插入带有回车符的数据

时间:2019-05-30 12:47:12

标签: excel vba excel-vba

我有一个命令按钮,可将数据从用户窗体插入到工作表中,然后将其另存为.csv。

然后,我们使用另一种用户格式加载csv数据-但是,将回车符插入文本框并插入时会出现问题。显然,我能想到的第一个解决方案是停止输入逗号-但是,有没有更好的解决方案?

1 个答案:

答案 0 :(得分:1)

@Miguel的想法正确(他的评论在主提问线程上)。

此方法涉及为遇到问题的字符定义与ASCII码相关的整数列表。换行(10)肯定在那里,您可以决定回车(13)逗号(44)或语音标记(34)。

const ListOfSpecialChars = "10,13,34,44"

您将需要一个“编码”过程,该过程接受一个字符串并输出一个字符串。 它将以这种方式转换文本: ab,cd"ef -> ab<<44>>cd<<34>>ef

这可以通过拆分const并循环遍历每个组成部分,然后执行替换操作来实现:

For Each splitCharVal In Split(ListOfSpecialChars, ",")
    stringToEncode = Replace(stringToEncode, Chr(splitCharVal), "<<" & splitCharVal & ">>"
Next

您还需要一个与之相反的“解码”过程,我会让您解决。

因此,将文件保存为CSV时,您需要依次遍历每一行的单元格,对其中找到的文本进行编码,然后将一行写出到文件中。

从编码的CSV中连续读取时,需要先执行解码操作,然后才能将文本写到工作表中。