Retenir les zéros de tête dans la sortie de la masortingce reformulée

J'essaie de conserver les zéros avancés dans une sortie de tableau qui utilise des types de données Variant et Long. Lorsque j'essaie de changer la variable D en Chaîne, j'obtiens une erreur de concordance de type. Un problème supplémentaire est que le nombre de zéros avancés doit être flexible car les valeurs varient de 4 à 9 numbers. Je collage tout le sous-dessous, ainsi qu'une capture d'écran des valeurs et des résultats d'input.

Merci d'avance pour toute suggestion!

Sub ExpandRanges() Dim ArrayData As Variant Dim ArrayOut As Variant Dim X As Long Dim D As Long Dim Index As Long ActiveSheet.Range("A1:B3").NumberFormat = "@" ArrayData = Range("A1:B3") ReDim ArrayOut(1 To Evaluate("Sum(B1:B3-A1:A3+1)"), 1 To 1) For X = 1 To UBound(ArrayData) For D = ArrayData(X, 1) To ArrayData(X, 2) Index = Index + 1 ArrayOut(Index, 1) = D Next Next With ActiveSheet.Range("D1").Resize(UBound(ArrayOut), 1) .Cells = ArrayOut End With End Sub 

entrez la description de l'image ici

Votre NumberFormat devrait être quelque chose comme "0000000000" pour une string de 10 numbers qui conserve les zéros principaux.