Macro: ¿Cómo hago para que este relacionada con el nombre de una columna y no a la columna en si?

Estoy probando de hacer varias macros. Pero use el "Record macro" y los cambios que hago me aplican a la columna (ejemplo M:M) que selecciono en el momento pero no al nombre de la columna. Con lo cual si quiero aplicar lo mismo a otro archivo, la macro corre para la columna M:M aunque no necesariamente sea la columna correcta. Como hago para que identifique el nombre y ejecute la macro bajo ese nombre.

Aca les pongo un ejemplo

Sub Format_revenue()
'
' Format_revenue Macro
'

'
Columns("M:M").Select
Application.CutCopyMode = False
Selection.NumberFormat = "$* #,##0,"
Columns("O:O").Select
Selection.NumberFormat = "$* #,##0,"
Columns("L:L").Select
Range("L4").Activate
Selection.Delete Shift:=xlToLeft
Columns("M:M").Select
Range("M4").Activate
Selection.Delete Shift:=xlToLeft
End Sub

2

2 Respuestas

89.875 pts. Ingeniero Industrial, docente universitario de...

Otra idea podría ser definir tu base de datos como Tabla de Excel:

Insertar,  Tabla            (no Tabla Dinámica)

Con lo cual los campos (columnas de la tabla se pueden llamar directamente con un nombre).

Por ejemplo:           Range("Tabla1[Ventas]").Select

La ventaja de la Tabla es que también actualizará el formato hacia los nuevos registros (líneas) que agregue

4.703.875 pts. Sancho, si los perros ladran ...

A qué te refieres con "al nombre de la columna" tienes un encabezado en cada columna y quieres buscar ese encabezado, y una vez localizada la columna con ese encabezado, ¿qué se ejecute la macro?

¿O de qué forma tienes pensado hacerlo?

Podrías poner ejemplos de cómo está la información en un archivo y cómo está en otro archivo y en dónde debe correr la macro, según cada archivo.

Hola Dante, efectivamente quería buscar por el encabezado, ya que si era por la celda, al cambiar el orden de las columnas de la tabla funcionaba mal la macro. Voy a hacer los ejemplos así te muestro.

Mil gracias!

Puedes poner ejemplos o imágenes de lo que tienes y explicas los ejemplos

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas