Aplicar Formato Personalizado a Celdas desde VBA

Buen día:

Poseo una pequeña aplicación en Access en la cual capturo novedades de nomina de empleados. En dicha aplicación he insertado un modulo de código VBA el cual me permite realizar una exportación de registros desde Access hacia un archivo de Excel ingresados en un intervalo de fechas que la aplicación solicita ingresar al momento de efectuar la exportación.

Este código funciona perfectamente, pero resulta que debo aplicar cierto formato a cada celda en Excel, ya que el archivo final se convierte en un archivo plano para ser subido al programa contable.

Requiero de su amable colaboración para que me digan como puedo aplicar el formato que necesito en el archivo Excel así:

Ejemplo: En la celda A2 el valor traído de Access es 72048768. Necesito aplicar un formato de tal forma que me quede 0000072048768. Es decir, en la columna A los valores introducidos en cada celda deben completar 13 dígitos (completando con ceros adicionales a la izquierda), en la columna B se deben completar 5 dígitos, en la columna C se deben completar con 3 dígitos y así sucesivamente para cada columna subsiguiente

A continuación el código VBA que realiza el copiado de los datos extraídos de Aceess en la hoja de Excel

fila = 2
columna = 1
While Not rst.EOF
For Each fld In rst.Fields
.Cells(fila, columna) = fld.Value
If columna = 1 then
AQUÍ ES DONDE DEBO APLICAR EL FORMATO A LA CELDA
End If
columna = columna + 1
Next
columna = 1
fila = fila + 1
rst.MoveNext
Wend

Sin embargo, en el código anterior, después de la linea que evalúa en que intentar de columna esta (If columna = 1 then), he colocado el siguiente código:

fld.Cells(fila, columna).Selection.Numberformat = "0000000000000"

Pero me arroja un error en tiempo de ejecicion que dice que el objeto no admite esta propiedad o método. Ahora bien, si le quito el fld y lo dejo así:

.Cells(fila, columna).Selection.Numberformat = "0000000000000" me arroja un error de compilación que dice no se ha definido Sub o Function

He probado de muchas maneras pero siempre me sale error

Les agradezco muchísimo me puedan ayudar con esto

0

Añade tu respuesta

Haz clic para o