Frage : vba Auszugtelefon u. -telefax im Adressfeld übertreffen

Ich habe ein Faltblatt von xlsxs u. csvs mit Telefon- u. Telefaxdaten in einer Adressenspalte, die ich in ihr unterschiedliches Telefon und in Telefax column.

Ideally setzen möchte, denke ich, dass die folgenden Richtlinien die gewünschten Daten successfully.

1. extrahieren würden. Nicht alle Zahlen betrifft Telefone (d.h. Zipcodes) nicht alle Telefonnummern werden vorausgegangen von allem, das es kennzeichnet (IE. alle Aufzeichnungen des Telefons, pH, Telefons.) nicht haben ein Telefon, ein Telefax oder ein either.

2. Ihre sind atleast 10+ fortlaufende Nummern in einem Telefon (mit internationalen Codes u. dem Wählen sein können 13-15 Zahlen), das einige von irgendwelchen der folgenden Separatoren haben konnte [.], [-], [)], [(] oder a-einzelner Raum [].

3. Das erste Vorkommen des Stranges von Zahlen, wie in #2 beschrieben ist das Telefon #, das zweite Vorkommen ist das Telefax #.  


I erreichte bereits, einen Index auf einem Faltblatt der Akten laufen zu lassen. Ich beachtete gerade, dass es unhaltbar ist, damit ich in die Aufzeichnungen eins nach dem anderen einsteige und manuell das Telefon und das Telefax # ' s extrahiere, da es many.
gibt

Antwort : vba Auszugtelefon u. -telefax im Adressfeld übertreffen

Das folgende versuchen:

Er verwendet Benutzerfunktionen.

Chris
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
Funktion fnValNum (strInput als Schnur) wie Boolesch
'Benutzt reguläre Ausdruck-“ Art Bibliothek „Microsoft-VBScript
Schwaches regEx als Gegenstand
    
    regEx = CreateObject („vbscript.regexp“) einstellen
    regEx.IgnoreCase = richten aus
    regEx.Pattern = „([0-9] [-. ()] *) {10.15}“
    fnValNum = regEx.test (strInput) = richten aus
    
regEx einstellen = nichts
Funktion beenden

Funktion fnGetNum (strInput als Schnur, telNum als Boolesches) als Schnur
'Benutzt reguläre Ausdruck-“ Art Bibliothek „Microsoft-VBScript
Schwaches regEx als Gegenstand
Schwaches colMatch als Gegenstand
Schwaches itm als Variante
    
    Wenn fnValNum (strInput) dann
        regEx = CreateObject („vbscript.regexp“) einstellen
        regEx.IgnoreCase = richten aus
        regEx.Global = richten aus
        regEx.Pattern = „([0-9] [-. ()] *) {10.15}“
        colMatch = regEx.Execute (strInput) einstellen
        Wenn telNum dann
            fnGetNum = colMatch (0)
        Sonst
            Wenn colMatch.Count > 1 dann _
                fnGetNum = colMatch (1)
        Beenden wenn
    Beenden wenn
    
regEx einstellen = nichts
Funktion beenden
 
kodieren hergestellt in gelieferter Akte
 
Weitere Lösungen  
 
programming4us programming4us