在VBA中读取CSV文件时删除双引号

时间:2016-07-17 07:03:51

标签: vba excel-vba csv excel

在VBA中,我需要导入一些R生成的CSV文件。但是,split功能无法正常运行并提供Type mismatch。我最好的猜测是:VBA在每个导入的行之间添加了双引号。所以第一行变为" 47.27284, 130.5583, 44.826609, 189.905367"。我尝试使用replaceremove the first and last character删除双引号,但错误仍然存​​在。有什么建议可以解决这个问题吗?

CSV文件

  dose_BMD_r, dose_ED_r, dose_BMD_c,  dose_ED_c
  47.27284,  130.5583,  44.826609, 189.905367
  47.27284,  130.5583,  52.226171, 233.338840
  47.27284,  130.5583,   8.484266,   6.887616

VBA代码

lin_ind = 1
Open text_fn For Input As #1                                    
Do Until EOF(1)
    Line Input #1, textline
    If lin_ind = 1 Then
        'Do nothing
    Else
        textline_1 = Split(textline, ",")
    End If
    lin_ind = lin_ind + 1
Loop
Close #1

1 个答案:

答案 0 :(得分:2)

Split函数返回数组。因此,存储Split的返回值的变量应该是数组/变量。

将其声明为Dim textline_1就是这样。它会起作用。

Dim textline_1 () As String