Excel 在.csv文件中,仅在3列中用VBA将逗号替换为分号

Excel 在.csv文件中,仅在3列中用VBA将逗号替换为分号,excel,vba,csv,replace,find,Excel,Vba,Csv,Replace,Find,让我看看是否可以再试一次。我有一个CSV文件。它代表逗号分隔值,这是一种文件格式。在这个文件中,下面的每个单元格中都有几列不同的数据。如果我在记事本中打开CSV文件,则每个“单元格”都用逗号分隔,因此文件格式名为。在Excel中,没有逗号。单元格明显由表格边框线分隔。我要做的是用分号替换F列到H列、第2行和下面(也有数据)的逗号。文件中的其余逗号保持原样。子添加分号安装() Sub AddSemicolonsINSTALLMENT() Dim vColumns As Variant, v

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

子添加分号安装()
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
Dim V列作为变型,V列作为变型 调光rCol作为范围,rCell作为范围 vColumns=数组(“F”、“G”、“H”) 对于vColumns中的每个vColumns
设置rCol=Range(Range(vColumn&“2”),单元格(Rows.Count,vColumn.End(xlUp))'记录vba宏,用逗号替换;看看代码,我已经弄清楚分号了。现在,我试图找出如何删除vColumns数组(cols F到H)中的逗号。这是一个csv文件。逗号被认为是列表分隔符。@dacrovinunghi-我已经这样做了,我意识到单元格中的数据是不同的。因此,查看这些代码是无用的。我希望将默认的列表分隔符(,-逗号)替换为;(分号)用于3列。我们需要一个样本,它是strange@dacrovinunghi-请查看我的更新。谢谢。它仍然没有删除所选列中的逗号。这是您在Excel中打开的CSV文件,对吗?我觉得你的问题中缺少了一些重要的东西,关于你到底想做什么。。。看起来您想用分号替换分隔符逗号,但不清楚在excel中打开CSV后该如何操作(因为此时分隔符逗号将不存在)。是的,这是我在excel中打开的CSV文件。是的,这正是我想要做的。我一直在试图找出如何做到这一点,而不必手动转到每个单元格并替换它。请参阅上面的我的编辑:已测试并适用于我(至少,它符合您发布的代码的意图),我很抱歉。但我似乎没有像我想的那样解释清楚。我知道在Excel中,CSV文件中的任何单元格中都没有可见的逗号。但是,当我在记事本中打开CSV文件时,它们就在那里。特定列中的逗号是我试图替换的。在这方面你有什么书可以推荐吗?