セル 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 ローカル ホスト CDFS|CATT-4FGH548 -20121220|||00013|FICO56D2F0G0G0| "。セル A12 の値を「S-427548-20121220」として出力しています。問題をよりよく理解するには、列 P に両方の説明を貼り付けて、以下のコードを実行してください。Cloumn P の説明 1)"Cut-off Cost| INV # CAT-02345-BAT-MAT07| Line # 00785| SEQ # 719779| Billing 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