2014-09-30 27 views
-1

我有一个文本文件,我试图用excel VB来计算文件第一行中逗号的数量,然后在有3个时执行一个动作 - 但出了问题。当我使用替换法(在下面这个例子中注释掉)宏失败,当我使用它总是这样操作的拆分方法,无论什么样的价值我想补充到位的3在文本文件行中计数逗号

'Load txt file into array 
    Open FilePath For Input As #1 
    dataArray = Split(Input$(LOF(1), #1), vbLf) 
    Close #1 

    'Test first line if it has three commas 
    If Len(dataArray(0).value) - Len(Replace(dataArray(0).value, ",", "")) = 3 Then 
    'If dataArray(0).Split(",").Length = 3 Then 

    'Add comma to start of strings 
     For i = LBound(dataArray) To UBound(dataArray) 

      dataArray(i) = "," & dataArray(i) 
     Next i 

回答

1

.value似乎是问题所在。 VBA没有与.NET相同的属性。

更换你注释掉了如果与这样的说法:

If Len(dataArray(0)) - Len(Replace(dataArray(0), ",", "")) = 3 Then 
+0

谢谢 - 我也尝试没有.Values并没有奏效 - 然后我终于意识到,我有一个名为子“替换”在我的模块之一 - 不知道如何,但这显然搞砸了东西 - 当我重命名,一切正常。 – user2725402 2014-10-02 05:27:47