Question : exceler le téléphone et le fax d'extrait de vba dans la zone adresse

J'ai une chemise des xlsx et des csvs avec des données de téléphone et de fax dans une colonne d'adresse que je veux mettre dans leur téléphone et fax séparés column.

Ideally, je pense que les règles suivantes extrairaient les données désirées successfully.

1. Non tous les nombres concerne des téléphones (c.-à-d. codes postaux) non que tous les numéros de téléphone sont précédés par tout ce qui l'identifie (IE. disques de téléphone, de pH, de tél.) non tous les ont un téléphone, un fax ou un either.

2. Leurs sont les nombres consécutifs de l'atleast 10+ dans un téléphone (avec des codes internationaux et la composition peuvent être 13-15 nombres) qui pourrait avoir quelques uns de l'un des après des séparateurs [.], [-], [)], [(] ou l'espace simple d'A [].

3. La première occurrence de la rive des nombres comme décrit dans #2 est le téléphone #, la deuxième occurrence est le fax #.  le


I est déjà parvenu à courir un manuscrit sur une chemise des dossiers. J'ai juste noté qu'il sera insoutenable pour que j'entre dans les disques un et pour extrait manuellement le téléphone et le fax # ' s puisqu'il y a de many.
class= de

Réponse : exceler le téléphone et le fax d'extrait de vba dans la zone adresse

Essayer ce qui suit :

Il emploie des fonctions d'utilisateur.

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 :
fnValNum de fonction (strInput comme corde) comme booléen
'Emploie le type bibliothèque « d'expressions régulières de Microsoft VBScript »
Faible regEx comme objet
    
    Placer le regEx = le CreateObject (« vbscript.regexp »)
    regEx.IgnoreCase = rectifient
    regEx.Pattern = « ([0-9] [-. ()] *) {10.15} »
    le fnValNum = les regEx.test (strInput) = rectifient
    
Placer le regEx = rien
Finir la fonction

fnGetNum de fonction (strInput comme corde, telNum en tant que booléen) comme corde
'Emploie le type bibliothèque « d'expressions régulières de Microsoft VBScript »
Faible regEx comme objet
Faible colMatch comme objet
Faible itm comme variante
    
    Si fnValNum (strInput) puis
        Placer le regEx = le CreateObject (« vbscript.regexp »)
        regEx.IgnoreCase = rectifient
        regEx.Global = rectifient
        regEx.Pattern = « ([0-9] [-. ()] *) {10.15} »
        Placer le colMatch = le regEx.Execute (le strInput)
        Si telNum alors
            fnGetNum = colMatch (0)
        Autrement
            Si colMatch.Count > 1 puis _
                fnGetNum = colMatch (1)
        Finir si
    Finir si
    
Placer le regEx = rien
Finir la fonction
 
coder établi dans le dossier fourni
 
Autres solutions  
  •  MS Excel 2007 et pdf - l'exportation vers le pdf prend de longues heures !
  •  Dans le Perl, comment j'ajoute une valeur à la liste, puis le contrôle pour voir si la valeur existent avant d'ajouter une nouvelle valeur
  •  Comment fais j'initialiser de la HP BL460c G6 de san et de la HP XP 240000
  •  Comment fais j'employer une clef de permis de volume sur un ordinateur de HP avec du CD de restauration
  •  Emplacement primaire de deux SCCM dans l'annuaire actif
  •  L'initiateur et la HP D2D de l'iSCSI R2 du serveur 2008 de Windows GERCENT l'issue
  •  Stocker le dossier dans le mysql using connector.net et le champ de goutte
  •  Carte vidéo d'USB - bit 32 sur le matériel travaillant au niveau du bit 64 ?
  •  asp.net que j'essaye de convertir une forme de HTML en forme d'aspx ou ? ce qui jamais. Aide du besoin sur la façon dont à à elle.
  •  Winzip 12 issues de secours du travail ?
  •  
    programming4us programming4us