J'ai besoin d'étendre Certains numéros de l'un à l'autre
Comme lorsque l'entrée est 399207 et 10 = Sortie 399207 399208 399209 399210
Entrée :
422209 10
904L1009 10
356608 11
0003ML00030-1 3
00EO0632 33
00SH0062 65
0177-5002 3
01RLCB0082901001 3
02AE0078 81
02ID0081 82
0301ME001218-1 3
07HY0569 71
327798 800
336999 7000
Actuellement, j'utilise une sous-fonction définie par l'utilisateur pour ce processus.
Voici mon code
Function EXPAND_serial(pno As String, n As String, _
Optional delim As String = "@")
Dim m As String, i As Long, pnos As Variant
m = Right(pno, Len(n))
pno = Left(pno, Len(pno) - Len(n))
ReDim pnos((m) To (n))
For i = (m) To (n)
pnos(i) = pno & (i)
Next i
EXPAND_serial = Join(pnos, delim)
End Function
Lorsque j'utilise ce code, il fonctionne bien (01 à 09) pour les numéros principaux, mais si je croise 09 à 10 ou plus, il ne fonctionne pas.
Il saute les 0 Ainsi, le chiffre d'entrée ne correspond pas à la longueur de chaque chiffre de sortie si des 0 sont présents.
Voir mon Snap pour une meilleure compréhension. Comment réparer cela, aidez-moi
Le fond rouge clair met en évidence le problème