如何使用Excel-VBA代码获得相同的输出?

时间:2016-05-18 15:41:56

标签: bash excel-vba vba excel

我正在使用excel文件,它只有一列如下:

Type
A:\AAA\AD\RER\TES\11111\&DD&MM&AA.EXT
C:\AAA\CD\RES\TES\33333\&DD&MM&AA.EXT
C:\CCC\DF\WSD\&DD&MM&AA&SQ2.TXT
C:\DDDD\RT\FDG\334455&DD&MM&AA&SQ2.TXT
C:\DDD\YU\DFS\55555&DD&MM&AA&SQ2.TXT
C:\RRR\ER\SDF\55555&DD&MM&AA&SQ2.TXT
C:\TTT\CD\ERW\55555&DD&MM&AA&SQ2.TXT
C:\YYY\YU\WET\555555&DD&MM&AA.EXT

我想提取以下输出:

&DD&MM&AA.EXT
&DD&MM&AA.EXT
&DD&MM&AA&.TXT
334455&DD&MM&AA&.TXT
55555&DD&MM&AA&.TXT
55555&DD&MM&AA&.TXT
55555&DD&MM&AA&.TXT
555555&DD&MM&AA.EXT

我提取它的方法是使用bash,因为我是使用excel的初学者,我的命令如下:

rev colum.txt | tr -d " " | cut -d "\\" -f1 | rev | sed "s/SQ2//"

这个问题是我想使用excel的宏来实现相同的结果,我不知道如何编程它,我想欣赏一个如何将这个bash代码转换为Excel-的建议VBA,假设包含数据的列是A列。

1 个答案:

答案 0 :(得分:2)

使用 A 列中的数据,在 B1 中输入:

=MID(A1,FIND(CHAR(1),SUBSTITUTE(A1,"\",CHAR(1),LEN(A1)-LEN(SUBSTITUTE(A1,"\",""))))+1,9999)

并复制下来。

enter image description here