scénario fort> p>
J'ai une cellule Excel contenant de la valeur avec des zéros de premier plan (par exemple: 0002). Ma macro est la copie de cette valeur à une variable appelée cellule de sortie montrant comme J'ai besoin de la cellule de sortie pour montrer p>
Quelqu'un sait comment faire? P> runnumber code> et la collant dans un autre fichier en concaténant ce
exécutant code> avec une autre chaîne. Mais quand cela le fait, il me manque les principaux zéros de
runnumber code> p>
yeininyy = "19" code> p>
CINOMBE = "PFTPA-" & Anninyy & "-" & RunNumber Code> P>
PFTPA-19-2 code> p>
PFTPA-19-0002 code> p>
3 Réponses :
En supposant que le champ contenant le 0002 est formaté comme champ de texte puis travaille avec des cordes. Ici, je lis la lecture de la cellule A1. Cela signifie que vous pouvez traiter un nombre variable de zéros de premier plan.
Option Explicit Public Sub test() Dim runNumber As String, yearInYy As String, ciNumber As String yearInYy = "19" runNumber = [A1] ciNumber = "PFTPA-" & yearInYy & "-" & runNumber Debug.Print ciNumber End Sub
Le problème avec votre méthode est que j'ai besoin de préférer des cellules de la source comme texte que je ne souhaite pas. La réponse d'une autre personne ci-dessus ne formera pas les cellules du texte de la source et ne formatera pas la variable de la variable dans la forme 0000. Je préfère faire de cette façon. Merci pour votre effort. Au fait, juste curieux de savoir ce que [A1] signifie? Ça veut dire plage ("A1"). Valeur?
J'essayais de répondre au fait que vous pouvez avoir un nombre variable de zéros et il n'y a aucune déclaration que ce nombre sera toujours la même longueur. De plus, si cette cellule n'est pas formatée de texte comment avez-vous les 000 à l'avant selon votre description? [] C'est une notation alternative pour la portée de la portée A1.
Il est toujours possible sans formater la cellule. Je suis capable de le faire avec l'aide d'une autre personne ici à Stackoverflow. Il fonctionne en suivant ce code CINAND = "PFTPA-" & Ternininy & "-" & Format (Runnumber, "0000") Code>
Ce que je dis, c'est que vous avez dit que vous avez 0002 dans la cellule. Comment les zéros sont-ils présents si la cellule n'est pas formatée? Si vous n'aviez que 2 dans la cellule et que vous vouliez 0002, ce serait différent. Vous pouvez également utiliser le format $ plutôt que le format pour des gains d'efficacité mineurs.
Oh oui..Correct. Ma faute. J'ai demandé de cette façon dans la question. Mais quand je vois une méthode sans formatage pré-cellule, j'ai préféré de cette façon.
Ça va bien :-) Notez mon point sur le format de fonction dactylographié $
Bien sûr fera. Format $ est une réduction légèrement du temps de calcul, n'est-ce pas?
Dans ce cas, vous ne remarquerez pas mais en principe oui. Certainement si vous utilisez dans une longue boucle par exemple. Mérite juste d'être conscient de.
Pour ajouter des zéros de tête à une chaîne, vous n'avez pas besoin de VBA, vous pouvez utiliser la formule Excel suivant pour ceci: Ça fonctionne comme suit: P> < ul>
ciNumber = "PFTPA-" & yearInYy & "-" & Format(runNumber, "0000") Using the Format function, you can convert a date or number to a string with a specific format. All we do here is require 4 digits, with leading zeros.The equivalent in Excel itself is the TEXT function