Excel 为什么我不能正确格式化CSV文件?
因此,我有一个小型VBA应用程序,它通过用户表单获取输入,然后将数据发送到CSV文件。当我从split userform文本框中读取数据时,数据的格式将与生成的excel文件中显示的格式不同。我对此做了一些研究,发现保存为CSV有时会导致这种情况发生,所以我设置了一个脚本来显示文本框中每行的值,即使我没有保存为CSV,额外的字符仍然存在。我希望这里有人能告诉我为什么会这样 我尝试创建一个空白的CSV文件,然后将数据写入其中 我曾尝试使用for next循环从userform中获取所有数据,但没有保存,但字符仍然存在 我尝试打印到文本文件,然后重命名为CSV 代码生成的csv文件看起来很棒,很完美,但是当我将单元格复制到文本文件时,我得到了不应该存在的额外字符。这是将单元格复制到文本文件时得到的输出Excel 为什么我不能正确格式化CSV文件?,excel,csv,export-to-csv,Excel,Csv,Export To Csv,因此,我有一个小型VBA应用程序,它通过用户表单获取输入,然后将数据发送到CSV文件。当我从split userform文本框中读取数据时,数据的格式将与生成的excel文件中显示的格式不同。我对此做了一些研究,发现保存为CSV有时会导致这种情况发生,所以我设置了一个脚本来显示文本框中每行的值,即使我没有保存为CSV,额外的字符仍然存在。我希望这里有人能告诉我为什么会这样 我尝试创建一个空白的CSV文件,然后将数据写入其中 我曾尝试使用for next循环从userform中获取所有数据,但没有
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
这一定与我如何从文本框中提取数据有关,但我找不到问题所在。因此,我所需要做的就是使用不同的分割分隔符 我从: BoxValue=Split(UserForm1.TextBox1,Chr(10))(i) 致: BoxValue=Split(UserForm1.TextBox4,vbCrLf)(i) 这会导致split函数在每次返回时都进行分割,现在我的数据已完全格式化 希望这有助于其他人