Ayuda con activeworkbook

Mira hice lo que me dijiste para obtener el nombre, pero cuando intento que ordene el archivo, me sale subíndice fuera del intervalo.  (Como que se borra el nombre del archivo)
nombre_del_fichero = ActiveWorkbook.Name
Cells.Select
ActiveWorkbook.Worksheets("nombre_del_fichero").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("nombre_del_fichero").Sort.SortFields.Add Key:= _
Range("A1"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortTextAsNumbers
With ActiveWorkbook.Worksheets("nombre_del_fichero").Sort
.SetRange Range("A1:L816")
.Header = xlNo
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Agradecería me ayudaras nuevamente.

1 Respuesta

Respuesta
1
El 2 problemas
1) Es que le estas pasando un nombre de HOJA que no existe
ActiveWorkbook.Worksheets("nombre_del_fichero")  
le estas diciendo que la hoja del libro actual se llama nombre_del_fichero,
2) para asignar la variable nombre_del_fichero es así:
ActiveWorkbook.Worksheets(nombre_del_fichero)
Sin las comillas dobles, ya que a asignárselas le dices que es un texto y no una variable
Ahora me toma el nombre, pero me sigue arrojando el mismo error en la primera línea
ActiveWorkbook.Worksheets(nombre_del_fichero).Sort.SortFields.Clear
me sigue diciendo subíndice fuera del intervalo.
Ojalá me puedas ayudar,
gracias.
Puede ser porque el archivo que abro es un txt, entonces toma el nombre archivo.txt, y no como excel, sabes como se puede hacer para que tome el nombre del archivo en excel.
Aunque el archivo se abre con excel se sigue llamando archivo.txt, entonces no debería ser ese el problema, el asunto es que se me cae en la línea que te indiqué más arriba.
Lo que pasa es que a realizar
nombre_del_fichero = ActiveWorkbook.Name
toma la extensión .txt del libro
Por tanto deberías obtener el nombre de la hoja del libro y eso seria así:
nombre_del_fichero = ActiveSheet.Name

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas