Masalah :
Saat menyalin sel dari Excel di luar program, tanda kutip ganda ditambahkan secara otomatis.
Rincian :
Saya menggunakan Excel 2007 di mesin Windows 7. Jika saya memiliki sel dengan rumus berikut:
="1"&CHAR(9)&"SOME NOTES FOR LINE 1."&CHAR(9)&"2"&CHAR(9)&"SOME NOTES FOR LINE 2."
Output dalam sel (diformat sebagai angka) terlihat seperti ini di Excel:
1SOME NOTES FOR LINE 1.2SOME NOTES FOR LINE 2.
Baik dan bagus. Tetapi, jika saya menyalin sel ke program lain, seperti notepad, saya mendapatkan tanda kutip ganda yang mengganggu di awal dan akhir. Perhatikan tab yang dibuat oleh "CHAR (9)" disimpan, dan itu bagus.
"1 SOME NOTES FOR LINE 1. 2 SOME NOTES FOR LINE 2."
Bagaimana cara agar tanda kutip ganda tidak muncul saat saya menyalin ke program lain? Dengan kata lain, dapatkah saya mencegahnya ditambahkan secara otomatis saat sel disalin ke papan klip?
Jawaban:
Jika Anda mencoba menempelkan ke Word-Pad, Notepad ++ atau Word, Anda tidak akan mengalami masalah ini. Untuk menyalin nilai sel sebagai teks murni, untuk mencapai apa yang Anda gambarkan, Anda harus menggunakan makro:
Di buku kerja tempat Anda ingin menerapkan ini (atau di Personal.xls Anda jika Anda ingin menggunakan di beberapa buku kerja), letakkan kode berikut dalam modul standar:
Kode:
Untuk menambahkan modul standar ke proyek Anda (buku kerja), buka VBE dengan Alt+ F11dan kemudian klik kanan pada buku kerja Anda di kiri atas Jendela Proyek dan pilih Sisipkan> Modul. Tempel kode ke jendela modul kode yang akan terbuka di sebelah kanan.
Kembali ke Excel, buka Alat> Makro> Makro dan pilih makro yang disebut "CopyCellContents" lalu pilih Opsi dari dialog. Di sini Anda dapat menetapkan makro ke tombol pintas (misalnya seperti CTRL+ Cuntuk salinan normal) - Saya duluCTRL + Q.
Kemudian, ketika Anda ingin menyalin satu sel ke Notepad / di mana pun, cukup lakukan Ctrl + q (atau apa pun yang Anda pilih) lalu lakukan CTRL+V atau Edit> Tempel di tujuan yang Anda pilih.
Jawaban saya disalin (dengan beberapa tambahan) dari: di sini
EDIT : (dari komentar)
Jika Anda tidak menemukan Perpustakaan Microsoft Forms 2.0 dalam daftar referensi, Anda dapat mencoba
C:\Windows\System32\FM20.dll
(32 bit Windows) (terima kasih @JWhy)C:\Windows\SysWOW64\FM20.dll
(pada 64-bit)sumber
Saya baru saja mengalami masalah ini dan membungkus setiap sel dengan
CLEAN
fungsi yang memperbaikinya untuk saya. Itu seharusnya relatif mudah dilakukan dengan melakukan=CLEAN(
, memilih sel Anda, lalu mengisi kolom secara otomatis. Setelah saya melakukan ini, tempel ke Notepad atau program lain tidak lagi memiliki tanda kutip ganda.sumber
Pertama paste ke Word, kemudian Anda bisa paste ke notepad dan akan muncul tanpa tanda kutip
sumber
Jika Anda ingin memilih beberapa sel dan menyalin nilainya ke clipboard tanpa semua tanda kutip yang mengganggu, kode berikut mungkin berguna. Ini adalah peningkatan dari kode yang diberikan di atas dari user3616725.
sumber
Solusi saya ketika saya menekan masalah tanda kutip adalah menghapus kereta kembali dari akhir teks sel saya. Karena carriage return ini (disisipkan oleh program eksternal), Excel menambahkan tanda kutip ke seluruh string.
sumber
Kemungkinan masalah terkait dengan jawaban dari "user3616725":
Saya menggunakan Windows 8.1 dan sepertinya ada masalah dengan kode VBA tertaut dari jawaban yang diterima dari "user3616725":
Detail:
Menjalankan kode di atas dan menempelkan clipboard ke dalam sel di Excel Saya mendapatkan dua simbol yang terdiri dari kotak dengan tanda tanya di dalamnya, seperti ini: ⍰⍰. Menempelkan ke Notepad bahkan tidak menampilkan apa pun.
Solusi:
Setelah mencari beberapa lama saya menemukan skrip VBA lain dari pengguna "Nepumuk" yang menggunakan API Windows . Inilah kodenya yang akhirnya berhasil untuk saya:
Untuk menggunakannya dengan cara yang sama seperti kode VBA pertama dari atas, ubah Sub "Beispiel ()" dari:
Untuk:
Dan jalankan melalui menu makro Excel seperti yang disarankan dari "user3616725" dari jawaban yang diterima:
Sunting (21 November 2015):
@ komentar dari "dotctor":
Tidak, ini benar-benar bukan pertanyaan baru! Menurut pendapat saya, ini adalah tambahan yang bagus untuk jawaban yang diterima karena jawaban saya menjawab masalah yang dapat Anda hadapi saat menggunakan kode dari jawaban yang diterima. Jika saya ingin memiliki reputasi lebih, saya akan membuat komentar.
@ komentar dari "Teepeemm":
Ya, Anda benar, jawaban yang diawali dengan judul "Masalah:" menyesatkan. Diubah menjadi: "Kemungkinan masalah terkait dengan jawaban dari" user3616725 ":". Sebagai komentar saya pasti akan menulis jauh lebih kompak.
sumber
"Jika Anda ingin Memilih beberapa Sel dan Salin nilainya ke Papan Klip tanpa semua tanda kutip yang mengganggu" ( tanpa bug dalam solusi multi-Sel Peter Smallwood) "kode berikut mungkin berguna." Ini adalah peningkatan dari kode yang diberikan di atas dari Peter Smallwood (yang "merupakan peningkatan dari kode yang diberikan di atas dari pengguna3616725"). Ini memperbaiki bug berikut dalam solusi Peter Smallwood:
CATATAN: Anda masih tidak dapat menyalin karakter yang disematkan di dalam Sel yang akan menyebabkan keluarnya bidang target tempat Anda Menempelkan Sel itu (yaitu Tab atau CR saat Menempelkan ke Jendela Akses Edit Tabel atau SSMS).
sumber
Untuk mempertahankan jeda baris saat menempelkan di notepad, ganti baris ini di makro:
oleh:
sumber
Silakan gunakan rumus di bawah ini
dan Anda akan mendapatkan apa yang Anda inginkan ;-)
sumber
Anda bisa melakukan ini di makro Excel melalui VBA, mengirimkan hasilnya ke file:
Dan jika Anda ingin mendapatkan nama file dan konten menjadi beberapa file, berikut adalah cuplikan singkat yang menghindari tanda kutip ganda di sekitar output.
sumber
sumber
Catatan: Penyebab tanda kutip adalah saat data berpindah dari excel ke clipboard, ia sepenuhnya mematuhi standar CSV yang mencakup nilai kutipan yang mencakup tab, baris baru, dll (dan karakter tanda kutip ganda diganti dengan dua karakter tanda kutip ganda)
Jadi pendekatan lain, terutama seperti dalam kasus OP ketika tab / baris baru karena rumus, adalah menggunakan karakter alternatif untuk tab dan pengembalian keras. Saya menggunakan ascii Unit Separator = char (31) untuk tab dan ascii Record Separator = char (30) untuk baris baru.
Kemudian menempelkan ke editor teks tidak akan melibatkan aturan CSV tambahan dan Anda dapat melakukan pencarian cepat dan mengganti untuk mengubahnya kembali.
Jika tab / baris baru disematkan dalam data, Anda dapat melakukan pencarian dan mengganti di excel untuk mengubahnya.
Baik menggunakan rumus atau mengubah data, kunci untuk memilih pemisah adalah jangan pernah menggunakan karakter yang bisa ada dalam data sebenarnya. Inilah mengapa saya merekomendasikan karakter ascii level rendah.
sumber
Anda juga dapat menghapus tanda kutip ganda ini dengan menempatkan hasil Anda pada fungsi "Bersihkan".
Contoh:
Keluaran akan ditempelkan tanpa tanda kutip ganda pada program lain seperti Notepad ++.
sumber