【问题标题】:Why Cant I Get My CSV File Formatted Correctly?为什么我无法正确格式化我的 CSV 文件?
【发布时间】:2019-12-10 12:24:45
【问题描述】:

所以我有一个小型 VBA 应用程序,旨在通过用户表单获取输入,然后将该数据发送到 CSV 文件。当我从拆分的用户表单文本框中读取数据时,数据不会像生成的 excel 文件中显示的那样格式化。我对此进行了一些研究,发现保存为 CSV 有时会导致这种情况发生,所以我设置了一个脚本来显示文本框中每一行的值,即使我不保存为 CSV,额外的字符仍然存在那里。我希望这里有人能告诉我为什么会这样。

我尝试创建一个空白 CSV 文件,然后将数据写入其中

我尝试使用 for next 循环从用户窗体中获取所有数据而不保存,但字符仍然存在

我尝试打印到文本文件,然后重命名为 CSV

代码生成的 csv 文件看起来很棒而且完美,但是当我将单元格复制到文本文件时,我得到了不应该存在的额外字符。这是我将单元格复制到文本文件时得到的输出

Operation Type  Full Name   S ID    Group ID    Email Address   Phone Number    Extension   BO Flag CFlag   FFlag   MD List Locale
N   "Test 1
"   "Test.1
"   GroupTest   "Test1@test.com
"   "0000000000
"       Yes No  No      en_US
N   "Test 2
"   "Test.2
"   GroupTest   "Test2@test.com
"   "0000000000
"       Yes No  No      en_US
N   Test 3  Test.3  GroupTest   Test3@test.com  "0000000000
"       Yes No  No      en_US

由于某种原因,最后一行的格式正确,但我不知道为什么其余的行不正确

它应该为每个用户包含一行,如下所示

Operation Type  Full Name   S ID    Group ID    Email Address   Phone Number    Extension   BO Flag CFlag   FFlag   MD List Locale
N   Test 1  Test.1  GroupTest   Test1@test.com  0000000000      Yes No  No      en_US
N   Test 2  Test.2  GroupTest   Test2@test.com  0000000000      Yes No  No      en_US

这就是我从文本框中提取数据的方式

For Each ctrl In Me.Controls

    If TypeName(ctrl) = "TextBox" Then

        If ctrl.Name = "TextBox1" Then 'Full Name

                UserForm1.TextBox1.SetFocus

                LCount = UserForm1.TextBox1.LineCount

                BoxValue = UserForm1.TextBox1.Text

                For i = 0 To LCount - 1

                    BoxValue = Split(UserForm1.TextBox1, Chr(10))(i)

                    ActiveWorkbook.Sheets("Sheet1").Range("B" & i + 2).value = BoxValue

                Next i

        End If

   End If

Next ctrl

这必须与我如何从文本框中提取数据有关,但我找不到问题。

【问题讨论】:

    标签: excel csv export-to-csv


    【解决方案1】:

    事实证明,我需要做的只是使用不同的分割分隔符

    我从: BoxValue = Split(UserForm1.TextBox1, Chr(10))(i)

    到: BoxValue = Split(UserForm1.TextBox4, vbCrLf)(i)

    这会导致拆分函数在每次返回时拆分,现在我的数据已完美格式化。

    希望这对那里的人有所帮助

    【讨论】:

      猜你喜欢
      • 2019-05-03
      • 2019-03-15
      • 1970-01-01
      • 1970-01-01
      • 2010-11-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多