J'ai une liste de valeurs que j'utilise pour un Cependant, la dernière valeur a toujours cette fin Y a-t-il de toute façon je peux changer ma plage nommée pour exclure la dernière virgule? P> ce que j'ai essayé: strong> p> J'ai une liste de valeurs comme ci-dessous: p> Il s'agit de la formule I utilisée: p> Ma clause où: p> où code> clause de mon énoncé SQL de feuille Excel. , code>. P> "" "& $ a6 &" '" code> pour remplacer la dernière ligne , code> avec ce 'AP' code>.
Cependant, mes gammes nommées montrent dans l'ordre alphabétique lorsque je l'utilise dans ma clause Where. Donc, 'ap' code> ne sera pas la dernière valeur. P>
3 Réponses :
Ce code très basique coupera toutes les valises de la fin d'une chaîne:
Comme vous utilisez une gamme qui est déjà un tableau, utilisez Voir les commentaires du code pour plus de détails. p> rejoindre code> au lieu de la concaténation manuelle. Gardez simplement vos valeurs réelles dans la cellule et n'ajoutez pas , code> ou ' code> dans la cellule elle-même.
Salut, merci pour cela. 1) Est-ce que "TestNamedRange" est ma plage nommée avant de l'avoir été appliquée? 2) Où ce code va-t-il émettre les résultats?
1. TestNamedRange est votre gamme nommée avec des valeurs de prédicat SQL. 2. Ceci est juste un sous-test, stresult code> contiendra la chaîne finale. Contactez-le en une fonction si vous devez le consommer à l'intérieur d'une autre routine.
Pouvons-nous simplement cracher une chaîne résultat d'une cellule spécifique? Je veux la cracher à une cellule et utiliser cela comme ma clause.
Vous pouvez, juste chercher Comment créer un UDF dans VBA code>.
Function RemoveLastComma (InputString as String)
RemoveLastComma = Application.Worksheetfunction.Left(InputString ,Len(InputString)-1)
End Function
Votre question est un peu trompeuse. Utilisez-vous
formule code> ouvba code> pour cela? Ou peut-être utiliser la formulecode> dans votrevba code>?La liste d'entrée d'origine incluait-elle la virgule ou est-ce que celle-ci est ajoutée par votre code de référence? Si ce dernier, pouvez-vous s'il vous plaît inclus ce code.
Formule pour ma portée nommée. L'instruction SQL est dirigée par VBA.
La liste d'entrée d'origine n'inclut pas la virgule, j'ajoute
'nom', code> à chacun à l'aide d'une formule. Ensuite, j'ajoute une formule finale à avoir'nom' code>Comment construisez-vous le SQL? Il suffit de le sortir,
Strawhere = xyz, code>Strait = gauche (Straither, Len (Streillle) -1) Code>Hey @nathan_sav, puis-je faire cet ajustement à ma clause Où? Voir mon édition. J'utilise une formule pour ma clause Where.
GAUCHE (TEXTJOINIFS (CHAR (10), 24,2, NAMEDRANGE), LEN (TEXTJOINIFS (C HAR (10), 24,2, NAMEDRA NGE) & ")") - 1) Code> J'utiliserais une variable pour les résultats de la jointure, puisgauche (Straither, Len (Streight) -1) Code>Soupir pourquoi je ne peux pas avoir ce travail! Je reçois toujours
'tor', code> comme ma fin de ma plage. Ceci est ma clause actuelle où,position dans "&" ("et à gauche (Textjoinifs (Char (10), 24,2, Nom de marque2), Len (Textjoinifs (Char (10), 24,2, Bookn Ame2 ) & ")") - 1) code>