Dear Mas Aji, Thanks a lot, sekalian belajar nih kalau mau ditambahkan kriterian misalkan Month movement di raw data F7, logika mana yang harus di tambah kan. Thanks. Regards, Yudi
________________________________ From: aji mumpung <pupung1...@gmail.com> To: belajar-excel@yahoogroups.com Sent: Thursday, October 18, 2012 9:08 PM Subject: Re: [belajar-excel] menghasilkan data ketika searching data maaf koreksi untuk bagian pertama, 1. yang tadi belum di tes jika data tidak ditemukan 2. sebelumnya penempatan msgbox kalo tidak ditemukan ada di dalam loop < sudah diperbaiki di sini > ## semoga moderator bersedia menghapus postingan saya sebelumnya, menghindari kerugian waktu user yang mencoba file tersebut karena harus menekan tombol OK berkali-kali sebelum bisa keluar dari Loop ## 3. sebelumnya pengecekan terbalik antara kode stok dengan kode gudang, harusnya kode stok dgn stok & kode gudang dgn gudang revisi untuk bagian pertama yang ditulis dimodule sbb: Option Explicit ' ========================================== ' code by : Aji Mumpung ' puncak Telomoyo, di samping menara Telkom ' 18 Oktober 2012 ' ========================================== Sub CariBerdasarkanKodeStokDanGudang() ' deklarasikan variabel yang dibutuhkan ' variable Header WareHouse bertipe range Dim hdWH As Range ' variabel untuk menyimpan data seluruh WareHouse, bertipe range Dim rgWH As Range ' variabel untuk setiap cell yang berisi data WareHouse, bertipe range Dim cWH As Range ' variabel kode stok yang ditanyakan, bertipe range Dim codeStock As Range ' variabel kode waregouse yang ditanyakan, bertipe range Dim codeWH As Range ' non aktif-kan screen update Application.ScreenUpdating = False ' hapus dahulu semua data di sheet "Search" range c5 sampai c13 Sheet2.Range("c5:c13").ClearContents ' tentukan nilai kode stok yang ditanyakan ' berada di sheet "search", nomer index sheetnya 2 ' untuk setiap cell yang di-merge nilainya berada di paling kiri atas Set codeStock = Sheet2.Range("f2") ' tentukan nilai kode warehouse yang ditanyakan Set codeWH = Sheet2.Range("f3") ' tentukan posisi header warehouse ' nomor index sheet "Raw Data" adalah 1 dan berada di cell a7 Set hdWH = Sheet1.Range("a7") ' range data yang berisi kode wh adalah 1 baris di bawah header wh ' sampai dengan baris yang paling akhir ' dari header turun 1 baris , dari header turun ke bawah sampai baris terakhir yang berisi data ' tidak boleh ada baris kosong antar data Set rgWH = Range(hdWH.Offset(1, 0), hdWH.End(xlDown)) ' cek untuk setiap cell dalam range warehouse For Each cWH In rgWH ' cek apakah kode wh ini sama dengan kode wh di sheet "search" If cWH.Value = codeWH Then ' jika sama, coba cek juga apakah kode stok sama dengan yang ditanyakan ' posisi kode stok ada di 1 kolom sebelah kanan kode warehouse If cWH.Offset(0, 1).Value = codeStock Then ' jika kode stoknya juga sama, maka copy data di sheet "raw data" ke sheet "search" ' sesuaikan dengan posisi masing-masing data ' pada sheet2 With Sheet2 Range("c5").Value = cWH.Offset(0, 1).Value Range("c5").NumberFormat = "000" Range("c6").Value = cWH.Offset(0, 2).Value Range("c7").Value = cWH.Offset(0, 3).Value Range("c8").Value = cWH.Offset(0, 4).Value Range("c9").Value = cWH.Offset(0, 9).Value Range("c10").Value = cWH.Offset(0, 10).Value Range("c11").Value = cWH.Offset(0, 7).Value Range("c12").Value = cWH.Offset(0, 8).Value Range("c13").Value = cWH.Offset(0, 6).Value Range("c5:c13").HorizontalAlignment = xlLeft ' aktifkan kembali screen update Application.ScreenUpdating = True ' tampilkan pesan bahwa data ditemukan dan sudah ditampilkan MsgBox "Data ditemukan", vbOKOnly, "Hasil Pencarian" ' kalo sudah keluar dari prosedur ' data berikutnya sudah tidak perlu di cek lagi Exit Sub End With ' akhir dari logika End If ' akhir dari logika End If ' cek kode warehouse selanjutnya Next cWH ' jika sampai ke bagian ini berarti tidak ada data yang ditemukan ' aktifkan kembali screen update Application.ScreenUpdating = True ' tampilkan pesan bahwa tidak ada data sama yang ditemukan MsgBox "Data tidak ditemukan", vbCritical, "Peringatan" ' akhir dari prosedur End Sub file revisi terlampir wassalam, -aji mumpung- Pada 18 Oktober 2012 20:31, aji mumpung <pupung1...@gmail.com> menulis: pak yudi, > > >coba code berikut: > > >================================= >Bagian Pertama ditulis di sebuah module >================================= > > >Option Explicit >' ========================================== >' code by : Aji Mumpung >' puncak Telomoyo, di samping menara Telkom >' 18 Oktober 2012 >' ========================================== >Sub CariBerdasarkanKodeStokDanGudang() > ' deklarasikan variabel yang dibutuhkan > ' variable Header WareHouse bertipe range > Dim hdWH As Range > ' variabel untuk menyimpan data seluruh WareHouse, bertipe range > Dim rgWH As Range > ' variabel untuk setiap cell yang berisi data WareHouse, bertipe range > Dim cWH As Range > ' variabel kode stok yang ditanyakan, bertipe range > Dim codeStock As Range > ' variabel kode waregouse yang ditanyakan, bertipe range > Dim codeWH As Range > > ' non aktif-kan screen update > Application.ScreenUpdating = False > ' hapus dahulu semua data di sheet "Search" range c5 sampai c13 > Sheet2.Range("c5:c13").ClearContents > > ' tentukan nilai kode stok yang ditanyakan > ' berada di sheet "search", nomer index sheetnya 2 > ' untuk setiap cell yang di-merge nilainya berada di paling kiri atas > Set codeStock = Sheet2.Range("f2") > ' tentukan nilai kode warehouse yang ditanyakan > Set codeWH = Sheet2.Range("f3") > ' tentukan posisi header warehouse > ' nomor index sheet "Raw Data" adalah 1 dan berada di cell a7 > Set hdWH = Sheet1.Range("a7") > ' range data yang berisi kode wh adalah 1 baris di bawah header wh > ' sampai dengan baris yang paling akhir > ' dari header turun 1 baris , dari header turun ke bawah sampai baris >terakhir yang berisi data > ' tidak boleh ada baris kosong antar data > Set rgWH = Range(hdWH.Offset(1, 0), hdWH.End(xlDown)) > ' cek untuk setiap cell dalam range warehouse > For Each cWH In rgWH > ' cek apakah kode wh ini sama dengan kode wh di sheet "search" > If cWH.Value = codeStock Then > ' jika sama, coba cek juga apakah kode stok sama dengan yang >ditanyakan > ' posisi kode stok ada di 1 kolom sebelah kanan kode warehouse > If cWH.Offset(0, 1).Value = codeWH Then > ' jika kode stoknya juga sama, maka copy data di sheet "raw >data" ke sheet "search" > ' sesuaikan dengan posisi masing-masing data > ' pada sheet2 > With Sheet2 > Range("c5").Value = cWH.Offset(0, 1).Value > Range("c5").NumberFormat = "000" > Range("c6").Value = cWH.Offset(0, 2).Value > Range("c7").Value = cWH.Offset(0, 3).Value > Range("c8").Value = cWH.Offset(0, 4).Value > Range("c9").Value = cWH.Offset(0, 9).Value > Range("c10").Value = cWH.Offset(0, 10).Value > Range("c11").Value = cWH.Offset(0, 7).Value > Range("c12").Value = cWH.Offset(0, 8).Value > Range("c13").Value = cWH.Offset(0, 6).Value > Range("c5:c13").HorizontalAlignment = xlLeft > ' aktifkan kembali screen update > Application.ScreenUpdating = True > ' tampilkan pesan bahwa data ditemukan dan sudah >ditampilkan > MsgBox "Data ditemukan", vbOKOnly, "Hasil Pencarian" > ' kalo sudah keluar dari prosedur > ' data berikutnya sudah tidak perlu di cek lagi > Exit Sub > End With > ' akhir dari logika > End If > ' selain itu > Else > ' tampilkan pesan bahwa tidak ada data sama yang ditemukan > MsgBox "Data tidak ditemukan", vbCritical, "Peringatan" > ' akhir dari logika > End If > ' cek kode warehouse selanjutnya > Next cWH > ' aktifkan kembali screen update > Application.ScreenUpdating = True >' akhir dari prosedur >End Sub > > >================================= >Bagian kedua ditulis di command botton >================================= > > >Option Explicit > > >Private Sub CommandButton1_Click() > ' panggil prosedur yang tadi ditulis di sebuah modul > Call CariBerdasarkanKodeStokDanGudang >End Sub > > >file terlampir > > >wassalam, > > >-aji mumpung- >Pada 18 Oktober 2012 17:12, Yudi Dwiyono <yudi_dwiy...@yahoo.com> menulis: > > > >> >>Dear Master excel, >> >>Mohon bantu untuk file terlampir , bagaimana caranya agar ketika input stock >>code dan warehouse code akan menghasilkan data terlampir dan kemungkinan row >>pada raw data akan bertambah setiap harinya bahkan pada titik maksimal. >>Thanks. >> >>Regards, >>Yud