Excel - Pencarian & Tampilan permintaan

Isu

Saya bukan orang IT .. Saya memiliki persyaratan sederhana, tetapi tidak tahu bagaimana caranya.

Persyaratannya adalah

 Data saya. Sno Release Project Kontak orang 1 Apr SYL Sam, Mark, Tom 2 Mei Xim Tom, Frank, Kim 3 Juni TIG Kim, David, Sam 

Persyaratan saya adalah ketika saya mencari berdasarkan proyek atau dengan rilis,, saya perlu mendapatkan semua nama penghubung .. Cara yang sama jika saya mencari berdasarkan nama penghubung .. Misalnya Sam dalam contoh di atas .. excel harus menunjukkan kepada saya semua proyek yang melibatkan Sam dengan semua data yang relevan seperti Rilis dll ... Ini harus ditampilkan dalam lembar baru di excel.

Apakah mungkin dilakukan di Excel atau saya perlu mencoba sesuatu yang lain? Bisakah Anda membantu saya dalam melakukan ini?

Larutan

Asumsi:

  • 1. Nama lembar tempat data "Sheet1" (koreksi kode jika tidak)
  • 2. Nama lembar tempat hasil pencarian akan ditempelkan adalah "Hasil" (koreksi kode jika tidak)
  • 3. Hasil pencarian sebelumnya harus dibuang
  • 4. Data ada di 4 kolom (seperti dalam sampel)

TANGGA:

  • 1. Baca Asumsi
  • 2. Buat cadangan
  • 3. Tekan ALT + F11 secara bersamaan untuk memasuki lingkungan VBE
  • 4. Klik "Sisipkan" dan tambahkan modul baru
  • 5. Tempel kode (setelah instruksi)
  • 6. Jalankan kode

Kode:

 Sub SearchData () Dim lMaxRows As Long 'jumlah maksimum baris data berdasarkan sel yang digunakan pada kolom A Dim lFilterRows As Long' baris terakhir yang difilter Dim searchRel As Variant 'apa yang akan dicari untuk Info Rilis Dim searchProj As Variant' apa itu menjadi pencarian Info Proyek Dim searchPpl As Variant 'apa yang akan dicari Info Kontak Dim sDataSheet As String' nama lembar data Dim sResultSheet As String 'nama lembar hasil sDataSheet = "Sheet1"' nama lembar data sResultSheet = "Hasil" 'nama lembar hasil' mendapatkan kriteria pencarian searchRel = InputBox ("Rilis apa yang ingin Anda cari. Untuk melewati, cukup tekan OK.") searchProj = InputBox ("Proyek apa yang ingin Anda cari. Untuk melewati, cukup tekan OK. ") searchPpl = InputBox (" Orang kontak mana yang ingin Anda cari. Untuk melewati, cukup tekan OK. ") 'hapus spasi putih searchRel = Potong (searchRel) searchProj = Potong (searchProj) searchPpl = Potong (searchPpl ) 'jika ketiga kriteria pencarian kosong maka jangan lakukan apapun If (Len (searchRel & searchProj & searchPpl) = 0) Lalu Keluar Dari Sub Kesalahan, Lanjutkan Aplikasi Selanjutnya. Tampilanplayerts = Salah 'hapus lembar hasil sebelumnya jika ada Lembar (sResultSheet). Hapus Aplikasi. Tampilan Aplikasi.DisplayAlerts = Benar Pada Kesalahan GoTo 0' menambahkan lembar hasil Sheets.Add ActiveSheet.Name = sResultSheet Sheets (sDataSheet) .Pilih Cells.Select 'menghapus filter apa pun Jika ActiveSheet.AutoFilterMode Kemudian Pada Kesalahan Lanjutkan Selanjutnya ActiveSheet.ShowAllData Pada Kesalahan GoTo 0 End Jika lMaxRows = Cell (Rows.Count, "A) End." (xlUp) .Row If ActiveSheet.AutoFilterMode = False Kemudian Selection.AutoFilter End If If (searchRel) "" Kemudian Field FieldFilter Seleksi: = 2, Kriteria1: = "=" & searchRel, Operator: = xlAnd, Kriteria2: = " "End If If (searchProj)" "Lalu Field Selection.utoFilter: = 3, Kriteria1: =" = "& searchProj, Operator: = xlAnd, Kriteria2: =" "End If If (searchPpl)" "Lalu Field Selection.AutoFilter : = 4, Kriteria1: = "= *" & searchPpl & "*", Operator: = xlAnd, Kriteria2: = "" Akhir Jika lFilterRows = Sel (Rows.Count, "A"). End (xlUp) .Row Range ("A1: D" & lFilter Baris 0 End If End Sub 

Catatan

Terima kasih kepada rizvisa1 untuk tip ini di forum.

Artikel Sebelumnya Artikel Berikutnya

Tips