有条件地删除报价或逗号

时间:2017-05-26 14:47:07

标签: excel vba

我有一些这样的数据:

0001,"Smith",20170112,"17 Long Lane Yorks YO12 1XT" 
0002,"Brown""Mr",201170112,"12 High St, Lincs, DN17 5ET"

我需要一个宏来删除任何不在逗号旁边的引号和任何不在引号旁边的逗号。

即输出为:

0001,"Smith",20170112,"17 Long Lane Yorks YO12 1XT" 
0002,"Brown Mr",201170112,"12 High St Lincs DN17 5ET"

我对如何做到这一点没有任何想法,是否有可能,如果有,请展示一个VBA的例子。

数据长达数百行,所以这将是一个很大的帮助!

2 个答案:

答案 0 :(得分:2)

我的非技术方法:

  • ,"",替换为您知道不在数据中的不同符号。例如¬|
  • 将剩余的",替换为任何内容(即删除所有内容)
  • 将您的占位符(¬| )替换为,"",

答案 1 :(得分:0)

您的输入字符串模式仅包含"",,以便符合您的要求。只需在图像中使用以下公式,然后将其向下拖动到整个范围内。

=SUBSTITUTE(SUBSTITUTE(A1,""""""," "),", "," ")

enter image description here