我正在尝试为一个 Excel 文件创建一个宏,该文件有一列(我们称之为 A 列)单元格,每个单元格包含 4 到 5 个项目可交付成果和工作产品,以逗号分隔,并由标签标识“ DEL”表示可交付成果,“WKP”表示工作产品。
我希望通过宏来完成以下任务:
- 我想保持 A 列不变。
- 为 Deliverables 创建 B 列,需要从 Col A 中的单元格中提取
- 同样,为工作产品创建一个列 C,需要从列 A 中的单元格中提取
让我举个例子吧:
假设单元格 A1 包含
DEL1:DEL 1 项目流程,DEL2:DEL 2 项目进度表,WKP1:WKP 1 工作产品文档
这是我希望 Cell B1 的样子:
DEL1:DEL 1 项目流程,DEL2:DEL 2 项目进度表
单元格 C1 看起来像这样:
WKP1:WKP1 工作产品文档
请注意,并非 Col A 中的所有单元格的字符长度都与单元格 A1 完全相同。但它们将包含 DEL 和 WKP。
鉴于可交付成果和工作产品的名称长度不同,我不能简单地复制 Col A 并运行 TextToColumn 来拆分它。
到目前为止,我想出的方法是将 Col A 复制到 Col B,保留可交付成果并尝试删除工作产品。
如您所见,这需要删除字符串中以“WKP”前面的逗号(“,”)和空格(“”)开头并以相关工作产品的最后一个字符(在这种情况将是整个字符串本身的最后一个字符,因为似乎在 DEL 之后提到了 WKP)。
虽然我可以编写一个宏,可以在每个单元格范围内找到文本“WKP”并将其删除,但我无法删除紧随其后的内容。换句话说,我只能为 Cell B1 制作这个:
DEL1:DEL 1 项目流程,DEL2:DEL 2 项目进度表,1:1 工作产品文档
有人可以帮我编写宏来做到这一点吗?如果还解释了语法,我将不胜感激。
谢谢!