我有一个csv文件,其中有数以千计的记录,这些记录看起来与文件的这两行类似:
TransferWise NZ "6400518" "996467362814" "Failed" "P2569534" "30/11/2019 9:54:27 PM"
Growth Collective "SS64007605" "996467363128" "Completed" "X255536" "30/11/2019 10:07:49 PM"当在Excel中打开时,这些记录中的每一条都占用一个电子表格列。
初始字段(公司名称)缺少双引号。我真的不想手动浏览这个文件并添加双引号,如果我可以避免它。有什么方法可以在Excel中编程完成吗?
数据截图:

更新:2行完整的文件.
The Growth Collective Limited "SS64007605" "996467363045" "Completed" "my payee particulars|7uqh355g|355gkq2y|7uqh355gkq2y" "30/11/2019 10:04:26 PM" "30/11/2019 10:05:22 PM" "" "57.50" "ASB-P4-NZ" "" "0199075" "123216" "00" "True" "MR P HUANG" "4 " "M" "MercoMGNZ" "Merco MGNZ" "2" "LNDUXJJTHIWQYOXHUKHQAMETELHHMRHV" "",,,,,,
2degrees Mobile Limited "6400910" "996467332367" "Completed" "|POLIPRE|220181318|" "30/11/2019 7:04:02 AM" "30/11/2019 7:04:58 AM" "16053" "20.00" "Westpac-P4-NZ" "" "0289335" "030866" "000" "True" "" "4 " "M" "MercoMGNZ" "Merco MGNZ" "2" "220181318 POLIPRE MobileApp 1-9YH-3304" "",,,,,,发布于 2019-12-03 08:08:29
就像你说的,你有很多数据。此方法将在添加引号时将范围"A“中的所有单元格读取到数组中,然后将数组打印到范围内。在尝试之前,请确保备份数据,以防意外发生。还请注意,这将在遇到空单元格时抛出错误,或者遇到没有"的单元格(指示只有一列)。此外,这将全部张贴到B列,由于不覆盖您的数据,您可以将其移动到A列,如果您愿意。
Sub adquote()
Dim cel As Long
Dim arr() As Variant
Dim lastr As Long
lastr = Range("A" & Rows.Count).End(xlUp).Row
ReDim arr(1 To lastr)
For cel = 1 To lastr
arr(cel) = """" & Left(Range("A" & cel).Value, InStr(Range("A" & cel).Value, """")) & """" & Right(Range("A" & cel).Value, Len(Range("A" & cel).Value) - InStr(Range("A" & cel).Value, """"))
Next cel
Range("B1:B" & lastr).Value = Application.Transpose(arr)
End Sub正如您所述,要使此版本正常工作遇到了一些困难,也许没有数组的版本就能做到这一点:
Sub adquote()
Dim cel As Long
Dim lastr As Long
lastr = Range("A" & Rows.Count).End(xlUp).Row
For cel = 1 To lastr
Range("B" & cel).value = """" & Left(Range("A" & cel).Value, InStr(Range("A" & cel).Value, """")) & """" & Right(Range("A" & cel).Value, Len(Range("A" & cel).Value) - InStr(Range("A" & cel).Value, """"))
Next cel
End Sub发布于 2019-12-03 12:40:24
这可以在Excel中通过使用相当简单的公式来完成,而不需要任何VBA。
在单元格B1中:
=""""&SUBSTITUTE(A1," """,""" """,1)
复制到最后一个数据行。
https://stackoverflow.com/questions/59152342
复制相似问题