2014-06-20 4 views
-2

J'écris une macro où j'ai besoin d'exécuter une fonction vlookup où les données en question se composent de 9 caractères (8 chiffres, 1 lettre). Le problème est que la fonction vlookup ne semble pas fonctionner correctement car les éléments d'origine et de destination sont stockés sous forme de texte.Vlookup avec 2 valeurs de texte

Existe-t-il un moyen VBA de convertir du texte en nombres ou un autre format compatible avec Vlookup? La macro s'exécute sur une boucle et les données source sont rafraîchies à chaque cycle de boucle, donc idéalement, cela fonctionnerait de manière continue.

Merci à l'avance pour toute aide

+3

Qu'est-ce que votre Vlookup ressemble? Généralement, vous ne pouvez utiliser deux plages pour rechercher quelque chose que si vous index/match – Brad

+0

Difficile à dire sans voir votre formule et l'exemple de votre mise en page de feuille de calcul. Comme c'est le cas, ce que vous essayez de faire n'est pas clair ou si VLOOKUP est la formule appropriée à utiliser. –

+0

2 tables distinctes. Le premier a 3 colonnes A, B et C. Le second a 2 colonnes D et E. Les colonnes B et D sont constituées des mêmes informations, tandis que le but est d'entrer les informations de la colonne E dans la colonne C. Colonnes D et E changement basé sur le numéro de compte dans la colonne A (tirant d'un autre programme). Donc le but est, le compte 1 arrive, les colonnes D et E sont remplies. macro recherche par D, trouve la valeur qui correspond à B, et introduit la valeur dans E dans C. Actuellement: = vlookup (B2, D: E, 2, faux) – user3761404

Répondre

0

La fonction CInt tentera de convertir un argument de type de données à un nombre entier. CDbl tentera de convertir un type de données à un double, CLng tentera de convertir un type de données à une longue

Exemple:

Public Sub test() 
    Dim s As String: s = "1000" 
    MsgBox (CInt(s) - 1) 
End Sub