Rumah Media Sosial Parsing Names the VBA Way - dummies

Parsing Names the VBA Way - dummies

Video: How To Use The VBA Trim And Split Functions To Parse Names 2024

Video: How To Use The VBA Trim And Split Functions To Parse Names 2024
Anonim

Pernahkah Anda diberi lembar kerja Excel dengan nama, di mana semua nama lengkap ada dalam satu sel? Tugas Anda adalah memecah nama menjadi nama depan, nama belakang - sebuah proses yang dikenal sebagai parsing. Anda dapat mencoba menggunakan rumus dan / atau fungsi untuk membantu, atau Anda dapat menggunakan kode Visual Basic for Applications (VBA).

Pendekatan yang umum adalah menemukan jarak antara nama depan dan nama belakang, dan voila! - Anda tahu di mana nama depan berakhir dan nama belakang dimulai.

Kecuali Anda memiliki nama yang lebih kompleks dalam struktur, seperti Dr. William Healer atau Zak H. Sneezer III.

Berikut adalah rutinitas VBA khas yang terlihat melalui setiap nama, karakter menurut karakter, sampai menemukan sebuah ruang. Kemudian tempat apa saja yang ada di sebelah kiri ruang dalam satu kolom dan apa saja yang ada di sebelah kanan ruang di kolom sesudahnya.

Apakah Sampai ActiveCell = "thename = ActiveCell Nilai untuk melihat = 1 ke Len (thename) Jika Mid (thename, looking, 1) =" "Then ActiveCell. Offset (0, 1) = Left (thename, looking - 1) ActiveSell Offset (0, 2) = Mid (thename, looking + 1) Keluar Untuk Akhir Jika ActiveCell Berikutnya Offset (1, 0) Aktifkan Loop

Rutin ini sangat membantu dalam mengurai nama hanya dengan satu spasi, seperti Harvey Wallbanger atau Tom Collins. Tabel berikut menunjukkan hasil menjalankan kode pada nama dengan lebih dari satu ruang:

Dr William Healer Dr. < William Healer Zak H. Sneezer III
Zak H. Sneezer III Ini bukan usaha parsing yang bagus. Itu bagus untuk mengurai Harvey Wallbanger dan Tom Collins tapi tidak begitu baik untuknya. Nama lain.

Berikut adalah teknik yang lebih maju yang mengembalikan hasil yang lebih baik. Ingatlah bahwa nama penguraian tidak sempurna, tapi jika melakukannya dengan cara ini, lakukan pekerjaan yang lebih baik.

Tekniknya adalah menghitung berapa banyak spasi yang ada di nama lengkap dan kemudian pecah nama di salah satu ruang. Secara khusus, jika ada tiga atau lebih spasi, gunakan ruang dua dari kanan sebagai area pemecah; Jika tidak, gunakan ruang paling kanan sebagai ruang pemecah.

Proses ini dijalankan dalam subrutin VBA yang memanggil fungsi saat melompati nama. Jumlah ruang ditentukan di awal lingkaran utama, dan fungsi mengembalikan posisi di mana area pemecah berada.

Sub parse_names () Dim thename As String Dim spasi Sebagai Integer Do Until ActiveCell = "thename = ActiveCell Nilai spasi = 0 Untuk test = 1 ke Len (thename) Jika Mid (thename, test, 1) =" "Then spasi = spasi + 1 Akhir Jika Berikutnya Jika spasi> = 3 Kemudian break_space_position = space_position ("", thename, spaces - 1) Else break_space_position = space_position ("", thename, spaces) End If If spaces> 0 Then ActiveCell.Offset (0, 1) = Waktu (thename, break_space_position - 1) ActiveCell. Offset (0, 2) = Mid (thename, break_space_position + 1) Else 'ini untuk saat nama lengkap hanya satu nama tanpa spasi ActiveCell. Offset (0, 1) = thename End If ActiveCell. Offset (1, 0). Aktifkan Loop End Sub Function space_position (what_to_look_for As String, what_to_look_in As String, space_count As Integer) Sebagai Integer Dim loop_counter Sebagai Integer space_position = 0 Untuk loop_counter = 1 Untuk space_count space_position = InStr (loop_counter + space_position, what_to_look_in, what_to_look_for) Jika space_position = 0 Kemudian Keluar Untuk Fungsi Akhir Berikutnya

Tabel berikut menunjukkan seperti apa hasilnya sekarang:

Dr. William Healer

Dr. William Penyembuh Zak H. Sneezer III
Zak H. Sneezer III Pengambilan nama sama banyak dengan teknik sebagai proses teknis. Dalam contoh kedua, semua nama depan dan belakang ada di kolom yang benar. Jika nama panjang baru dengan lima ruang atau lebih diperkenalkan, rutinitasnya mungkin akan salah, dan kode VBA memerlukan pengujian kondisional yang lebih banyak yang dimasukkan ke dalamnya. Tapi contoh ini sekarang berada di jalur yang benar sebagai rutinitas nama-parsing kekuatan-industri.
Parsing Names the VBA Way - dummies

Pilihan Editor

Menghilangkan Kesalahan dengan Text to Speech di Excel 2013 - dummies

Menghilangkan Kesalahan dengan Text to Speech di Excel 2013 - dummies

Fitur Text to Speech yang bagus dapat membantu Anda bendera dan kemudian memperbaiki beberapa kesalahan yang jika tidak, anda harus memeriksa dan memverifikasi dengan membandingkan sel ke sel. Biasanya, Anda melakukan ini dengan memeriksa kolom dan baris data dalam spreadsheet terhadap dokumen asli tempat Anda membuat spreadsheet. Teks Excel ...

Membuat Database Anda dengan Fungsi Database Excel - dummies

Membuat Database Anda dengan Fungsi Database Excel - dummies

Semua fungsi database di Excel mengambil referensi database sebagai argumen pertama Area database harus menyertakan header (field name) pada baris pertama. Pada gambar berikut, baris pertama menggunakan Student ID, Class, Teacher, dan Final Grade sebagai header informasi di masing-masing kolom. Menggunakan database untuk menyimpan siswa ...

Fungsi Excel penting untuk Membangun Model Keuangan - dummies

Fungsi Excel penting untuk Membangun Model Keuangan - dummies

Hari ini memiliki lebih dari 400 fungsi yang tersedia di Excel, dan Microsoft terus menambahkan lebih banyak dengan setiap versi baru perangkat lunak. Banyak fungsi ini tidak relevan untuk digunakan di bidang keuangan, dan sebagian besar pengguna Excel hanya menggunakan persentase yang sangat kecil dari fungsi yang ada. Jika Anda menggunakan Excel untuk tujuan pemodelan keuangan, ...

Pilihan Editor

Dasar-dasar Mentransfer Foto Digital - dummies

Dasar-dasar Mentransfer Foto Digital - dummies

Mentransfer (juga dikenal sebagai men-download atau meng-upload) foto dan film ke Komputer adalah proses yang cukup sederhana. Anda dapat mentransfer beberapa cara yang berbeda. Masing-masing memiliki pro dan kontra. Beberapa metode membutuhkan perangkat keras tambahan, seperti card reader. Menghubungkan Sebelum Anda mulai mentransfer foto ke komputer Anda, Anda harus membuat sambungan. ...

Memilih Kamera Digital Metering Mode - dummies

Memilih Kamera Digital Metering Mode - dummies

Banyak kamera digital menawarkan pilihan mode metering autoexposure. Metering mode berarti cara di mana meteran mekanisme autoexposure kamera - mengukur - cahaya di tempat kejadian saat menghitung pemaparan yang tepat untuk foto Anda. Anda biasanya dapat memilih dari metering matriks, metering tertimbang kelas, dan metering spot.

Pilihan Editor

KetikPad Blogs: Bagaimana Memasukkan Gambar Sidebar - dummies

KetikPad Blogs: Bagaimana Memasukkan Gambar Sidebar - dummies

Termasuk gambar sidebar di TypePad Anda blog adalah cara terbaik untuk mempromosikan situs web, blog, atau produk lain. Gambar bilah samping biasanya terbilang kecil (sering 125 piksel dengan 125 piksel), namun ukurannya pada akhirnya bergantung pada tema dan desain blog Anda sendiri. Selain itu, Anda dapat mengatur gambar untuk ditautkan ke ...

Ketik Dashboard Dashboard Shortcuts - dummies

Ketik Dashboard Dashboard Shortcuts - dummies

Di halaman utama blog TypePad Anda, strip hijau di bagian atas adalah Dashboard - bilah navigasi tingkat akun Anda. Gunakan Dasbor TypePad untuk mengakses akun TypePad inti Anda, bukan hanya blog individual Anda - perbedaan penting untuk menarik karena banyak orang mengelola beberapa blog dari satu akun. Ini berguna ...

Jenis Komunitas Online - dummies

Jenis Komunitas Online - dummies

Banyak jenis komunitas online ada, namun mekanika dan inner pekerjaannya serupa. Meskipun fokus setiap komunitas online mungkin tidak terkait, tipe kepribadiannya bersifat universal. Setelah beberapa saat, tipe kepribadian ini mudah dikenali, bahkan jika Anda telah beralih ke komunitas lain. Komunitas online di-host di berbagai ...