2017-01-12 3 views
0

私のデータセットには製品名のリストが含まれ、各名前の直後に大括弧で囲まれた数量値を持つ説明フィールドがあります。テキストフィールドに含まれる値を計算する


プロダクトone [2]
プロダクト2 [1]

大括弧内の数字を抽出して一緒に追加したいと考えています。

MID/FIND式を使用して最初の値を見つけることはできますが、複数の数値をルックアップして計算する方法はわかりません。

一部のレコードに含まれる多数の商品のため、データを分割できません。

ご協力いただきありがとうございます。

+1

こんにちは、スタックオーバーフローを歓迎します。データ、実際のコード/式の例と、直面している問題の正確な例を提供できますか?あなたが「*一緒に追加する」と言うときは、2 + 1 = 3または2&1が欲しいということを意味します。 –

+0

もっと具体的にする必要があります。はい2 + 1 = 3です。 –

+0

ビクターが述べたように、我々はより多くの情報を必要とする。あなたのコードは 'description'カラムのすべてのセルを踏み越えることができますか?その場合は、コードを提供してください – Zac

答えて

1

は、クリーナーの方法があるかもしれませんが、これは(あなたは、単一のセルを見ていると仮定)に動作します:

Public Function SumBrackets(rngSource As Range) 
Dim strData As String 
Dim dblSum As Double 
Dim lngBracketStart As Long 
Dim lngBracketEnd As Long 
strData = rngSource.Value 
Do While InStr(1, strData, "[") <> 0 
    lngBracketStart = InStr(1, strData, "[") 
    lngBracketEnd = InStr(1, strData, "]") 
    dblSum = dblSum + Mid(strData, lngBracketStart + 1, lngBracketEnd - lngBracketStart - 1) 
    strData = Mid(strData, lngBracketEnd + 1, Len(strData) - lngBracketEnd) 
Loop 

SumBrackets = dblSum 
End Function 
+0

おかげで、それは治療を働いた。 –

関連する問題