Dzielenie tekstu ze słownika

0

Cześć, mam pętlę która dodaje klucze do słownika:

For Each rCell In rRange
If Not oHolderDict.Exists(rCell.Value) Then
oHolderDict.Add rCell.Value, rCell.Row
End If
Next rCell

Problem w tym że pętla dodaje cały tekst zawarty w komórce. Chciałbym żeby wyodrębniła maila znajdującego się w nawiasie.
1.PNG

3

strings.instr() zwróci ci pozycję nawiasu otwierającego, strings.mid() wytnie ci fragment pomiędzy nawiasami

0

Ale to nie może być na sztywno. Maile mogą być różne. Chodzi mi o uniwersalny kod. Próbowałem czegoś takiego ale psuje mi to w dalszej części kodu wklejanie tabeli:
For Each rCell In rRange
s = Split(Replace(rCell.Value, "(", ")"), ")")(1)
If Not oHolderDict.Exists(s) Then
oHolderDict.Add s, rCell.Row
End If
Next rCell

2

Ales podał Ci rozwiązanie. Znajdź pozycję nawiasu otwierającego i pozycję nawiasu zamykającego, następnie wytnij fragment między tymi pozycjami - to będzie adres email który potrzebujesz.

0

Masz rację, mój błąd. Działa to w ten sam sposób co Split. Udało mi się już znaleźć przyczynę problemu i działają obie metody. Dzięki za pomoc, temat do zamknięcia :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1