2010-01-21 25 views
5

presionar Ctrl +Fin en Excel le lleva a la mayor parte inferior derecha-celda de la hoja de trabajo.Fuerza de actualización de celda "último" de la Hoja de

Si elimina las últimas filas o columnas y guarda el libro, esta última celda se actualiza, así como las barras de desplazamiento.

Recuerdo que había un comando de VBA de una línea que podía ejecutar que haría la actualización sin tener que guardar el libro, pero no recuerdo cuál es el comando, ¿tiene alguna idea?

+1

intento: 'ActiveSheet.UsedRange' pero su frecuencia no funciona – Qbik

Respuesta

13

Aquí está la respuesta:

Sub x() 
    ActiveSheet.UsedRange 
End Sub 

Ejecutar este y la última celda se restablecerá.

+0

No funciona en Excel 2013 - Concedido me dieron un libro de trabajo con funciones ocultas y otros cruft , entonces algo puede estar en conflicto. –

8

He encontrado algo que funciona consistentemente para borrar esas filas en blanco. Puede saber cuándo se está usando el "rango usado" que Excel es demasiado grande y va a agregar filas en blanco adicionales cuando usa la barra de desplazamiento hacia la derecha y va más allá de la última fila de datos reales cuando se desplaza hacia abajo. Esto provocará que se agreguen registros en blanco adicionales a la tabla cuando se importen a SQL.

para deshacerse de ellos:

  1. seleccionar toda la primera fila en la última fila de datos. Hit Ctrl + Shift + Flecha abajo para seleccionar todas las filas en blanco.
  2. Desde la pestaña Inicio, seleccione Borrar y luego Borrar todo en el menú Edición (imagen de un borrador de color gris blanquecino).
  3. Haga clic con el botón derecho y seleccione Eliminar.
  4. Ir a la celda A1 primero y luego Guardar.
  5. Prensa Ctrl + Inicio y luego Ctrl + Fin (Esto debe tomar la última celda correcta en el rango utilizado (por encima de las filas en blanco).
  6. clic nuevamente.
+1

no funciona para mí – Qbik

+0

Laurent preguntaba cómo hacerlo en VBA, no manualmente. – TylerH

+0

Eso es exactamente lo que NO se debe hacer. La solución temporal para guardar el archivo se indicó en la publicación original y la pregunta era cómo hacerlo sin guardar. –

0

Esta solución funciona para Excel 2013, pero también puede funcionar para la mayoría de las versiones recientes de Excel:

  • Seleccione la hoja de trabajo donde desea cambiar la última celda y elimine las filas y columnas no utilizadas
  • Haga clic en Archivo - Opciones - Personalizar cinta
  • En las pestañas principales, marque la casilla junto a "Desarrollador", luego haga clic en Aceptar
  • en la cinta de desarrollador que ahora aparece, haga clic en Visual Basic
  • en la esquina superior izquierda, en Objetos de Microsoft Excel, haga clic en el nombre de la hoja en la que desea forzar una actualización de la última celda de la hoja de trabajo
  • en el menú, haga clic en Ejecutar - Actualizar y cierre la ventana de Visual Basic

Al presionar Ctrl + Fin, su última celda debería actualizarse.

0

Salida http://dmcritchie.mvps.org/excel/lastcell.htm#MakeLastCell, encontrado el enlace de una pregunta similar.

Lejos del forro olvidado, pero me solucionó el problema.

Alternativamente;

  1. Active el cálculo manual (para conservar las referencias).

  2. crear una nueva hoja.

  3. Copiar celdas y Nombre de la hoja anterior.

0

Aquí es lo que hice ... ya que ninguno de los anteriores trabajó (esta vez, es decir, que es causa triste este código se ejecuta muy bien entonces todo el repentino xlCellTypeLastCell totalmente me ha fallado.) Esto sólo trabajo si codifica la primera celda de la región en la que desea tomar la última celda de ... por ejemplo, estaba pegando tablas de datos en una hoja de 12 a 40 columnas y 60 a 90 filas ... pero como era un engrudo, que siempre se inicia en la celda A79 ...

Worksheets("Data_Import").Activate 
Range("A79").CurrentRegion.Select 
A = Selection.Rows.Count - 1 
B = Selection.Columns.Count - 1 
Selection.Offset(A, B).Resize(1, 1).Select 
Set DataEnd = Selection 

me siento triste de no usar el fresco cosa células especiales, pero por desgracia, si no funciona! entonces simplemente no puedo usarlo. : C

p.s. - también se puede lanzar en una macro

ActiveSheet.Cells(Rows.Count, 1).End(xlUp).CurrentRegion.Select 
Cuestiones relacionadas