Czy możesz edytować zawartość komórki Excel bez konieczności dwukrotnego kliknięcia?

28

Mam listę około 10 000 nazw / adresów, które muszę ręcznie wyczyścić w programie Excel (fajnie!). Jak możesz sobie wyobrazić, podwójne kliknięcie, aby wprowadzić prawie każdą komórkę do edycji, jest przeciągnięciem. I frustrujące jest to, że jeśli jesteś nawet nieco blisko górnej / dolnej części komórki, kończysz na górze / dole arkusza roboczego!

Czy istnieje sposób, aby powiedzieć programowi Excel, aby pozostał w „trybie edycji”, aby po kliknięciu komórki (lub jeszcze lepiej przewinięcie do niej) automatycznie pozwoliła mi edytować zawartość? Nie mogę po prostu zacząć pisać, ponieważ to zastępuje całą komórkę, gdy często muszę po prostu edytować 1 lub 2 znaki. Dzięki.

David Gard
źródło
1
To nieprzyzwoite obejście, ale co z konwersją do CSV, dzieleniem przecinków i edytowaniem za pomocą Notatnika lub innego edytora tekstu, który ci się podoba?
gronostaj
9
Czy na pewno nie ma skryptu ani funkcji, która mogłaby wykonać to „czyszczenie”? W obliczu podobnej sytuacji wziąłem wszystkie dane z programu Excel i pomyślnie uruchomiłem je za pomocą małego skryptu wyrażenia regularnego.
Mojżesz
19
Zdecydowanie zajrzyj do tego, co mówi Mojżesz. Jeśli robisz coś 10.000 razy ręcznie, robisz to źle.
Tanner Faulkner,
@Moses - Niestety nie. Wpisy te pochodzą z bazy danych i jest to głównie pole „Nazwa adresu”, które jest splamione, a dane są bardzo niespójne. Niektórzy mówią takie rzeczy jak „Smith John Mr & Smith Joan Mrs”, które powinny brzmieć „Mr & Mrs J Smith”, podczas gdy inne są puste itp. Zasadniczo jest to początek bardzo dużego projektu.
David Gard,
1
@datatoo - Nazwy muszą być czytelne, aby można było ich używać na adresach. Z powodu połączenia wielu baz danych w jedną przez lata (i ludzi leniwych), dane są niespójne w komórce. Nie mam komórki referencyjnej do przejścia, a kiedy ta część projektu zostanie ukończona, podzielę dane na pozdrowienie, inicjały, nazwisko itp. W tym momencie mogę zacząć korzystać z automatyzacji.
David Gard,

Odpowiedzi:

20

Możesz to zrobić za pomocą następującego makra. Spowoduje to, że Twój Excel zachowa się tak, jakbyś naciskał za F2każdym razem, gdy zmieniasz wybory w arkuszu kalkulacyjnym.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    SendKeys "{F2}"
End Sub

Naciśnij Alt+, F11aby wyświetlić edytor VBA, rozwiń lewy widok drzewa, aż zobaczysz żądany arkusz, kliknij dwukrotnie ten arkusz i wklej tam powyższy kod.

Możesz to wyłączyć, dodając 'przed wierszem kodu, aby był komentarzem:

'SendKeys "{F2}"

Albo, jak sądzę, całkowite usunięcie.


Działa to również bardzo dobrze, jeśli używasz enterdo przenoszenia komórek (co, jak podejrzewam, jest twoim głównym celem), ponieważ zacznie je natychmiast edytować i pozwoli ci poruszać się znacznie szybciej.

kraina krańca
źródło
Btw, dziękuję, że o to pytam, sam trochę z tego skorzystam, ponieważ jest to znacznie lepsze w przypadku wielu manipulacji danymi!
kraina krańca
Doskonały! Właśnie tego chcę dla tego skoroszytu, dziękuję bardzo. Jedyną niewielką dziwnością, którą zauważyłem, jest to, że jeśli używam „Shift + Tab”, aby przechodzić przez komórki w prawo-lewo, muszę za każdym razem represjonować „Shift”, w przeciwieństwie do możliwości przytrzymania go.
David Gard
3
Uwaga: używanie VBA w ten sposób ma swoje wady. W szczególności wyeliminuje to wszelkie funkcje cofania na arkuszu. Tak więc, jeśli przypadkowo spieprzysz i usuniesz niektóre dane, lepiej mieć kopię zapasową. Ponadto klawisze strzałek nie działają już podczas poruszania się po arkuszu.
Excellll
3
@Excellll ma doskonały punkt; utracona jest funkcja cofania. W przypadku tak prostego makra nie wydaje się to warte. Zastanów się nad użyciem AutoHotKey - możesz powiedzieć mu, aby naciskał F2 po Enter, Shift-Enter, Tab lub Shift-Tab. (Możesz też upewnić się, że działa tylko w Excelu.)
benshepherd
19

Możesz przejść do trybu edycji z klawiatury za pomocą F2klawisza lub możesz utworzyć makro VB, które ma wyskakujące okienko / monit. Chociaż ściśle mówiąc, nie ma żadnej opcji, o której wiem, aby pozostać w F2trybie, możesz napisać mały skrypt do Excela, który idzie w dół o jeden wiersz i wchodzi do komórki (następnie poproś, aby to makro zastąpiło „powrót / tab” do nowej kolumny) .

Edycja: Inną opcją byłoby zarządzanie tymi edycjami za pomocą innego programu z bardziej dostępnym interfejsem użytkownika dla tego rodzaju danych. Na przykład wepchnij wszystkie te dane do programu bazy danych, takiego jak Access, a następnie zarządzaj polami danych za pomocą ich interfejsu użytkownika.

Jednak wszystko to pozwala uniknąć głównego problemu i dlatego istnieje 10 000 wierszy danych wymagających ręcznego czyszczenia? Jeśli napisanie jednego skryptu, aby rządzić nimi wszystkimi, jest zbyt kłopotliwe, dlaczego nie podzielić tabeli na znaczące grupy i zająć się nimi w ten sposób? Trudno sobie wyobrazić, że 10 000 pól danych musi zostać przetworzonych ręcznie i nie można tego obejść.

Mojżesz
źródło
1
Dzięki za wskazówkę F2, która pomaga. Spróbuję zastąpić klawisze Return / Tab dla tego arkusza kalkulacyjnego tą funkcją. Dzięki.
David Gard,
@DavidGard nie ma problemu. Zaktualizowałem również moją odpowiedź trzecią alternatywą, która może Ci pomóc.
Mojżesz
3
+1...why is there 10,000 rows of data that require manual cleaning?
Icode4food
7

Jedyny sposób, jaki znam, to naciskanie F2. Działa to za każdym razem, dopóki nie naciśniesz Return/, Enteraby wyjść z bieżącej komórki.

Kevdog777
źródło
2

Możliwą odpowiedzią byłby program o nazwie „Środkowy przycisk myszy (lub kółko) do podwójnego kliknięcia”. Jest on dostępny w projekcie kodowym. Nie wiem, czy powinienem tutaj zamieszczać linki, ale jestem pewien, że Google może być twoim przyjacielem. gdy jest aktywny, możesz kliknąć środkowym przyciskiem myszy jednym kliknięciem, a komputer wyśle ​​podwójne lewe kliknięcie.

Dan
źródło
0

Naciśnięcie „F2” jest prawdopodobnie najlepszym wyborem, choć nie pozostanie w trybie edycji. Jeśli znasz zmiany, które chcesz wykonać, funkcja znajdź / zamień (Ctrl + F) jest również bardzo przydatna i może zaoszczędzić dużo czasu. Dodatkowo, można znaleźć listę ponad 200 excel skrótów klawiaturowych tutaj .

Carlos Manta
źródło
0

zaznacz całą kolumnę i użyj funkcji znajdź i zamień. po prostu umieść puste miejsce na obu znajdź i zamień, a następnie zaktualizuje - w ten sposób można oszukać program Excel i działa

przewyższać
źródło
0

Wypróbuj formułę = konkatenuj. Połącz informacje o dwóch komórkach razem. Następnie możesz skopiować i wkleić wartości.

Luke
źródło
0

Sprawdź parametry formatu komórki ... jeśli komórka ma ukryty znacznik wyboru na zakładce ochrony, nie da ci możliwości edycji na zapisanym tekście komórki. pole wyboru powinno być odznaczone, aby zobaczyć zawartość pola i edytować je w razie potrzeby.

użytkownik500030
źródło
To tak naprawdę nie odpowiada na pytanie zadane w pytaniu. Przy odrobinie powtórzenia będziesz mógł dodać pomocne informacje w komentarzu.
fixer1234
0

To było dla mnie najłatwiejsze rozwiązanie.

http://ccm.net/forum/affich-172180-unable-to-change-date-format-in-excel

  1. Najpierw zmień format na określoną datę dla kolumny danych.
  2. Po zaznaczeniu kolumny wybierz „Kopiuj”
  3. Otwórz notatnik (NIE SŁOWO, to musi być notatnik)
  4. Wklej swoje dane do notatnika.
  5. W notatniku naciśnij CTRL + A (zaznacza wszystkie komórki), a następnie naciśnij CTRL + C (kopiuje dane)
  6. Wklej dane z powrotem do Excela.
  7. Powie coś o tym, że rozmiar nie jest taki sam, i tak go wklej.
Michael LaPalme
źródło
0

Jeśli edytujesz komórki bez formuły lub coś, co można zrobić tylko w programie Excel, po prostu skopiuj te komórki i wklej je jako zwykłe kolumny lub tabelę do dokumentu programu Word. Dowolnie edytuj dane w tych tabelach, a następnie skopiuj z powrotem do oryginalnego miejsca w programie Excel.

Jacek
źródło