だから、いくつかの文字列に重複が含まれている文字列のリストがあります。例えばExcelのセルから重複を削除する
:
13ヘキサデセン酸; 13-メチル-4-ペンタデセン酸 ; 14-メチル-6-ペンタデセン酸; 15-ヘキサデカノリド; 3-ヘキサデセン 酸; 4-ヘキサデセン15-ヘキサデカノリド; 3-ヘキサデセン酸; 4-ヘキサデセン酸; 4-ヘキサデセン酸; 4-ヘキサデセン酸; 4-ヘキサデセン酸; 4-ヘキサデセン酸; 4-ヘキサデセン酸; 4-ヘキサデセン酸; 4-ヘキサデセン酸;
だから私は、マクロオンラインに出くわしたとこのように書きます私の問題、のために働くためにそれを微調整:
Function stringOfUniques(inputString As String) As String
Dim inArray() As String
Dim xVal As Variant
inArray = Split(inputString, ";")
For Each xVal In inArray
If InStr(stringOfUniques, Trim(xVal)) = 0 Then _
stringOfUniques = stringOfUniques & Trim(xVal) & ","
Next xVal
End Function
そして、私の文字列の一部のために、これは見事に動作します、しかし、それ以上の例について重複を削除して文字列を返しますが、奇妙なことに、「3-Hexadecenoic acid」という単語の両方のコピーを削除します。したがって、基本的
Iを得るべきこと:
13ヘキサデセン酸; 13-メチル-4-ペンタデセン 酸; 14-メチル-6-ペンタデセン酸; 15-ヘキサデカノリド; 3-ヘキサデセン 酸; 4-ヘキサデセン酸; ; 13-メチル-4-ペンタデセン 酸; 14-メチル-6-ペンタデセン酸; 15-ヘキサデカノリド; 4-ヘキサデセン 酸
13ヘキサデセン酸:私は実際に何を得る
;
私のコードにこれが起こる原因はありますか?
謝罪例ではおそらく目で最も簡単ではない – user2062207
私は 'InStr'と何か関係があると推測しています - > _最初の文字列の開始位置を指定する整数を返します**別の文字列内の文字列** ._おそらく13-ヘキサデセン酸を '3-ヘキサデセン酸 'と重複して扱うようになります。したがって、最初の' 3-Hexadecenoic acid'を除去した後でも、13-ヘキサデセン酸を見つけて2番目を除去します。 – chancea
ありがとう助けて! – user2062207