2010-01-21 10 views
5

Naciśnięcie Ctrl + End w programie Excel można dostać się do dolnej prawej skrajnej komórki w arkuszu.Siła odświeżania „ostatnie” komórki arkusza

Po usunięciu ostatnich wierszy lub kolumn i zapisaniu skoroszytu ta ostatnia komórka zostanie zaktualizowana, podobnie jak paski przewijania.

Pamiętam, że było jedno-liniowe polecenie VBA, które można uruchomić, które wykonałoby aktualizację bez konieczności zapisywania skoroszytu, ale nie pamiętam, co to polecenie - czy masz jakieś pomysły?

+1

try makro: 'ActiveSheet.UsedRange' ale jego często nie działa – Qbik

Odpowiedz

13

Oto odpowiedź:

Sub x() 
    ActiveSheet.UsedRange 
End Sub 

Run to i ostatnia komórka zostanie zresetowany.

+0

Nie działa w programie Excel 2013 - udzielone Dostałam skoroszyt z ukrytych funkcji i innych cruft , więc coś może być w konflikcie. –

8

Znalazłem coś, co konsekwentnie działa, aby usunąć puste wiersze. Możesz sprawdzić, kiedy używasz "używanego zakresu", który jest zbyt duży i zamierza dodać dodatkowe puste wiersze, gdy korzystasz z paska przewijania po prawej stronie i podczas przewijania do dołu wykracza poza ostatni wiersz rzeczywistych danych. Spowoduje to dodanie dodatkowych pustych rekordów do tabeli po zaimportowaniu do SQL.

Aby pozbyć się z nich:

  1. Zaznacz cały pierwszy wiersz pod ostatnim rzędem danych. Hit Ctrl + Shift + Strzałka w dół, aby wybrać wszystkie puste wiersze.
  2. Z zakładki Strona główna Wybierz Wyczyść, a następnie Wyczyść wszystko z menu Edycja (zdjęcie białawo-szarej gumki).
  3. Kliknij prawym przyciskiem myszy i wybierz Usuń.
  4. Najpierw przejdź do komórki A1, a następnie Zapisz.
  5. Prasa Ctrl + Home a następnie Ctrl + Koniec (To powinno zająć prawidłową ostatnią komórkę w stosowanym zakresie (powyżej pustych wierszy).
  6. ponownie kliknij przycisk Zapisz.
+1

to nie działa dla mnie – Qbik

+0

Laurent pytał, jak to zrobić w VBA, a nie ręcznie. – TylerH

+0

Dokładnie tego NIE należy robić. Sposób obejścia tego pliku został określony w oryginalnym poście, a pytanie brzmiało, jak to zrobić bez zapisywania. –

0

To rozwiązanie działa w programie Excel 2013, ale może również działać w przypadku najnowszych wersji programu Excel:

  • Wybierz arkusz, w którym chcesz zmienić ostatnią komórkę, i usuń wszystkie nieużywane wiersze i kolumny.
  • Kliknij Plik - Opcje - Dostosuj wstążkę
  • W zakładce Główne zaznacz pole "Deweloper", a następnie kliknij OK
  • na wstążce Developer, które się pojawi, kliknij przycisk Visual Basic
  • W lewym górnym rogu, pod Microsoft Excel Objects, kliknij na nazwę arkusza, w którym chcesz, aby wymusić odświeżenie ostatniej komórki w arkuszu za
  • W menu, kliknij Uruchom - Odśwież, a następnie zamknij okno Visual Basic.

Po naciśnięciu Ctrl + End Twoja ostatnia komórka powinna zostać odświeżona.

0

Zapoznaj się z http://dmcritchie.mvps.org/excel/lastcell.htm#MakeLastCell, znaleziono link z podobnego pytania.

Daleko od zapomnianego jednego liniowca, ale rozwiązał problem dla mnie.

Alternatywnie;

  1. Włącz ręczne obliczenia (aby zachować odniesienia).

  2. utwórz nowy arkusz.

  3. Kopiuj komórki i nazwę starego arkusza.

0

Oto co zrobiłem ... od żaden powyższe pracował (to znaczy, że czas, który jest smutny powód ten kod został uruchomiony pięknie to wszystko nagle xlCellTypeLastCell całkowicie zawiodły mnie). Tylko w ten sposób zadziała, jeśli zakodowałeś pierwszą komórkę regionu, w którą chcesz pobrać ostatnią komórkę ... na przykład wklejałem tabele danych do arkusza 12 - 40 kolumn i 60-90 wierszy ... ale ponieważ był to wklej, zawsze rozpoczęła się w komórce 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 

czuję się smutny, aby nie używać chłodnego specjalne komórki rzeczy, ale niestety, jeśli to nie działa! wtedy po prostu nie mogę tego użyć. : C

p.s. - można również rzucać w

ActiveSheet.Cells(Rows.Count, 1).End(xlUp).CurrentRegion.Select 
Powiązane problemy