【发布时间】:2016-01-02 18:52:39
【问题描述】:
为了我的工作,我创建了一个 VBA 代码,用于将显示当月采购的报告中的新帐户添加到包含所有帐户和库存的主表中。我需要从采购订单号中提取区域,但这取决于采购类型。
区域始终是 6 位数字左侧的前三个字符:ABC123456A。在这种情况下,我需要提取字母 ABC。
但它会根据订单的类型而变化。有些订单会在前面的订单号和下划线后面加上一个子域,比如XYZABC_ABC123456A。
如果订单是新账户的,右边最后一个字母是A,如果是寄售订单,它是C,但如果是矫形器和假肢,它会变成OP:ABC123456OP
当字符数可能不同时,我需要一个公式来帮助我专门提取 6 位数字之前的三个字母区域。请帮忙。
【问题讨论】:
-
=IFERROR(MID(A1,FIND("_",A1)+1,3),LEFT(A1,3))??? -
如果 Dirk 的公式不起作用,那么您没有提供足够的示例来显示您的 PO 编号中可能存在的可变性。
-
是您需要的工作表单元格中的公式还是您需要的 VBA 代码?您的问题和标签有冲突。
标签: excel excel-formula excel-2010 excel-2013 vba