我是否从所选列的每个单元格中删除特定字符串

时间:2014-05-22 18:02:31

标签: excel excel-vba vba

                         COLUMN A

       DLBL GPFGBSM,'PHGP.GPFGBSM.GBS.KSDS',,VSAM,CAT=PCAT2                 
       DLBL GPFGGIM,'PHGP.GPFGGIM.GGI.KSDS',,VSAM,CAT=PCAT2                 
36     DLBL GPFEXT1,'PHGP.GPFPWO4.PWO.ESDS',,VSAM,CAT=PCAT3                 
       DLBL FILE01,'PHGP.GPFPWO4.PWO.ESDS',,VSAM,CAT=PCAT3                  
       DLBL FILE1,'PHGP.GPFPWO4.PWO.ESDS',,VSAM,DISP=(NEW,DELETE)

我有一个电子表格,其中包含A列下单个单元格内的许多文件名(如此处所示,还有其他文件名)。现在我必须只编写'之间的部分。 '。例如:我想用只有文件名,即PHGP.GPFGBSM.GBS.KSDS.Is替换每个单元格吗?

1 个答案:

答案 0 :(得分:0)

在此列旁边创建一个列,并在单元格B1中使用此公式。然后使用fill将此公式复制到列中。然后B列将获得您想要的信息。如果要放弃原始行,则可以复制并粘贴(选择性粘贴 - 值)到A列。

=MID(A1,FIND("'", A1) + 1, FIND("'", A1, FIND("'", A1) + 1)-FIND("'",A1) - 1)

此公式使用MID(text, start_num, num_chars)函数来获取原始文本的子字符串。它使用FIND(find_text, within_text, [start_num])来获取第一个撇号的索引,而另一个查找仅在第一个撇号之后搜索第二个索引。它使用两个索引之间的差异来知道字符串应该有多长。

编辑:根据您的新要求,您只需将当前解决方案扩展为最多可应用于撇号中的五项内容。对于excel公式来说,这可能有点复杂,VBA可能是更好的选择。