【发布时间】: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