Hallo,
kleines, einfaches und wirkungsvolles Workaround:
zahl = 30
zahl = cdbl(right("00000"&zahl,5)) ' zahl ist nun gleich 00030!
^Warum wandelst Du hier wieder in Double? Bei der Darstellung werden die führenden Nullen dann doch wieder weggelassen. Weiterhin werden bei längeren Zahlen die _letzten_ 5 Ziffern genommen. Bei Kommazahlen werden die Nachkommastellen mitgenommen.
Besser:
Z = 30
formatedZ = right("00000" & left(Int(Z), 5), 5)
msgbox(formatedZ)
viele Grüße
Axel