Saya memiliki dua Lembar di Excel. Untuk contoh ini, Sheet 1 dan Sheet 2.
Lembar 1 : 100 catatan dengan Nama , Lokasi , Jenis kelamin
Lembar 2 : 100 catatan dengan Nama , Lokasi , Usia
Sumber data tidak disinkronkan, oleh karena itu, saya punya data yang ada di Sheet 1 yang tidak ada di Sheet 2, saya juga punya data di Sheet 2 yang tidak ada di Sheet 1 dan saya punya data yang ada di kedua lembar. Jadi, mungkin ada nama di Sheet 1 yang tidak ada di Sheet 2 dan sebaliknya.
Saya mencari cara otomatis untuk menggabungkan kedua lembar menjadi lembar ketiga dan mengisi Nama & amp; Lokasi dan di mana tersedia Umur dan Jenis Kelamin. Saya tahu ini akan mudah dilakukan di MS Access, tetapi karena audiens saya, saya harus menyimpan ini di Excel dan saya noob lengkap untuk VBA: S
Apa yang telah aku lakukan : Pada lembar 3, saya telah membuat rumus untuk mengekstrak data dari Lembar 1 dan di Lembar 2 saya telah menambahkan bidang ("X"), yang rumusnya akan memberi label bidang dengan "1" jika bidang itu tidak ada di Lembar 1 dan akan dilabeli dengan "0" jika bidang ada di Lembar 1. Dalam pikiran saya, saya sedang mencari cara yang akan menyatakan: "Jika bidang" X "di Lembar 2 =" 1 ", kemudian ekstrak data itu dan menambahkannya ke Lembar 3, tetapi tidak yakin bagaimana melakukannya :(
megre tables excel
dan Anda akan menemukan sesuatu seperti ini: digdb.com/excel_add_ins/join_merge_tables_lists Dan sekarang Anda hanya perlu memodifikasi kodenya. (Gunakan concat dari dua bidang untuk pencarian)SELECT * FROM
'Sheet1 $' `'Sheet1$'
PILIHAN UNION * DARI'Sheet2$'
`'Sheet2 $'` `Jawaban:
ini membutuhkan skrip VBA yang tidak terlalu sulit.
Ini adalah kode semu
Untuk menulis kode, ikuti beberapa tutorial dengan mencari
Excel vba tutorial
di mesin pencari. Contoh di sini: Tutorial VBAHal-hal yang Anda butuhkan melakukan adalah:
sumber
Ini seharusnya bekerja. Dimasukkan ke dalam a modul :
Itu loop melalui baris sheet1 memakainya sheet3 menempatkan kolom keempat jika ada kebetulan dengan sheet2 .
Setelah itu loop melewati sheet2 memakai sheet3 baris tidak ditemukan pada sheet1 .
sumber
wks2.Cells(k, 1) = name1 wks2.Cells(k, 2) = wks.Cells(i, 2) wks2.Cells(k, 3) = wks.Cells(i, 3) wks2.Cells(k, 4) = wks1.Cells(j, 3)
i=1
danj=1
untukì=2
danj=2
. Kode mengandaikan data pada kedua Lembar ada di kolom 1,2 dan 3. Mungkin sangat sulit untuk mencarinya di 135 kolom.