Correspondance similaire, mais elle n'est pas exacte des chaînes de texte dans Excel VBA projets

Bon, j'ai essayé de trouver une solution pour cela et je ne semble pas être en mesure. Je ne peux même pas décomposer le problème correctement. C'est l'idée.

J'ai deux feuilles avec de nombreuses lignes (une avec 800 et l'autre avec 300 000). Chaque ligne contient un Nom de colonne, puis en plusieurs colonnes qui contiennent des informations à propos de ce Nom. Chaque fiche dispose de différents types de renseignements.

Je veux consolider ces deux feuilles dans une fiche sur cette base Nom de la colonne, ils ont tous deux, afin de le consolider la fonction est parfaite pour ça. Maintenant, le problème est que les noms ne correspondent pas parfaitement.

Par exemple la feuille Sheet1 contient

"De La Société B. V.", "Info #1"
L'Entreprise "Total", "Info #2"
"Company Ltd", "Info #3"

et de la feuille 2 contient

"De la société et Co.", "Info #4"
"Société et Co", "Info #5"

Feuille 1 contient tous les noms qui vont être utilisés (à environ 100, mais sous des formes différentes comme indiqué ci-dessus) et de la feuille 2 contient tous ces 100 dans de multiples lignes plus des noms qui ne sont pas dans la liste des 100 et, par conséquent, je ne se soucient pas.

Comment pourrais-je faire un code VBA projet où le résultat final serait quelque chose comme ceci, fiche:

"Société", "Info #1", "Info #2", "Info #3", "Info #4", "Info #5"

pour chaque "Société" (la liste des 100)???

J'espère qu'il y est une solution pour cela. Je suis assez nouveau pour les projets VBA, mais j'ai fait quelques un codage minimal avant.

Vous devez décider ce que les règles de "la Société B. V." la même "Entreprise et Co". les appliquer pour faire la conversion. E. g. est-il toujours le 1er mot? ou ce qu'il en reste après le remplacement d'un jeu de mots (b.v./total/et co.)? ... si tu ne peux pas les exprimer, vous ne serez pas en mesure d'obtenir excel de le faire.
Vous avez défini type de critères pour quoi "assez similaire" signifie... Par exemple, serait-il OK pour simplement correspondance basée sur le premier mot entre les 2 feuilles??
Oui, vous avez tous les deux raison, malheureusement, le premier mot n'est pas une option. Est-il possible de trouver une longueur minimale de caractères qui correspondent entre deux chaînes de caractères, et de l'utiliser comme "nom d'Entreprise", c'est à dire d'un mot entier doit correspondre parfaitement, y compris l'espace avant et après.
Que dire de tous les mots de plus de 4 caractères à l'intérieur d'une cellule doit correspondre exactement? C'est qu'un "makable"?
... Donné en exemple ci-dessus, la cellule avec Company Total aurait échoué le 4-char critères, alors assurez-vous que vous êtes heureux avec cela, mais si vous êtes ok, je voudrais écrire une simple fonction VBA qui prend une cellule (ou une chaîne) et un entier (pour le nombre de charecters de match) comme entrées. Il serait alors examiner chaque mot dans la chaîne Si elle est plus longue que le nombre de caractères, puis ajoutez-les sur une chaîne de sortie - puis vous pouvez comparer les 2 cellules valeurs une fois qu'ils ont déplacé par le biais de cette fonction... Seul problème est que si les mots sont dans un ordre différent dans les cellules.

OriginalL'auteur Ampi Severe | 2012-11-08