Active Sheet, ¿Puede ser genérica?

¿Buenas, qué tal?
El tema es el siguiente: yo tengo en Access 2007 un libro con los macros que uso "genericamente" para ciertos archivos.
Cada vez que abro esos archivos y preciso usar algún macros los ejecuto desde el "generico".
El tema es el siguiente, cuando hice el macro me quedó registrado el nombre de la hoja, en este caso "Estado de cuenta", y solo se ejecuta si la hoja activa se llama de igual forma, pero la pregunta es: ¿Se puede dejar de alguna forma que no sea imprescindible que la hoja activa se llame "Estado de cuenta"? O sea, ¿si la hoja se llama "Hoja1" que igual se ejecute el macro?.
Gracias.
A continuación les dejo parte del macro para que vean lo que les digo.
Selection.RemoveSubtotal
    ActiveWorkbook.Worksheets("Estado de cuenta").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Estado de cuenta").Sort.SortFields.Add Key:=Range( _
        "F2:F1000"), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:= _
        xlSortNormal
    ActiveWorkbook.Worksheets("Estado de cuenta").Sort.SortFields.Add Key:=Range( _
        "B2:B1000"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
        xlSortNormal
    ActiveWorkbook.Worksheets("Estado de cuenta").Sort.SortFields.Add Key:=Range( _
        "F2:F1000"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
        xlSortNormal
Gracias

1 respuesta

Respuesta
1
Para empezar eso me suena a Excel, no a Access, pero bueno...
En principio podrías seleccionar la hoja y después referirte a ella como ActiveSheet
Si, en realidad tienes razón es EXCEL y no access, es que me confundí ya que los datos los saco de una base en access, UPS! ;)
Pero no entiendo a que te referís cuando me decís podrías seleccionar la hoja y después referirte a ella como ActiveSheet
Te animás a escribir un pedacito del código (ya que en realidad se vuelve a repetir) como quedaría. Gracias por la pronta respuesta.
Creo que ya te entendí. Demore como 2 minutos, je je!
A ver si esto está bien:
Selection.RemoveSubtotal
    ActiveSheet.Sort.SortFields.Clear
    ActiveSheet.Sort.SortFields.Add Key:=Range( _
        "F2:F1000"), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:= _
        xlSortNormal
Gracias!
ActiveWorkbook. Sheets("Estado de cuenta"). Activate
ActiveWorkbook. ActiveSheet. Sort. SortFields. Clear
etc
Incluso puedes ahorrarte código así:
ActiveWorkbook. Sheets("Estado de cuenta"). Activate
With ActiveWorkbook.ActiveSheet
  .Sort.SortFields.Clear
  .Sort.SortFields.AddKey...
End With

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas