Cambiar columnas calculadas tras grabar una macro en Microsoft Access

Buenas de nuevo!
En este caso creo que es todo más rapido.
Tras hacer la macro y rellenar toda la columna perfectamente, esta me da el resultado en porcentaje. He dado a grabar macro y quería cambiar las 4 columnas calculadas a categoría numero sin decimales.
El código que pongo es este:
    Columns("E:E").Select
    Range("E9").Activate
    Selection.NumberFormat = "0"
    Columns("J:J").Select
    Range("J9").Activate
    Selection.NumberFormat = "0"
    Columns("O:O").Select
    Range("O9").Activate
    Selection.NumberFormat = "0"
    Columns("T:T").Select
    Range("T9").Activate
    Selection.NumberFormat = "0"
Esto me cambia perfectamente las columnas indicadas, pero por una razón que desconozco, también me cambia la cateogoria del resto de columnas! Con lo que me destroza otras que si quiero mantener como %.
¿Puedes ayudarme? Muchas gracias..

1 respuesta

Respuesta
1
Estuve probando el código así como describes el procedimiento que quieres que haga y no me da ningún problema, verifica bien si en algún lado de tu código no hay algún método o propiedad como Range que selecciona toda tu hoja u otro que esté haciendo lo mismo.
El código que me has pasado, creo que está correcto porque haciéndolo paso a paso con el depurador (con F8) no da ningún otro resultado que no quieras.
Verifica lo que te he escrito y luego me avisas.
Pues justo es eso que dices, por alguna razón cuando ejecuta esa rutina, al terminar esta toda la tabla seleccionada, así que pone todos los campos como numéricos.
Te comento un par de cosas por si pueden tener algo que ver.
- Los datos que quiero poner como num empiezan todos a partir de las celdas numero 10.
- Las celdas anteriores son cabeceros, y las 3 primeras filas y columnas están combinadas. Si pinchi en, por ej, P1 y arrastro hacia abajo, selecciona toda la tabla.
¿Puede ser algo de eso? La primera de celda sin combinar es la 9.
Si, en algo influye cuando tienes celdas combinadas en tu planilla electrónica y eso no sabía que tenías en la tuya (influye principalmente porque haces el Select sobre las columnas, entonces toma toda esa columna incluyendo las combinaciones de columnas que tienes en ella). Cambia por lo siguiente:
'--------------------------------
'quita el Select de las columnas comentando las mismas con la comilla simple (') o borrando y haz el select sobre el rango asignado por RANGE
    'Columns("E:E").Select
    Range("E9:E65000").Select
    Selection.NumberFormat = "0"
    'Columns("J:J").Select
    Range("J9:J65000").Select
    Selection.NumberFormat = "0"
    'Columns("O:O").Select
    Range("O9:O65000").Select
    Selection.NumberFormat = "0"
    'Columns("T:T").Select
    Range("T9:T65000").Select
    Selection.NumberFormat = "0"
'-------------------------------

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas