Saya ingin memasukkan pernyataan if ke dalam sel melalui vba yang menyertakan tanda kutip ganda.
Ini kode saya:
Worksheets("Sheet1").Range("A1").Value = "=IF(Sheet1!B1=0,"",Sheet1!B1)"
Karena tanda kutip ganda, saya mengalami masalah dengan memasukkan string. Bagaimana cara menangani tanda kutip ganda?
excel
vba
double-quotes
pengguna793468
sumber
sumber
Jawaban:
Saya menemukan cara termudah adalah dengan menggandakan kutipan untuk menangani kutipan.
Beberapa orang suka menggunakan CHR (34) *:
* Catatan: CHAR () digunakan sebagai rumus sel Excel, misalnya menulis "= CHAR (34)" dalam sel, tetapi untuk kode VBA Anda menggunakan fungsi CHR ().
sumber
Solusi lain adalah membuat string dengan karakter pengganti sementara. Kemudian Anda dapat menggunakan REPLACE untuk mengubah setiap karakter temp menjadi tanda kutip ganda. Saya menggunakan tilde sebagai karakter pengganti sementara.
Berikut adalah contoh dari proyek yang sedang saya kerjakan. Ini adalah utilitas rutin kecil untuk memperbaiki formula yang sangat rumit jika / saat sel terinjak secara tidak sengaja. Ini adalah rumus yang sulit untuk dimasukkan ke dalam sel, tetapi utilitas kecil ini memperbaikinya secara instan.
Ini benar-benar hanya trik pemrograman sederhana, tetapi ini membuat memasukkan rumus dalam kode VBA Anda cukup mudah.
sumber
Semua tanda kutip ganda di dalam tanda kutip ganda yang mengelilingi string harus diubah menjadi dua kali lipat. Sebagai contoh saya memiliki salah satu string file json: "delivery": "Standard", Di Vba Editor saya mengubahnya menjadi "" "delivery" ":" "Standard" "," dan semuanya bekerja dengan benar. Jika Anda harus memasukkan banyak string serupa, proposal saya terlebih dahulu, masukkan semuanya di antara "", lalu dengan editor VBA ganti "inside into" ". Jika Anda melakukan kesalahan, editor VBA menunjukkan baris ini dengan warna merah dan Anda akan memperbaikinya kesalahan ini.
sumber
Saya lebih suka jawaban tabSF. menerapkan hal yang sama untuk jawaban Anda. di sini di bawah ini adalah pendekatan saya
sumber
Saya telah menulis rutinitas kecil yang menyalin rumus dari sel ke clipboard yang dapat dengan mudah ditempelkan di Editor Visual Basic.
Ini awalnya diposting di Bagian Vault forum Chandoo.org .
sumber