Próbuję wyszukać i zamienić w programie Excel, kolumna jest sformatowana jako „Tekst”.
Odnaleźć: [@
zamienić: @
Ilekroć znajdzie to dopasowanie na początku komórki, tj. Zawartość komórki zaczyna się od [@ i próbuje zastąpić ją przez @, wynikiem jest błąd „Ta funkcja jest nieprawidłowa”
Wydaje mi się, że skoro operator @ służy do odwołań, powoduje to, że komórka jest interpretowana inaczej (już nie jako tekst)
Jak sprawić, by ta wymiana działała?
Skopiuj / wklej do innego programu nie jest dobrą opcją, ponieważ niektóre komórki zawierają podział wiersza.
'@
akceptowalną?'
Symbol nie będzie widoczny.Odpowiedzi:
Ku mojemu zaskoczeniu, Excel zna przynajmniej 4 różne metody zastępowania podłańcucha.
Wszystkie mogą obsługiwać prowadzenie
@
w sposób, w jaki chcesz. Z wyjątkiem pierwszej metody, której używasz podczas otwierania okna wyszukiwania i zamiany .Jest
@
to symbol zastępczy tekstu. . Jeśli wpiszesz wartość liczbową jak123
w komórce i ustawisz niestandardowy format na@
, komórka zostanie sformatowana jako tekst (Wyrównanie: prawo »lewo).Te wszystkie przykłady wymienić
b
wartości komórki A1'abc
z123
. Wynik jest zawszea123c
.1. Range.Replace () (to samo co CTRL+ Hokno dialogowe)
Składnia:
Range.Replace( What, Replacement, [LookAt], [SearchOrder], [MatchCase], [SearchFormat], [ReplaceFormat] )
2. WorksheetFunction.Replace ()
Składnia:
WorksheetFunction.Replace( old_text, start, number_of_chars, new_text )
3. WorksheetFunction.Substitute ()
Składnia:
WorksheetFunction.Substitute( text, old_text, new_text, [nth_appearance] )
4. Zamień ()
Składnia:
Replace( Expression, Find, Replace, [Start, [Count, [Compare]]] )
Aby odpowiedzieć na pytanie Loopo. Powinieneś użyć ostatniej metody, ponieważ może ona obsłużyć
@
na początku wartości komórki. Uczyniłem to trochę wygodniejszym z 2 wejściami.źródło