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        
         

Kirim email ke