No estoy seguro de entender su pregunta (si la hay) pero aquí está su código revisado (y en funcionamiento):
Sub factorial ()
Dim I como entero
Hecho oscuro como entero
Dim n As Integer
n = 5
hecho = 1
Para I = 1 a n
hecho = hecho * I
Siguiente yo
Hecho de MsgBox
End Sub
¿Puedes microondas albóndigas congeladas?
¿Dónde puedo encontrar buena comida china en Estocolmo?
¿Qué papel juega el vino de arroz en la cocina tradicional china?
¿Cuál es el plato chino hecho con una capa de soja y un caldo de hongos shiitake?
Dado que es un poco absurdo escribir un procedimiento que siempre da el mismo resultado, sería mejor tener algo como esto:
Función factorial (n como entero) como entero
Dim I como entero
Hecho oscuro como entero
hecho = 1
Para I = 1 a n
hecho = hecho * I
Siguiente yo
Función final
A continuación, podría llamar es como cualquiera
MsgBox (factorial (6))
o
dim myNumber como entero
myNumber = factorial (6)