【问题标题】:Remove Double Quotes While Reading CSV Files in VBA在 VBA 中读取 CSV 文件时删除双引号
【发布时间】:2016-07-17 07:03:51
【问题描述】:

在 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

【问题讨论】:

  • textline_1 是如何声明的?
  • 我将它声明为字符串。
  • 你能包括你的声明吗?您是否验证了您对双引号的怀疑?如果它添加引号,我会感到惊讶。
  • 感谢您的建议。使用Dim textline As String, textline_1 As Variant 可以解决问题。

标签: vba excel csv


【解决方案1】:

Split 函数返回数组。所以你存储Split的返回值的变量应该是数组/变量。

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

Dim textline_1 () As String

【讨论】:

    猜你喜欢
    • 2014-05-05
    • 1970-01-01
    • 2021-02-22
    • 2022-01-15
    • 2022-01-20
    • 2014-05-29
    • 1970-01-01
    • 1970-01-01
    • 2019-06-28
    相关资源
    最近更新 更多