2015-12-18 66 views
0

让我看看我是否可以再试一次。我有一个CSV文件。它代表逗号分隔值,这是一种文件格式。在这个文件中,下面每个单元格中有几列不同的数据。如果我在记事本中打开CSV文件,每个“单元格”用逗号分隔,因此是文件格式名称。在Excel中,没有逗号。这些单元格显然是由表格边框线分隔的。我想要做的是用分号替换列F到H,第2行和以下(也有数据)的逗号。文件中的其余逗号保持原样。使用VBA在.csv文件中的3列中用分号替换逗号

+0

记录一个vba宏,用逗号替换;并看看代码 – cutzero

+0

我已经弄清楚了分号。现在,我试图找出如何删除vColumns数组中的逗号(列F到H)。这是一个csv文件。逗号被认为是列表分隔符。 – Chris

+0

@dacrovinunghi - 我已经做到了,我意识到单元格内的数据各不相同。所以,看这样的代码是没用的。我正在寻找替换默认列表分隔符(, - 逗号)与; (分号)3列。 – Chris

回答

0
Sub AddSemicolonsINSTALLMENT() 
    Dim vColumns As Variant, vColumn As Variant 
    Dim rCol As Range, rCell As Range 

    vColumns = Array("F", "G", "H") 

    For Each vColumn In vColumns 
     Set rCol = Range(Range(vColumn & "2"), Cells(Rows.Count, vColumn).End(xlUp)) '<<EDIT 
     For Each rCell In rCol.Cells 
      rCell.Value = ";" & Replace(rCell.Value, ",", ";") & ";" 
     Next rCell 
    Next vColumn 

End Sub 
+0

它仍然不会删除选定列中的逗号。 – Chris

+0

这是您在Excel中打开的CSV文件,对不对?我觉得在你的问题上你有什么重要的东西缺少你想要做的事情......看起来你想用分号代替逗号分隔符,但是目前还不清楚在Excel中打开CSV文件后该如何工作因为那时分隔符逗号不会在那里) –

+0

是的,这是我在Excel中打开的一个CSV文件。是的,这正是我想要做的。我一直在试图弄清楚如何做到这一点,而不需要手动去每个单元格并替换它。 – Chris