Latest Post
Tampilkan postingan dengan label Tutorial Excel. Tampilkan semua postingan
Tampilkan postingan dengan label Tutorial Excel. Tampilkan semua postingan

Belajar Excel Jalankan Makro Saat Anda Mengklik Tombol di Excel

Tutorial belajar Excel kali ini yaitu cara menjalankan makro saat Anda mengklik tombol di lembar kerja di Excel. Ini memungkinkan Anda untuk membuat tombol dan meletakkannya di mana saja di spreadsheet dan kemudian menjalankan makro saat tombol itu diklik.

Langkah-Langkah Menjalankan Makro Saat Tombol Diklik

  1. Buat tombol. Buka tab Insert dan klik tombol Shape dan pilih bentuk tombol yang diinginkan. 
  2. Letakkan tombol ke dalam spreadsheet dan pindahkan serta ukuran sesuai keinginan Anda dan bahkan tambahkan teks ke dalamnya dengan mengkliknya dan mengetik. 

  3. Klik kanan tombol dan klik Assign Macro... 

  4. Pilih makro yang diinginkan dari jendela yang terbuka dan kemudian tekan tombol OK. 

  5. Ujilah, dengan menekan tobol yang telah dibuat tadi. 

Makro khusus ini hanya membuka jendela kecil dan mengatakan "Halo!" tetapi Anda dapat menetapkan makro apa pun yang Anda inginkan ke tombol ini.

Hentikan Makro dari Berjalan Saat Tombol Diklik

Anda dapat dengan mudah menghentikan makro agar tidak ditetapkan ke tombol, artinya tidak ada yang akan terjadi saat tombol diklik.

Untuk melakukan ini, klik kanan tombol > klik Assign Macro > di jendela yang terbuka, hapus semua teks di bawah nama Makro: lalu tekan tombol OK.

Catatan

Pastikan Anda sudah memiliki makro di buku kerja Anda sebelum mencoba menetapkannya ke tombol.

Di Excel 2007 dan yang lebih baru, Anda harus menyimpan file Excel sebagai Buku Kerja Excel Macro-Enabled.

Jangan lupa untuk mengunduh contoh file excel untuk tutorial excel kali ini sehingga Anda dapat melihat fitur ini beraksi.

File yang Dapat Diunduh: File Excel
 

Belajar Excel Membuat Formulir Input Untuk Mendapatkan Data dan Menyimpannya di Tab Lain di Excel

Cara membuat formulir input pengguna di Excel dan menyimpan data di lembar kerja lain dengan mengklik tombol.

Metode ini menggunakan formulir input sederhana yang dapat dibuat dan dilakukan oleh siapa pun di dalam lembar kerja dan tidak mencakup UserForms yang dibuat di VBA dan itu bisa sangat rumit bagi pengguna untuk dibuat dan dimaintain.

Tutorial ini memang menggunakan makro untuk mendapatkan data dari formulir input ke lembar kerja di mana ia akan disimpan tetapi jangan khawatir, saya akan membahasnya langkah demi langkah.

Buat Formulir Input

Pertama, kita membuat form dimana user akan menginput data. Anda dapat menghabiskan banyak waktu atau sedikit untuk melakukan ini, tetapi yang paling penting adalah mudah bagi pengguna untuk memahami apa yang harus dilakukan.

Berikut adalah beberapa langkah untuk membuat bentuk dasar formulir yang saya suka.

Buat judul dan berikan format seperti judul:

Belajar Excel

Lewati satu baris lalu masukkan judul bidang formulir. Lewati satu baris di antara setiap bidang formulir. Ini memungkinkan Anda untuk mengontrol jarak antar bidang dan membuatnya lebih mudah digunakan. 

Terapkan juga beberapa pemformatan dasar pada judul; Saya hanya membuat mereka berani


Sesuaikan jarak antara setiap bidang dengan memilih baris kosong di antara mereka sambil menahan tombol Ctrl.

Kemudian, ubah ketinggian satu dan semua akan berubah pada saat yang bersamaan.



Buat kolom A cukup besar untuk menampilkan judul bidang formulir. Kemudian buat kolom B kecil; kita akan menggunakan kolom ini sebagai pemisah antara field input form dan judul.


Klik kotak di kiri atas baris dan kolom atau tekan saja Ctrl + A untuk memilih semuanya.
Lalu klik ikon ember cat di kotak Font pada tab Beranda dan pilih warna keabu-abuan untuk mewarnai latar belakang form yang akan dibuat.

Anda sekarang akan memiliki sesuatu tampilan seperti ini:


Pilih sel di kolom C yang berada di baris yang sama dengan judul bidang formulir dan buat latar belakangnya menjadi putih.


Jika mau, Anda dapat menambahkan batas garis penuh di sekitar setiap sel putih; beberapa orang melakukan seperti itu.

Saatnya menambahkan tombol.
Buka tab Insert dan klik Shapes dan pilih Rounded Rectangle dari daftar.




Kemudian, klik kiri pada mouse, tahan, dan seret hingga Anda memiliki ukuran tombol yang diinginkan.


Pastikan tombol dipilih dan kemudian buka tab Format yang akan muncul dan klik panah bawah di bagian Gaya Bentuk dan pilih yang sudah jadi dari sana jika Anda mau.


Klik tombol lagi dan ketik beberapa teks.



Sekarang kita memiliki bentuk yang cukup bagus.

Sebelum kita melanjutkan, saya ingin menambahkan nama untuk setiap field input. Ini akan membuat pembuatan makro menjadi lebih mudah.
Pilih bidang input putih untuk Nama Depan dan kemudian lihat ke kotak putih tepat di atas di mana dikatakan kolom A, itu adalah Kotak Nama dan di sanalah kita akan mengetikkan nama untuk bidang ini; Saya menamai dengan nama_depan. Setelah Anda mengetik nama, Anda harus menekan Enter. (petunjuk: Anda tidak dapat menggunakan spasi dalam nama)


Ulangi ini untuk bidang lain sampai masing-masing memiliki nama yang unik.

Untuk menyelesaikan tampilan formulir, buka tab View dan lihat di Show section.
Hapus centang Formula bar, Gridlines, dan Headings.



Ubah ukuran windows dan sembunyikan menu Ribbon (Anda dapat menggunakan makro untuk sepenuhnya menyembunyikan menu Ribbon jika Anda mau).


Sekarang Anda punya bentuk form kecil yang bagus.

Anda juga dapat mengunci lembar kerja dan membiarkan hanya 4 bidang input putih yang tidak terkunci jika Anda ingin melindungi formulir dan Anda dapat menggunakan Validasi Data untuk memastikan pengguna memasukkan tipe data yang benar.

Buat Makro untuk Menyimpan Data


Sekarang setelah Anda memiliki formulir, mari buat tombol Kirim itu berfungsi.

Di sini, saya akan menunjukkan cara membuat makro, yang akan mudah diikuti, saya janji.

Cari tahu di mana Anda akan meletakkan data. Anda dapat mengirimkannya melalui email di suatu tempat, dimasukkan ke dalam database nyata, atau hanya disimpan di lembar kerja terpisah. Saya akan membahas opsi terakhir di sini, jadi langkah pertama adalah membuat lembar kerja dan memastikan kita tahu kemana data akan disimpan.

Saya membuat lembar kerja bernama Data dan memberi judul untuk setiap kolom yang akan menampung data.

Anda juga perlu menambahkan baris judul untuk data Anda agar makro yang Anda buat di sini berfungsi.



Saatnya membuat makro. Tekan Alt + F11 untuk membuka jendela VBA. Seharusnya terlihat seperti ini:


Masuk ke Insert > Module.



Sebuah jendela kosong akan terbuka:


Ketik sub lalu spasi dan kemudian nama yang ingin Anda berikan pada makro.



Tekan Enter dan secara otomatis akan diformat seperti ini:



Untuk memulai makro, saya menyimpan nama lembar kerja tempat input akan disimpan, lembar kerja Data. Ini adalah sesuatu yang tidak harus Anda lakukan tetapi akan banyak membantu jika Anda mengubah nama lembar kerja.


Variabel ws_output menyimpan data teks, yang hanya merupakan nama lembar kerja tempat data akan pergi.

Sekarang, kita perlu mencari tahu apa baris kosong berikutnya pada lembar kerja data sehingga kita tidak menimpa apa pun.

Potongan kode ini akan menemukan baris itu dan menyimpannya ke dalam variabel bernama next_row:

 next_row = Sheets(ws_output).Range("A" & Rows.Count).End(xlUp).Offset(1).Row

Baris kode ini mungkin tampak membingungkan tetapi, sejujurnya, Anda tidak benar-benar perlu tahu cara kerjanya kecuali bahwa ws_output harus berisi nama lembar kerja tempat Anda ingin meletakkan data dan A adalah kolom tempat Anda akan menempatkan data yang harus selalu diinput oleh pengguna; kolom ini tidak boleh menyimpan data opsional atau Anda akan berakhir menimpa beberapa data jika pengguna memilih untuk mengosongkan bidang itu.



Untuk mempelajari lebih lanjut tentang baris kode ini, buka tutorial di sini: temukan baris kosong berikutnya di lembar kerja

Kita sekarang tahu ke mana data harus pergi dan di mana baris kosong berikutnya; selanjutnya, kita hanya perlu mengambil data dari lembar kerja Input dan memasukkannya ke dalam lembar kerja Data.
Inilah cara melakukannya dengan bidang Nama Depan.

Sheets(ws_output).Cells(next_row, 1).Value = Range("nama_depan").Value

ws_output adalah variabel yang menyimpan nama lembar kerja Data.
Cells(next_row, 1) mengatakan ke mana data harus diletakkan di lembar kerja. next_row berasal dari langkah terakhir dan mengatakan di baris mana data akan ditempatkan. 1 adalah nomor kolom tempat data akan pergi. Nilai Nama Depan akan masuk ke kolom A dan itu adalah kolom pertama, jadi 1 masuk ke sana. Untuk kolom B, kita akan menggunakan 2 sebagai ganti 1 dan kolom C akan menjadi 3, dst.
Range("nama_depan") adalah apa yang memilih nilai dari sel nama depan pada lembar kerja Input. Karena saya menamai sel itu nama_depan, saya tidak perlu merujuk lembar kerja tempat ia berada; Saya cukup memasukkan nama sel di dalam Range() dan itu akan mendapatkan nilai yang benar.
Nilai ada di dua tempat di baris kode ini dan digunakan untuk mendapatkan nilai sel nama_depan dan kemudian memasukkan nilai itu ke sel baru pada lembar kerja Data.

Ini makro dengan baris baru:.


Ulangi Langkah 7 untuk setiap bagian data yang ingin Anda simpan.


Tiga baris baru di sini adalah:

Sheets(ws_output).Cells(next_row, 2).Value = Range("nama_belakang").Value
Sheets(ws_output).Cells(next_row, 3).Value = Range("email").Value
Sheets(ws_output).Cells(next_row, 4).Value = Range("akun").Value

Baris-baris ini akan mendapatkan nama belakang, email, dan nilai akun dan memasukkannya ke lembar kerja Data.
Satu-satunya hal yang diubah di setiap baris adalah kolom tempat data akan ditempatkan pada lembar kerja Data dan nama sel tempat kita mendapatkan data.
Untuk mendapatkan nilai nama belakang dari lembar kerja Input, saya memasukkan nama_belakang dalam metode range: Range("nama_belakang").
Untuk memasukkan nilai nama belakang ke dalam kolom kedua lembar kerja Data, saya memasukkan 2 ke dalam metode sel: Sel (baris berikutnya, 2).
Anda dapat melihat bahwa setiap baris mengikuti pola ini; jumlah kolom dalam metode sel bertambah satu, sehingga setiap bagian data masuk ke kolom berikutnya dan nama sel dalam metode rentang diperbarui untuk mendapatkan bagian data yang diinginkan.

Sekarang, kembali ke Excel, Alt + F11, dan lampirkan makro ke tombol Kirim.
Untuk melakukan ini, klik kanan tombol Kirim dan klik Tetapkan Makro.



Pilih makro dari daftar dan klik OK.


Saatnya untuk menguji semuanya! Mari kita masukan beberapa data.



Klik tombol Kirim, buka tab Data, dan Anda akan melihat datanya.



Wah, jadi itu banyak sekali langkahnya, tetapi Anda sekarang seharusnya memiliki formulir Input dan lembar kerja penyimpanan data yang berfungsi penuh di Excel.

Ada beberapa hal lain yang dapat Anda tambahkan ke makro untuk membuatnya sedikit lebih ramah pengguna, seperti mengosongkan formulir saat entri berhasil dibuat, memperlihatkan pesan keluaran bahwa data telah disimpan, menyembunyikan dan mengunci Lembar kerja data sehingga pengguna tidak dapat dengan mudah mengubahnya dengan tangan, dan lainnya. Tapi, apa yang saya tunjukkan di sini adalah pembuatan fungsionalitas inti dari formulir Input dan sistem penyimpanan.

Dapatkan ini berfungsi terlebih dahulu dan kemudian lanjutkan untuk menambahkan fitur-fitur lainnya. Saya juga akan membahas banyak fitur tersebut di tutorial lainnya.

Jika Anda ingin pemahaman yang lebih baik tentang makro ini, baca bagian dari atas yang disebut Membuat Makro untuk Menyimpan Data.

Catatan:
Tidak banyak yang bisa dikatakan tentang yang satu ini yang belum saya katakan. Saya harap semuanya jelas dan mudah dimengerti tetapi tidak terlalu lambat.

Pastikan untuk mendownload file excel yang dilampirkan pada tutorial ini sehingga Anda bisa mendapatkan semua ini di Excel (maka Anda tidak harus memulai dari awal saat membuat formulir input Anda sendiri).

File yang Dapat Diunduh: File Excel

 

Analisa Statistik Industri di Microsoft Excel

Dalam kehidupan sehari-hari ketika kita berbicara tentang bisnis, analisis merupakan faktor yang sangat penting untuk menjalankan bisnis dengan sukses. Analisis membantu kita dalam mendapatkan gagasan yang jelas tentang untung atau rugi suatu bisnis dan juga bagaimana, kapan dan di mana strategi bisnis perlu diubah.

Akan sangat sulit untuk memahami tentang untung / rugi jika kita hanya memiliki data. Ada kemungkinan bahwa kita mungkin mendapatkan ide samar tentang bisnis kita. Pada titik ini, dasbor memberi kita gagasan yang jelas tentang bisnis kita.

Mari kita ambil contoh

Industri yang terlibat dalam penjualan produk melalui situs web. Industri ini menjalankan bisnis di berbagai negara sejak Januari 2013. Manajemen ingin membandingkan statistik penjualan mereka dengan bijaksana, bijaksana di negara, secara global, berapa banyak yang mereka belanjakan untuk iklan dan pendapatan mereka. Berikut adalah contoh terbaik yang sama.


Kita perlu memilih bulan dari daftar dropdown seperti yang ditunjukkan pada gambar dibawah ini. Ketika kita memilih bulan dari dropdown, secara otomatis data akan berubah untuk menampilkan angka bulan itu dan kemudian membandingkannya dengan bulan sebelumnya.


Tangkapan layar di bawah ini menampilkan tren tiap Negara dari biaya yang dikeluarkan oleh industri di setiap bulan. Pengguna harus memilih negara dari daftar dropdown.



Screenshot di bawah ini menampilkan pendapatan industri dari departemen


Screenshot di bawah ini menampilkan Biaya yang dikeluarkan untuk seluruh industri setiap bulan.



Screenshot di bawah ini menampilkan Tren Penjualan dari penjualan yang dilakukan.


Tangkapan layar di bawah ini menampilkan Penghasilan Cenderung dalam% untuk setiap bulan.







 

Fungsi TRIM di Microsoft Excel 2010

Pada artikel ini kita akan belajar cara menghapus karakter kosong yang tidak perlu dari sel, kita akan menggunakan fungsi "TRIM" di Microsoft Excel 2010.

TRIM: Fungsi Trim digunakan untuk menghapus spasi tambahan awal dan akhir dari teks dalam sel.

Syntax of “TRIM” function:           =TRIM (text)

Contoh:


  • Sel A1 berisi teks "Tips    Excel"
  • Masukkan rumus di sel B1 = TRIM (A1), tekan Enter pada keyboard Anda
  • Fungsi akan mengembalikan teks setelah menghapus spasi yang tidak perlu.



Mari kita ambil contoh untuk memahami bagaimana dan di mana kita dapat menggunakan fungsi TRIM.

Sebagai Contoh: - Kita memiliki 2 set data, data 1 memiliki semua detail, dan kita ingin data ke-2 untuk memilih tanggal bergabung, dengan menggunakan nama Karyawan.


Nama karyawan dengan spasi, dan kita akan menggunakan di sini fungsi TRIM bersama dengan fungsi Vlookup.

Ikuti langkah-langkah berikut yang diberikan: -

  • Tulis rumus di sel F3.
  • = VLOOKUP (TRIM (E3), A2: B7,2, FALSE)
  • Tekan Enter pada keyboard Anda.
  • Fungsi akan mengembalikan Tanggal Bergabung untuk karyawan.
  • Salin rumus dengan menekan tombol Ctrl + C dan rekatkan dalam rentang F3: F7 dengan menekan tombol Ctrl + V pada keyboard Anda.


Ini adalah cara kita dapat menggunakan fungsi TRIM untuk data kami di Microsoft Excel.




 

3 Langkah Mudah Membuat Form Isi Barang Di Excel Menggunakan UserForm

Pada tulisan saya yang terdahulu tentang aplikasi persediaan barang terdiri dari beberapa worksheet yang dikombinasikan dengan form - form input untuk memudahkan pengguna mengisi ataupun menambahkan daftar barang. Form - form tersebut dibuat menggunakan user form yang ada pada VBA editor di Excel. Bagi Anda yang sudah mengenal dengan istilah user form pada VBA editor mungkin akan sangat mudah untuk membuatnya tapi bagaimana yang belum sama sekali ataupun baru mengenal istitilah ini.
Disini saya akan menjelaskan bagaimana cara membuat daftar isi barang tersebut menggunakan User Form pada VBA editor di Excel. 
Langkah-langkahnya adalah sebagai berikut: 

Langkah 1. Membuka Windows Project Explorer
- Tampilkan jendela VBA editor melalui menu Developer


- Tambahkan Form pada jendela VBA project melalui menu Insert lalu klik Usert Form


Maka akan muncul form yang nantinya akan kita design sesuai dengan apa yang kita inginkan. 


Untuk mendesign form tersebut agar sesuai dengan yang kita harapkan maka di perlukan tool-tool seperti Combo List, Combo Box, Text Box, Command Button, Dll. Semua tool tersebut telah disediakan didalam menu Toolbox seperti terlihat pada gambar dibawah ini ; 


Langkah 2. Mendesign Tampilan User Form
- Ubah Properties UserForm1 dengan kriteria Height : 295, Width : 490, seperti yang terlihat pada gambar dibawah ini; 


- Tambahkan 4 buah Frame pada UserForm1 yang tersedia pada menu Toolbox, dan atur tata letak sehingga terlihat seperti gambar dibawah ini. 


- Ubah Properties Caption untuk tiap-tiap frame, sepeti terlihat pada gambar dibawah ini;
Frame1 ubah ubah properties caption menjadi Data Barang. 


Frame2 ubah properties caption menjadi Jenis


Frame3 ubah properties caption menjadi Informasi Barang


Frame4 ubah properties caption menjadi "    " atau ( kosongkan saja )


Jika Anda telah melakukan seperti yang saya jelaskan di atas maka tampilan UserFrom1 menjadi terlihat seperti dibawah ini; 


Tambahkan tombol kontrol pada tiap-tiap frame dan atur tata letak sesuai dengan area yang tersedia pada tiap frame dengan contoh seperti gambar dibawah ini;


Lalu ubah properties caption pada masing-masing tombol kontrol seperti yang telah saya jelaskan diatas sehingga tampilan form menjadi terlihat seperti gambar dibawah ini;


Langkah 2. Menambahkan Kode Macro VB 

Agar form yang telah dibuat dapat berjalan secara otomatis dan dapat digunakan untuk kebutuhan menginput data barang maka perlu ditambahkan kode macro VB didalamnya.
Sebelum memasukkan kode VB maka terlebih dahulu ubah properties name pada masing-masing tombol kontrol seperti keterangan dibawah ini;

ComboBox1 = CBFilter 
TextBox1 = TBFilter
ListBox1 = LBFILTER
ComboBox2 = CBFILTERJENIS
TextBox1 = TBNama
TextBox2 = TBKode
TextBox3 = TBStok
TextBox4 = TBSatuan
CommandButton1 = CBOK
CommandButton2 = CBBatal
CommandButton3 = CBTambah
CommandButton4 = CBEdit
CommandButton5 = CBHapus
CommandButton5 = CMDTutup

- Lalu pada UserForm1 masukkan kode seperti dibawah ini;

Option Explicit
Dim CbLock As Boolean, Simpan As Boolean
Dim FormMode As String
Dim harga As Double
Const MsgboxTitle = "Daftar Barang"

'=================================================================================
' CCCCC
'=================================================================================
Private Sub CBTAMBAH_Click()
Dim JmlMasuk, JmlKeluar, JmlSisa
    CbLock = True
    Unlok
    TBKode.Value = Empty
    TBNama.Value = Empty
    TBStok.Value = Empty
    FormMode = "Tambah"
End Sub

Private Sub CBBATAL_Click()
    FormMode = "Ready"
    CbLock = False
    Unlok
    RefreshControl
End Sub

Private Sub CBEDIT_Click()
    CbLock = True
    Unlok
    FormMode = "Edit"
End Sub

Private Sub CBOK_Click()
Dim LnBrg As Integer
    If TBKode.Value = Empty Then
        MsgBox "Kode barang masih kosong", vbInformation, MsgboxTitle
        Exit Sub
    End If
    If TBNama.Value = Empty Then
        MsgBox "Nama barang masih kosong", vbInformation, MsgboxTitle
        Exit Sub
    End If
    If FormMode = "Tambah" Then
        LnBrg = SBBRG.Max + 1
    Else
        LnBrg = SBBRG.Value
    End If
    If Not CheckDup(TBKode.Value, "A", LnBrg, FormMode) Then GoTo ErrOk
    With ThisWorkbook.Sheets("DataBarang")
        Application.ScreenUpdating = True
        .Unprotect
        .Range("A" & LnBrg).Value = TBKode.Value
        .Range("B" & LnBrg).Value = TBNama.Value
        .Range("c" & LnBrg).Value = TBStok.Value
        .Range("d" & LnBrg).Value = TBSatuan.Value
        .Range("e" & LnBrg).Value = CBFILTERJENIS.Value
        MsgBox FormMode & " data berhasil", vbInformation, MsgboxTitle
        Simpan = True
        .Protect
        Application.ScreenUpdating = False
    End With
    If FormMode = "Tambah" Then
        Sekrol
        SBBRG.Value = SBBRG.Max
    End If
    CBBATAL_Click
    Exit Sub
ErrOk:
    MsgBox "No ID sudah dipakai", vbCritical, MsgboxTitle
    Exit Sub
End Sub

Private Sub SBBRG_Change()
    RefreshControl
End Sub

Private Sub TBHARGA_Exit(ByVal Cancel As MSForms.ReturnBoolean)
    On Error GoTo ErrHarga
    harga = TBHARGA.Value
    TBHARGA.Value = FormatNumber(harga, 0, vbTrue, vbTrue, vbTrue)
    Exit Sub
ErrHarga:
    MsgBox "Hanya Boleh Berisi Angka Saja!", vbOKOnly + vbCritical, MsgboxTitle
    harga = 0
    TBHARGA = FormatNumber(harga, 0, vbTrue, vbTrue, vbTrue)
End Sub

Private Sub TBHARGA_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
    If IsNumeric(Chr(KeyAscii)) = False And KeyAscii <> vbKeyBack And KeyAscii <> 44 Then
        KeyAscii = 0
    End If
End Sub

Private Sub TBHARGA_Enter()
    TBHARGA.Value = harga
End Sub

Private Sub CBXKOLFILTER_Change()
    LBFILTER.RowSource = FilterBarang(TBFILTER.Value, CBXKOLFILTER.ListIndex)
End Sub

Private Sub LBFILTER_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Dim response As VbMsgBoxResult
    If LBFILTER.Value = Null Then Exit Sub
    response = MsgBox("tampilkan data " & LBFILTER.Value & " ??", vbYesNo + vbQuestion, MsgboxTitle)
    If response = vbNo Then Exit Sub
    SBBRG.Value = Application.WorksheetFunction.Match(LBFILTER.Value, ThisWorkbook.Sheets("DataBarang").Range("A:A"), 0)
End Sub

Private Sub TBFILTER_Change()
    LBFILTER.RowSource = FilterBarang(TBFILTER.Value, CBXKOLFILTER.ListIndex)
End Sub

Private Sub UserForm_Activate()
Dim text1 As control
Dim i As Integer
    Application.Calculation = xlCalculationManual
    ThisWorkbook.Activate
    Sheets("DataBarang").Select
    Application.ScreenUpdating = False
    Call Sekrol
    CBXKOLFILTER.Clear
    For i = 1 To 3
        CBXKOLFILTER.AddItem Sheets("DataBarang").Cells(1, i).Value
    Next i
    CBXKOLFILTER.ListIndex = 1
        CBFILTERJENIS.AddItem Sheets("DataBarang").Range("K:K").Cells(2, 1)
        CBFILTERJENIS.AddItem Sheets("DataBarang").Range("K:K").Cells(3, 1)
        CBFILTERJENIS.AddItem Sheets("DataBarang").Range("K:K").Cells(4, 1)
        CBFILTERJENIS.AddItem Sheets("DataBarang").Range("K:K").Cells(5, 1)
        CBFILTERJENIS.AddItem Sheets("DataBarang").Range("K:K").Cells(6, 1)
        CBFILTERJENIS.AddItem Sheets("DataBarang").Range("K:K").Cells(7, 1)
        CBFILTERJENIS.AddItem Sheets("DataBarang").Range("K:K").Cells(8, 1)
        CBFILTERJENIS.AddItem Sheets("DataBarang").Range("K:K").Cells(9, 1)
        CBFILTERJENIS.AddItem Sheets("DataBarang").Range("K:K").Cells(10, 1)
        CBFILTERJENIS.AddItem Sheets("DataBarang").Range("K:K").Cells(11, 1)
        CBFILTERJENIS.AddItem Sheets("DataBarang").Range("K:K").Cells(12, 1)
        CBFILTERJENIS.AddItem Sheets("DataBarang").Range("K:K").Cells(13, 1)
        CBFILTERJENIS.AddItem Sheets("DataBarang").Range("K:K").Cells(14, 1)
        CBFILTERJENIS.AddItem Sheets("DataBarang").Range("K:K").Cells(15, 1)
        CBFILTERJENIS.AddItem Sheets("DataBarang").Range("K:K").Cells(16, 1)
        CBFILTERJENIS.AddItem Sheets("DataBarang").Range("K:K").Cells(17, 1)
        CBFILTERJENIS.AddItem Sheets("DataBarang").Range("K:K").Cells(18, 1)
        CBFILTERJENIS.AddItem Sheets("DataBarang").Range("K:K").Cells(19, 1)
        CBFILTERJENIS.AddItem Sheets("DataBarang").Range("K:K").Cells(20, 1)
        CBFILTERJENIS.AddItem Sheets("DataBarang").Range("K:K").Cells(21, 1)
        CbLock = False
    Call Unlok
    FormMode = "Ready"
    Simpan = False
    Set text1 = Controls.Add("Forms.Label.1", "TT", True)
    text1.Move 12, 360, 420, 12
    text1.Caption = AuthorGen2()
    If SBBRG.Max = 1 Then
        MsgBox "Data masih kosong", vbInformation, MsgboxTitle
        Call CBTAMBAH_Click
        CBBATAL.Enabled = False
        Exit Sub
    End If
    RefreshControl
End Sub

Private Sub UserForm_Terminate()
    Application.Calculation = xlCalculationAutomatic
    Application.ScreenUpdating = True
    ThisWorkbook.Sheets("DataBarang").Range("A" & SBBRG.Value & ":E" & SBBRG.Value).Select
    ThisWorkbook.Sheets("DataBarang").Protect
    If Simpan Then ThisWorkbook.Save
End Sub

'=================================================================================
'                                                                         FFFFFFF
'=================================================================================

Private Function CheckDup(w As Variant, x As String, y As Integer, z As String) As Boolean
Dim TempCD1, TempCD2, RgLook
    On Error GoTo ErrCheckDup
    CheckDup = True
    RgLook = x & "1:" & x & SBBRG.Max
    TempCD1 = Application.WorksheetFunction.CountIf(ThisWorkbook.Sheets("DataBarang").Range(RgLook), w)
    If z = "Tambah" Then
        If TempCD1 > 0 Then CheckDup = False
    ElseIf z = "Edit" Then
        If TempCD1 > 1 Then
            CheckDup = False
        ElseIf TempCD1 = 1 Then
            TempCD2 = Application.WorksheetFunction.Match(w, ThisWorkbook.Sheets("DataBarang").Range(RgLook), 0)
            If TempCD2 <> y Then CheckDup = False
        End If
    End If
    Exit Function
ErrCheckDup:
    MsgBox "ErrCheckDup", vbCritical, MsgboxTitle
    CheckDup = False
End Function

'=================================================================================
' PPPPPPP
'=================================================================================

Private Sub Unlok()
    CBTambah.Enabled = Not CbLock
    CBEdit.Enabled = Not CbLock
    SBBRG.Enabled = Not CbLock
    CBOK.Enabled = CbLock
    CBBATAL.Enabled = CbLock
    TBKode.Locked = Not CbLock
    TBNama.Locked = Not CbLock
    TBStok.Locked = Not CbLock
End Sub

Private Sub Sekrol()
    SBBRG.Max = LastCell(ThisWorkbook.Name, "DataBarang", "A")
    If SBBRG.Max <= 1 Then
        SBBRG.Min = 1
    Else
        SBBRG.Min = 2
    End If
    SBBRG.LargeChange = Round(SBBRG.Max / 5, 0)
End Sub

Private Sub RefreshControl()
Dim JmlMasuk, JmlKeluar, JmlSisa
    With ThisWorkbook.Sheets("DataBarang")
        TBKode.Value = .Cells(SBBRG, 1).Value
        TBNama.Value = .Cells(SBBRG, 2).Value
        TBStok.Value = .Cells(SBBRG, 3).Value
    End With
End Sub

Private Sub CMDTutup_Click()
Unload Me
End Sub

- Tambahkan module1 pada project VBA editor lalu masukan kode dibawah ini; 


- Tambahkan module2 pada project VBA editor lalu masukan kode dibawah ini; 

Option Explicit
Public Function FilterBarang(KeyWord As String, Kolom As Integer) As String
Dim RwCount As Integer
    With ThisWorkbook.Sheets("TabelBarang")
        .Range("A:H").Clear
        .Cells(1, 1).Value = ThisWorkbook.Sheets("Databarang").Cells(1, Kolom + 1)
        If Kolom < 1 Then
            KeyWord = "*" & KeyWord
        Else
            KeyWord = KeyWord
        End If
        .Cells(2, 1).Value = KeyWord
        With ThisWorkbook.Sheets("Databarang")
            .Unprotect
            If ThisWorkbook.Sheets("Databarang").Range("A1").CurrentRegion.Rows.Count <= 1 Then
                FilterBarang = "TabelBarang!C2:E2"
                Exit Function
            End If
            .Protect
            If ThisWorkbook.Sheets("Databarang").Range("A65536").End(xlUp).Row = 1 Then Exit Function
        End With
        ThisWorkbook.Sheets("Databarang").Unprotect
        ThisWorkbook.Sheets("Databarang").Range("A1").CurrentRegion.AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=.Range("A1:A2"), CopyToRange:=.Range("C1"), Unique:=False
        ThisWorkbook.Sheets("Databarang").Protect
        RwCount = Application.WorksheetFunction.CountA(.Range("C:C"))
        If RwCount < 2 Then RwCount = 2
        FilterBarang = "TabelBarang!C2:G" & RwCount
    End With
End Function

Public Function LastCell(x, y, z) As Integer
    With Workbooks(x).Sheets(y)
        .Unprotect
        LastCell = .Range(z & "1").CurrentRegion.Rows.Count
        .Protect
    End With
End Function

Public Function BrgDet(x, y)
Dim RgLook
Dim MatchLn
    With ThisWorkbook.Sheets("Databarang")
        .Unprotect
        If .Range("A1").CurrentRegion.Rows.Count <= 1 Then
            BrgDet = Empty
            Exit Function
        End If
        RgLook = "A1:A" & .Range("A1").CurrentRegion.Rows.Count
        MatchLn = Application.WorksheetFunction.Match(x, .Range(RgLook), 0)
        BrgDet = .Range(y & MatchLn).Value
        .Protect
    End With
End Function

Public Function kategori() As Integer
    With ThisWorkbook.Sheets("DataBarang")
        ListIndex = Range("A:H").Select
    End With
End Function

- Agar kode macro VB di atas dapat berjalan sebagaimana mestinya maka tambahkan worksheet baru pada workbook yang aktif lalu rename menjadi TabelBarang. 
- Untuk mencoba hasil dari kode macro tersebut tekal tombol F5 pada keyboard komputer atau laptop Anda. 

Bagaimana mudahkan? ok silahkan Anda mencoba tutorial ini !!! Jika ada yang perlu ditambahkan atau Anda masih merasa kesulitan maka Anda bisa menanyakan ataupun menginformasikan melalu kolom komentar dibawah ini. 
Sebagai bahan untuk latihan Anda juga bisa menggunakan file yang sudah jadi hasil dari tutorial ini dengan mendownload pada link dibawah ini:
 

 
 
Links : About | Excel Tutorial | Macro VBA | Download| Daftar Isi
Copyright © 2010. iyanzone - All Rights Reserved
Support by Teknik AutoCAD Published by Iyan Supriyadi
Proudly powered by Blogger