Jak skopiować tekst wieloliniowy z Excela bez cudzysłowów?

71

Gdy utworzysz ciąg wieloliniowy w komórce programu Excel (za pomocą Alt-Enter), jeśli skopiujesz tę komórkę do edytora tekstowego, program Excel automatycznie doda podwójne cudzysłowy („) wokół całego łańcucha, tj .:

Cell1  |   Simple String 1 
Cell2  |   First line of a 
       |   Multiline string
       |   with 3 lines 
Cell3  |   Another simple line 2

Gdy skopiujesz tylko kolumnę z wartościami do edytora tekstu, otrzymamy:

Simple String 1
"First line of a 
Multiline string
with 3 lines"
Another simple line 2

Jak mogę powiedzieć programowi Excel, aby nie dodawał cytatu wokół tekstu wielowierszowego podczas kopiowania z programu Excel?


Edycja: edytory tekstu, które próbowałem, wyświetlają to zachowanie:

  • MS Word
  • Wordpad
  • Notatnik
  • Notepad ++
  • SQL Server Studio

Jeśli masz sugestie dotyczące korzystania z określonego edytora (lub jednego z powyższych), powiedz mi, który z nich i jak go używać ...

Andrew Bickerton
źródło
4
To, co jest warte, to dlatego, że Excel próbuje wyprowadzić prawidłowy CSV . Byłbym zaskoczony, gdyby można to łatwo zmienić.
slhck,
@slhck Mam nadzieję, że się mylisz (choć fajna odpowiedź na to!), ponieważ bardzo dobrze byłoby powiedzieć Excelowi, że nie kopiuję do csv ...
Andrew Bickerton
3
To bardzo denerwujące. Nie ma uzasadnionego powodu, dla którego Excel umieszcza cudzysłowy wokół tekstu zawierającego znak powrotu karetki.
oscilatingcretin
1
Arkusze kalkulacyjne Google robią to samo irytujące rzeczy. Próbuję skopiować kilka komórek danych do pliku tekstowego, ale Arkusze kalkulacyjne Google dodają cytaty do danych - cytaty NIE znajdują się w danych źródłowych. To dla mnie błąd, a nie funkcja.
Jonny
Odpowiedź, która korzysta z VBA, jest opublikowana tutaj: stackoverflow.com/a/24913557/976210 To działało o wiele lepiej dla mnie, ponieważ nie chcę używać programu pośredniczącego.
Kit Johnson

Odpowiedzi:

20

Sposób kopiowania tekstu do programu Word zależy od wybranej opcji formatowania. W programie Word 2010 domyślną opcją formatu jest HTML Format. Istnieją cztery główne opcje kopiowania tekstu do programu Word. ( Formatted Text (RTF), Unformatted Text, HTML Format, I Unformatted Unicode Text)

Wklejenie sformatowanego tekstu powoduje utworzenie mini-tabel w programie Word. (Niebieskie kontury.)

Wklej opcje specjalne

Aby uzyskać niesformatowany tekst w programie Word bez podwójnych cudzysłowów:

  1. Wklej tekst w formacie sformatowanym, aby utworzył tabelę.
  2. Wybierz tabelę i skopiuj ją.
  3. Przejdź do pustego miejsca i wklej nową kopię jako niesformatowany tekst. ( Alt + E, S)

Działa to również w celu wklejenia wyników bez cudzysłowów do innego edytora. Po prostu zmień krok 3, aby wkleić do innego edytora.

Prawdopodobnie szybsze byłoby jednak zwykłe wklejenie, a następnie użycie polecenia Zamień, aby znaleźć i usunąć wszystkie podwójne cudzysłowy.

mischab1
źródło
+1 fajna odpowiedź z techniką, aby ją rozwiązać! (niestety dla bloku, z którym miałem do czynienia, były ważne podwójne cytaty, które chciałem zachować)
Andrew Bickerton,
+1 od tych głupich rzeczy naprawdę sprawiają, że chcę szukać innego produktu biurowego. Może gwiezdne biuro czy coś takiego. dzięki za podstęp
rower
22

Jeśli skopiujesz zakres z Excela (2010) do Worda, otrzymasz tekst tak, jak chcesz, cytaty za darmo. Następnie możesz skopiować go ponownie do miejsca docelowego, np. Notatnika. Excel-> Word-> Notatnik daje pożądane wyniki.

s_a
źródło
Program Word wyświetla to zachowanie podczas kopiowania z innymi komórkami (jak opisano w pytaniu). Czy jest to coś, co posortowali w pakiecie Office 2010?
Andrew Bickerton,
2
Jak dotąd to działa. Szkoda, że ​​muszę użyć programu Word 2010 jako pośrednika, aby usunąć cytaty.
oscilatingcretin
Działa to również w przypadku Mac Office 2011.
Lewis42
3

Najłatwiejszym sposobem, jaki znalazłem, jest połączenie komórek, które chcesz znajdować się w wielu liniach, z czymś „specjalnym” między nimi, a nie cr / lf. Tilde zwykle działa dla mnie dobrze. Na przykład w kolumnie G:

=E1&"~"&F1
=E2&"~"&F2
...

W tym przykładzie celem końcowym jest uzyskanie pliku tekstowego z wartościami E1 w jednym wierszu, a następnie F1 w nowym wierszu, a następnie E2, F2 itd. Oczywiście równie łatwo można zbudować G1 z innego wiersza wartości, właśnie uwzględnione ~ dla podziałów linii.

Następnie, aby uzyskać wielowierszowy plik tekstowy w Notepad ++

  • Wytnij i wklej do Notepad ++
  • Ctrl-H, aby otworzyć okno dialogowe zamiany
  • Upewnij się, że wybrano opcję wyszukiwania „rozszerzonego”
  • Zamień wszystko ~ na \ n (lub \ r \ n, jeśli wolisz)
randomScott
źródło
Jako programista podoba mi się ten, ponieważ nie wymaga trzeciego narzędzia, takiego jak Word.
VSB
2

To nie jest problem Excela. Jak mówi poprzedni plakat, po prostu generuje prawidłowe dane CSV. Od edytora zależy, czy włożysz go do formatowania. Sugerowałbym użycie czegoś nieco mądrzejszego niż notatnik ... Możesz użyć MS Word jako pośrednika między Excelem a dowolnym edytorem tekstowym, którego chcesz używać oprócz słowa.

Michael Beck
źródło
2
Używam czegoś innego niż notatnik ... Również Word robi dokładnie to samo (wklejając tylko tę komórkę za pomocą „”)
Andrew Bickerton
Word 2010 z ustawieniami domyślnymi działa doskonale jako pośrednik.
Adam Ryczkowski
Odkryłem to wczoraj. Zgadzam się z Andrew Bickertonem. Nie chcę kopiować CSV, chcę skopiować tekst. Excel powinien przynajmniej zapytać. Ponieważ mój tekst zawierał około dwóch tysięcy wstawek SQL, mogłem go łatwiej rozwiązać za pomocą PsPad. Mimo łatwości było to zupełnie niepotrzebne.
Alvaroc
1

Miałem ten sam problem i wykonałem następujące kroki (używam pakietu Office 2007, ale myślę, że działa również w późniejszych wersjach):

  1. Wybrałem zakres komórek zawierających tekst wielowierszowy z Excela, który chcę wkleić do innego edytora, a następnie wybierz Kopiuj.
  2. W programie Word 2007 wkleiłem skopiowany zakres komórek jako tabelę.
  3. Wybierz tabelę.
  4. Na karcie Układ wybierz Wybierz tabelę.
  5. W sekcji danych wybierz Konwertuj na tekst i wybierz Znaki akapitu.

Wynikiem jest oryginalna tabela przekonwertowana na tekst, ze znakami nowej linii na końcu każdego wiersza i znakami akapitu na końcu ostatniego wiersza z każdej komórki.

Tomek
źródło
1

Możesz zapisać dokument Excela jako stronę internetową, a następnie skopiować tekst ze strony internetowej. Działa to dobrze w przypadku pojedynczej kolumny danych, ale upewnij się, że ustawiłeś szerokość kolumny na szerokość tekstu, w przeciwnym razie doda podział linii.

solvus
źródło
1

Miałem dzisiaj ten problem, więc pomyślałem, że opublikuję odpowiedź na wypadek, gdyby ktoś nadal się na nim utknął.

Możesz obejść ten problem, podświetlając komórkę, a następnie kopiując i wklejając kod bezpośrednio z paska tekstowego u góry, klikając go i podświetlając wszystko ręcznie.

Zrobiłem to tylko w programie Excel 2010, więc nie wiem, czy to zadziała we wcześniejszych wersjach.

Matt
źródło
Jest to idealne, chociaż musiałem wziąć komórkę z formułą CONCAT (A1: A100) i wkleić specjalną komórkę do drugiej komórki, zanim będę mógł wybrać wszystko z pola tekstowego, jak opisano
nvuono
1

Nie można przygotować go do pliku CSV, ponieważ byłyby dość głupie, aby były tak wyrafinowane, aby komórki górne i tylne zawierały znaki niedrukowalne z cudzysłowami i nie robiłyby tego samego w przypadku komórek zawierających przecinki (co nie robi „t).

Tak czy siak. Napotkałem ten problem, gdy próbowałem utworzyć etykiety adresowe z pól Imię, Nazwisko, Wiersz adresu 1 ... jako:

=A1&" "&B1&CHAR(13)&CHAR(10)&C1&CHAR(13)&CHAR(10)&D1

CHAR(13)po którym następuje CHAR(10)nowy akapit podczas przeglądania pliku tekstowego za pomocą edytora szesnastkowego.

Moja irytacja polega na:

  • skopiuj i wklej komórki / kolumny do Worda.
  • Użyj menu rozwijanego symbolu schowka (lewy dolny róg strony lub wklejony tekst), aby wybrać opcję Zachowaj tylko tekst .
  • Wybierz wklejony tekst. Musisz to zrobić tylko wtedy, gdy dokument zawiera inne rzeczy, na które może to mieć wpływ
  • Naciśnij Ctrl+, Haby wyświetlić okno dialogowe Znajdź i zamień .
  • W polu Znajdź , wpisz: "^p"(wszystkie cztery znaki).
    Być może trzeba będzie przejść do opcji Narzędzia -> Opcje autokorekty, a następnie obu kart Autoformatowania, aby upewnić się, że nie zmieni to prostych cudzysłowów)
  • W polu Zamień na wpisz: ^p(2 znaki)
  • Teraz uderzyć, zastąpi wszystkie , przycisk
  • Na koniec będziesz musiał ręcznie usunąć podwójne cudzysłowy na początku i na końcu importowanego bloku

Jest to oparte na pakiecie Office 2003, więc Twoja wersja programu Microsoft Word może się nieco różnić.

D. Adams
źródło
0

Użyłem tej CLEARfunkcji i zadziałało to dla mnie.

Umieść w środku komórki, które chcesz skopiować CLEAR, na przykład:

=clear(A1)

Gdzie A1jest komórka z danymi, które chcesz skopiować do notatnika bez cudzysłowów.

czarodziej
źródło
15
Myślę, że masz na myśli CLEAN. (Przynajmniej w programie Excel 2010.) Jednak to usunie znaki wstawiania wiersza, a jego drugie zdanie nie będzie już wielowierszowe.
mischab1
0

Wiem, że to stary temat, ale moim rozwiązaniem było użycie CLEAN zgodnie z sugestią, skopiowanie tych komórek i wklejenie wartości z powrotem do arkusza. W ten sposób mogłem edytować tekst do końcowego wyniku oraz skopiować i wkleić komórki do dokumentu tekstowego bez cudzysłowów.

Myślę, że najpierw wyczyszczenie tekstu, a następnie końcowe formatowanie, najprawdopodobniej zadziałałoby (przynajmniej dla mnie).

Alan Reeves
źródło
2
Należy zwrócić uwagę na jedną rzecz: uważam, że metoda „Wyczyść” usunie również znaki powrotu karetki, a wynikowa przeszłość nie będzie wieloliniowa.
0

Miałem ten sam problem, w końcu naprawiłem go bardzo łatwo. Miałem 600 rzędów długich opisów produktów. Aby rozwiązać ten problem, wykonałem następujące czynności:

1) Wybierz całą kolumnę i kliknij „Zawiń tekst”.

2) Przy zaznaczonej kolumnie kliknij PONOWNIE „Zawiń tekst” (aby tekst nie był w 100% zawinięty).

PRESTO - tekst doskonale skopiowany z każdej komórki, bez cudzysłowów (mimo że były to długie akapity).

Domyślnie Excel dodaje cudzysłowy do dowolnego tekstu wielowierszowego. Zatem prostym rozwiązaniem zapewnianym przez powyższy proces jest upewnienie się, że komórki z długim tekstem nie są automatycznie zawijane w wiele wierszy.

Warto zauważyć, że zanim to zrobiłem, komórki wyglądały normalnie i NIE wydawały się być opakowane. Myślę, że powyższy proces „mówi” Excelowi, aby NIE interpretował żadnej komórki jako tekstu „wielowierszowego”, nawet jeśli jest to długi akapit, rozwiązując w ten sposób problem „dodawania cudzysłowów do skopiowanego tekstu”.

CompelVentures
źródło
2
Cześć, niezupełnie właściwe rozwiązanie. Działa to tylko wtedy, gdy nie masz żadnych wewnętrznych zwrotów karetki w komórkach (naciśnij Alt-Enter, aby utworzyć wewnętrzny powrót karetki)
Andrew Bickerton
0

Znalazłem łatwe rozwiązanie tego problemu. Zainstaluj OpenOffice Calc i otwórz plik .xlsx. Następnie po prostu skopiuj zawartość komórki i wklej do dowolnego edytora tekstu. Irytujące wiodące i końcowe cytaty nie pojawią się.

użytkownik863611
źródło
0

Wiem, że to rok 2018 i te posty są starsze, ale nadal są aktualne. Pomogli mi znaleźć rozwiązanie.

  1. Wstawiłem = A2, która patrzy na komórkę z Char w formule.
  2. Następnie skopiowałem A2 i wkleiłem jako wartości do innej komórki, na przykład A3.
  3. Następnie wybiera A3 tłoczony F2, CtrlShiftHome, CtrlC.
  4. Zatrzymaj się tutaj, nie wklejaj do innej komórki programu Excel. zostaw go w schowku i wklej do notatnika.
  5. Niewidoczne cytaty znikają.

Znikają, jak powiedział INXS: Znikają! : =)

Ktoś inny mógł już powiedzieć to rozwiązanie, więc przepraszam, po przeczytaniu wszystkich przykładów coś zapadło w moje myśli i wszyscy pomogliście!

ja. gość
źródło
-1

Tak jak ty miałem moje dane w kolumnie. Aby skopiować wartości bez tych cudzysłowów, łączę całą kolumnę z danymi. Dotyczy to arkuszy kalkulacyjnych Dokumentów Google, ale myślę, że to może działać w programie Excel, być może trzeba będzie zmienić funkcję CONCATENATE.

Aby połączyć całą kolumnę G:

=CONCATENATE(G:G)

Dodał cytaty tylko na początku i na końcu, a później łatwo je edytować ręcznie.

Jonny
źródło
nie działa dla excela
Baljeetsingh
-1

pracując nad odpowiedzią od Solvus, możemy stworzyć automatycznie publikowaną stronę internetową, zawierającą tylko żądany zakres tekstu - bez cudzysłowów. możesz następnie skopiować i wkleić to w innych lokalizacjach. Gdy go skonfigurujesz, będzie tam na zawsze i będzie aktualizowany bez bałagania w głównym pliku.

aby to zrobić ...

Wybierz komórki, a następnie save as.. save as file type= Single File Web Page. z opcją Republish $ : $(wybrany zakres).

kliknij opublikuj. wybierz AutoRepublish every time this workbook is saved.

  • otrzymasz wtedy stronę internetową, która zawiera tylko twoje dane dystansowe, w formie tabeli bez cudzysłowów. kopiuj i wklej :)
użytkownik34210
źródło