Cari data histori dengan macro VBA

  1. 3 minggu lalu

    All mastah,
    Saya mau tanya nih,
    di sheet Daily data selalu akan terupdate.
    Bagaimana caranya jika saya mau mencari data history wellname di sheet Record menggunakan macro VBA?
    Saya sudah buat droplist nya di cell kuning, sehingga jika saya pilih salah satu well, history datanya akan muncul
    Terimakasih sebelumnya yah.

  2. sori ketinggalan file nya

  3. Caton

    Agu 25 Terverifikasi Indonesia + 14.352 Poin

    @meikohari ...

    Sheet DAILY akan selalu update... Jadi seharusnya ada sheet lain yang berisi data sebelum data diupdate (History Records). Okelah, anggap saja ada... karena sebenarnya yang saya pahami @meikohari cuma mau memfilter data dari sheet DAILY pada kolom WELL NAME berdasarkan teks yang dipilih dari DropDown List di sheet RECORD. Terlampir contoh scriptnya...

    Demikian, semoga sesuai.

  4. Thanks Mas @Caton untuk pencerahannya.
    Sheet Daily itu manually di-input data update nya.

    Bagaimana cara kalau parameternya filter nya ditambah:

    1. Well name
    2. Job code
    3. Job status
    4. Job complete date (range bulanan)
    5. Invoice period

    Saya sudah googling & nyari yutub, tapi agak susah mencernanya.

    thanks b4.

  5. Caton

    Agu 27 Terverifikasi Indonesia + 14.352 Poin
    Di sunting 3 minggu lalu oleh Caton

    @meikohari ... Bagaimana cara kalau parameternya filter nya ditambah ...

    Terlampir contohnya. Pada file terlampir, filter dilakukan secara bebas pada sembarang field yang ditentukan isinya (bukan kosong). Untuk mengosongkan nilai sebuah field (ComboBox), tekan saja tombol Backspace. Selain dengan metode tersebut, ada juga metode lain yakni dengan pilihan berjenjang. Artinya ComboBox selanjutnya tidak bisa dipilih jika pilihan sebelumnya tidak ada. Tapi saat ini belum sempat saya buatkan. Mungkin kalau nanti saya sempat membuatkan contohnya, bisa saya lampirkan kembali.

    Catatan: Saya menggunakan AutoFilter untuk menyaring data. Mungkin akan ada masalah performa saat digunakan dengan data yang lebih banyak.

    Demikian, semoga sesuai.

  6. Sangat sesuai mas @Caton, suwun sanget.

    Untuk mengosongkan nilai sebuah field (ComboBox), tekan saja tombol Backspace. Selain dengan metode tersebut, ada juga metode lain yakni dengan pilihan berjenjang. Artinya ComboBox selanjutnya tidak bisa dipilih jika pilihan sebelumnya tidak ada.

    It's ok Mas, ngga perlu sampai level itu. yang seperti ini sudah sangat sesuai.

    Finding nya
    1. tidak semua data tertampilkan. Cth: Jika saya filter Invoice periode: 1-31 Agustus 2019, yang tertampil hanya sebagian saja.
    Mungkin ini yang dimaksud mas @Caton

    Catatan: Saya menggunakan AutoFilter untuk menyaring data. Mungkin akan ada masalah performa saat digunakan dengan data yang lebih banyak.

    2. Jika saya delete beberapa kolom yang tidak penting di Record B, semua data tetap muncul di kolom yang saya delete tadi.

    thanks b4 untuk respon dan pencerahannya.

  7. Caton

    Agu 28 Terverifikasi Indonesia + 14.352 Poin

    @meikohari Sangat sesuai mas @Caton, suwun sanget.

    Sama-sama mas @meikohari ... :)

    @meikohari ... tidak semua data tertampilkan. Cth: Jika saya filter Invoice periode: 1-31 Agustus 2019, yang tertampil hanya sebagian saja.

    Ini gak ada hubunganya dengan performa. Jadi memang saat pada saat proses mengambil hasil filter, saya menggunakan cara yang kurang tepat. Script:

    ... UsedRange.SpecialCells(xlCellTypeVisible) ...

    memiliki masalah saat mengembalikan data range yang tidak berurutan (alias loncat-locat), terutama jika range datanya banyak dan hasil yang akan dikembalikan juga banyak. Solusinya dengan melakukan pengulangan (looping terhadap setiap baris), yang mungkin akan berdampak pada performa proses. Namun saya kira hal itu lebih baik daripada data yang ditampilkan tidak sesuai. Nanti saya coba perbaiki scriptnya. Terima kasih untuk informasinya...

    @meikohari ... Jika saya delete beberapa kolom yang tidak penting di Record B, semua data tetap muncul di kolom yang saya delete tadi ...

    Ya, benar, karena saya menggunakan perintah:

    Sheet4.Cells(lRows + 5, "A").EntireRow

    jadi memang seluruh kolom data akan tersalin dari sheet DAILY. Untuk menampilkan data hanya pada kolom-kolom tertentu, solusinya bisa dengan menyembunyikan kolom yang tidak dibutuhkan (hanya ditampilkan kolom yang tertentu yang tidak diinginkan) tanpa harus menghapus kolom-kolomnya, atau coba informasikan kembali kolom-kolom data yang akan digunakan (atau upload contoh filenya) ...

    Demikian.

  8. Mas @Caton
    Saya lampirkan file nya yah, yang saya butuh hanya kolom berwarna kuning saja di Record B.
    Dan rencananya, saya juga butuh tombol Clear untuk membersihkan hasil filter nya.

    Dan bisa share contoh script kalau saya mau copy data (semuanya) dari workbook/file yang beda ke Daily ? (auto copy paste)

    Salam
    thanks b4.

  9. Caton

    Agu 29 Terverifikasi Indonesia + 14.352 Poin

    Banyak nih orderannya mas... :)

    @meikohari ... yang saya butuh hanya kolom berwarna kuning saja di Record B ...

    Silahkan dicoba pada sheet RECORD C ...

    @meikohari ... saya juga butuh tombol Clear untuk membersihkan hasil filter nya ...

    Pada sheet RECORD B dan sheet RECORD C sudah saya tambahkan...

    @meikohari ... contoh script kalau saya mau copy data (semuanya) dari workbook/file yang beda ...

    Silahkan dicoba pada sheet DAILY. Berhubung tidak ada contoh file data yang akan disalin, maka saya gunakan asumsi saya sendiri:

    >> Sheet data pada file yang akan disalin serupa dengan sheet DAILY, dengan syarat baris pertama harus berupa header data dan jumlah kolom header harus sama (lihat contoh data yang saya lampirkan)

    >> Karena nama sheet sumber data yang akan disalin tidak diketahui, saya buatkan script yang dinamis. Sheet sumber data yang akan disalin dapat dipilih dari daftar nama sheet yang tersedia. Hati-hati, jangan sampai terjadi proses penyalinan data berulang.

    Silahkan dipelajari dan dikembangkan kembali.

    Demikian.

  10. Keren nih mas @Caton, Salute!

    Script yang dibuat mas @Caton sudah sangat sesuai.
    Saya ijin menggunakannya yah dan saya akan contoh untuk aplikasi yang lainnya.

    Orderan nya banyak karena memang excel ini menurut saya menarik untuk di-explore lebih lanjut,
    tapi apa daya, "processor" saya masih 486.
    Dan di forum ini lah, saya banyak sekali dapat contoh dan pencerahan dari mas @Caton -sang master.

    thanks b4, semoga berkah!

  11. Caton

    Agu 30 Terverifikasi Indonesia + 14.352 Poin

    @meikohari ...

    Maaf baru sempat dibalas... kerjaan lagi numpuk... :)

    @meikohari ... Saya ijin menggunakannya yah dan saya akan contoh untuk aplikasi yang lainnya ...

    Silahkan mas, tak perlu izin untuk menggunakan dan mengembangkannya...

    @meikohari ... tapi apa daya, "processor" saya masih 486 ...

    Haha... saya jadi teringat PC jadul yang pernah saya punya mas... :D

    @meikohari ... thanks b4, semoga berkah ...

    Sama-sama... Semoga keberkahan juga bagi mas @meikohari ...

 

atau Mendaftar untuk ikut berdiskusi!