Je veux insérer une instruction if dans une cellule via vba qui comprend des guillemets doubles.
Voici mon code:
Worksheets("Sheet1").Range("A1").Value = "=IF(Sheet1!B1=0,"",Sheet1!B1)"
En raison de doubles guillemets, je rencontre des problèmes pour insérer la chaîne. Comment gérer les guillemets doubles?
excel
vba
double-quotes
user793468
la source
la source
Réponses:
Je trouve que le moyen le plus simple est de doubler les devis pour gérer un devis.
Certaines personnes aiment utiliser CHR (34) *:
* Remarque: CHAR () est utilisé comme formule de cellule Excel, par exemple en écrivant "= CHAR (34)" dans une cellule, mais pour le code VBA, vous utilisez la fonction CHR ().
la source
Une autre solution consiste à créer une chaîne avec un caractère de substitution temporaire. Ensuite, vous pouvez utiliser REPLACE pour changer chaque caractère temporaire en guillemets doubles. J'utilise le tilde comme caractère de remplacement temporaire.
Voici un exemple d'un projet sur lequel j'ai travaillé. Il s'agit d'une petite routine utilitaire pour réparer une formule très compliquée si / quand la cellule est piétinée accidentellement. C'est une formule difficile à entrer dans une cellule, mais ce petit utilitaire la corrige instantanément.
Ce n'est vraiment qu'une simple astuce de programmation, mais cela facilite la saisie de la formule dans votre code VBA.
la source
Tous les guillemets entre guillemets doubles qui entourent la chaîne doivent être modifiés en double. Par exemple, j'avais une des chaînes de fichier json: "delivery": "Standard", dans Vba Editor je l'ai changé en "" "delivery" ":" "Standard" "," et tout fonctionne correctement. Si vous devez insérer beaucoup de chaînes similaires, ma proposition d'abord, insérez-les toutes entre "", puis avec l'éditeur VBA remplacez "inside into" ". Si vous faites une erreur, l'éditeur VBA affiche cette ligne en rouge et vous corrigerez cette erreur.
la source
Je préfère la réponse de tabSF. mettre en œuvre la même chose à votre réponse. voici mon approche
la source
J'ai écrit une petite routine qui copie la formule d'une cellule dans le presse-papiers que l'on peut facilement coller dans Visual Basic Editor.
Il est initialement publié sur la section Vault des forums Chandoo.org .
la source