我在单元格 P194、P200、P300 等中有以下描述。
“截止成本 | INV # CAT-02345-BAT-MAT07 | Line # 00785 | SEQ # 719779 | Billing MUG STC4500”
我想要INV #
直到之后的所有字符以及和|
之间的字符不是固定的,它有所不同。我正在使用下面的代码。该脚本适用于 P 列中的 INV # 项目,但不适用于 P 列中的非 INV # 描述。如单元格 P12 描述为“GLUCO30|57891|||||M007Z|13/15 Local Host CDFS|CATT-4FGH548 -20121220|||00013|FICO56D2F0G0G0|”。它将单元格 A12 中的值打印为“S-427548-20121220”为了更好地理解问题,请将描述粘贴到 P 列并运行以下代码。P 栏说明 1)"截止成本|INV # CAT-02345-BAT-MAT07|行#00785|SEQ #719779|账单MUG STC4500"2)"GLUCO30|57891|||||M007Z|13/15本地主机 CDFS|CATT-4FGH548-20121220|||00013|FICO56D2F0G0G0|INV #
|
Sub Invoice()
On Error Resume Next
Dim RowCtr As Long, MyStart As Long, MyEnd As Long
RowCtr = 6
While Sheets("Stack").Range("E" & RowCtr).Value <> ""
MyStart = WorksheetFunction.Find("#", Sheets("stack").Range("P" & RowCtr).Value, 1)
MyEnd = WorksheetFunction.Find("|", Sheets("stack").Range("P" & RowCtr).Value, MyStart)
If WorksheetFunction.Find("#", Sheets("stack").Range("P" & RowCtr).Value, 1) > 0 Then
Sheets("stack").Range("A" & RowCtr).Value = Mid(Sheets("stack").Range("P" & RowCtr).Value _
, MyStart + 2, MyEnd - MyStart - 2)
End If
RowCtr = RowCtr + 1
Wend
End Sub