JTPediaQuiz - Bank Soal, Quiz Interactive, Contoh-contoh Soal Ujian Sekolah, Uji Kompetensi, Ulangan Harian, DLL. More info

Cara Menampilkan Progress Bar Data ListBox

More Info:

Menampilkan Progress Bar Data ListBox – VBA Excel
Progress Bar Data ListBox
Progress bar merupakan kontrol grafis unuk memperlihatkan seberapa lama kemajuan dalam memproses sejumlah data, misalnya untuk memvisualkan seberapa lama proses menampilkan sejumlah data, download/unduh file, transfer file, ataupun upload file. Progressbar bisa ditunjukan baik dengan nilai prosentase data, pergerakan progress suatu object, atau gabungan visual nilai prosentase dengan progress suatu object.

Dalam menampilkan data excel pada listbox yang dibuat dengan macro + vba excel juga bisa dilengkapi dengan sebuah progressbar untuk menunjukan sebearapa lama data tersetbut ditampilkan. Lalu bagaimana cara membuat dan menampilkan data pada listbox yang dilengkapi progressbar saat data di load dan bagaimana menyembunyikan progressbar setelah semua data excel pada listbox di proses…….???

Sheet Data Utama Yang Akan Ditampilkan Pada ListBox

Buat file baru pada excel, dan buat data misalnya pada sheet1 yang diberinama "data uang tabungan sekolah" untuk menampung data uang tabungan siswa pada sebuah sekolah. Data-data utamanya silahkan isikan mulai baris ke-5, lalu tambahkan dulu sebuah object / shapes “Load Data Listbox” yang akan digunakan untuk Assign Macro untuk menampilkan Form Data pada Listbox seperti pada contoh berukut:

Data Uang Tabungan

Cara Membuat Progressbar Sebelum Menampilkan Data ListBox dengan VBA Excel

  • Buka visual basic editor (atau dengan menggunakan shortcut Alt + F11)
  • Pada visual basic editor, buat sebuah form dan berinama misalnya ListBox_Plus_ProgressBar lalu buka toolbox untuk menambahkan beberapa object dan berinama sesuai kebutuhan seperti berikut
    • 1 Commandbutton: BTN_Load_Data_ListBox
    • 3 Label: LabelLoading, LabelTotalData, LabelInfo
      Khusus untuk LabelLoading, tempatkan di dalam FrameLoading
    • 2 Frame: FrameLoading, Frame_ListBox
    • 1 Listbox: LBDetailSISWA
      Atur atau tempatkan listbox LBDetailSISWA di dalam Frame_ListBox

    Setelah object yang diperlukan dibuat dan disusun penempatannya, akan terlihat seperti berikut:

    Form Progressbar Data Listbox
  • Buat/insert sebuah Module (misalnya Module1), tambahkan beberapa kode berikut (silahkan copas) di dalamnya:

    Option Explicit
    Function GetRowTABUNGAN()

    Dim wsTABUNGAN_SEKOLAH As Worksheet
    Set wsTABUNGAN_SEKOLAH = ThisWorkbook.Worksheets("data_uang_tabungan_sekolah")
    GetRowTABUNGAN = wsTABUNGAN_SEKOLAH.Range("A" & wsTABUNGAN_SEKOLAH.Rows.Count).End(xlUp).Row

    End Function

    Sub Load_ListBox()
    ListBox_Plus_ProgressBar.Show
    End Sub

    Sub ShowHideProgressbar(X As Double, Y As Object)
    'X Prosentase, Y FORM

    With Y
    .FrameLoading.Visible = True
    .LabelLoading.TextAlign = fmTextAlignCenter
    .LabelLoading.Caption = Format(X, "0%")
    .LabelLoading.Width = X * .FrameLoading.Width

    If X = 1 Then
    'setelah 100% FrameLoading => unvisible/hide
    .FrameLoading.Visible = False
    .LabelLoading.Caption = ""
    .LabelLoading.Width = 0
    End If
    End With
    DoEvents
    End Sub
  • Lalu tambahkan kode berikut (silahkan copas) pada form ListBox_Plus_ProgressBar yang sudah dibuat di atas
    Option Explicit
    Dim wsTABUNGAN_SEKOLAH As Worksheet

    Private Sub BTN_Load_Data_ListBox_Click()
    Call Data_Total_ListBox
    End Sub

    Private Sub UserForm_Activate()
    Set wsTABUNGAN_SEKOLAH = ThisWorkbook.Worksheets("data_uang_tabungan_sekolah")
    Call Data_Total_ListBox
    End Sub

    Sub Data_Total_ListBox()
    'Untuk menapilkan data total tabel pada listbox
    Dim cNIS_NISNx As String, cNAMAx As String
    Dim rDATA As Long, baris As Long, rMAX As Long

    'rMAX sesuaikan dengan struktur tabel
    'kesalahan dalam menentukan rMAX, progress bar akan tidak normal
    rMAX = GetRowTABUNGAN - 4

    ListBox_Plus_ProgressBar.Enabled = False 'alternatif handle event click selama data belum di tampilkan
    LabelTotalDATA.Visible = False
    LabelINFO.Visible = False

    With LBDetailSISWA
    .Visible = False
    .Clear
    .ColumnCount = 6
    .ColumnHeads = False
    .ColumnWidths = "0,75,120,60,50,30"

    .AddItem
    .List(0, 0) = "ID"
    .List(0, 1) = "NIS / NISN": .List(0, 2) = "NAMA SISWA"
    .List(0, 3) = "KELAS": .List(0, 4) = "J-K"
    .List(0, 5) = "NOMINAL"

    For baris = 5 To GetRowTABUNGAN
    .AddItem
    .List(rDATA + 1, 0) = wsTABUNGAN_SEKOLAH.Cells(baris, "A") 'ID
    .List(rDATA + 1, 1) = wsTABUNGAN_SEKOLAH.Cells(baris, "B") 'NIS
    .List(rDATA + 1, 2) = wsTABUNGAN_SEKOLAH.Cells(baris, "C") 'NAMA
    .List(rDATA + 1, 3) = wsTABUNGAN_SEKOLAH.Cells(baris, "D") 'KELAS
    .List(rDATA + 1, 4) = wsTABUNGAN_SEKOLAH.Cells(baris, "E") 'JK
    .List(rDATA + 1, 5) = wsTABUNGAN_SEKOLAH.Cells(baris, "F") 'NOMINAL
    rDATA = rDATA + 1

    'untuk menampilkan progressbar seblum semua data di load
    'dan menyembunyikannya kemabali setelah semua data selesai di load
    Call ShowHideProgressbar(rDATA / rMAX, ListBox_Plus_ProgressBar)
    Next
    .Visible = True
    ListBox_Plus_ProgressBar.Enabled = True
    End With

    LabelTotalDATA.Caption = " Total Entry: " & rDATA & " Data"
    LabelTotalDATA.Visible = True
    LabelINFO.Visible = True
    ListBox_Plus_ProgressBar.Enabled = True
    End Sub
  • Untuk menampilkan data listbox (yang dilengkapi progressbar) dengan object button Load Data ListBox pada sheet "data uang tabungan sekolah" yang sudah dibuat sebelumnya:
    Klik kanan object button Load Data ListBox ⟾ Assign Macro ⟾ Pada Macro Name, pilih Load_ListBox seperti berikut:
    Assign Macro Load ListBox
  • Langkah terakhir, silahkan save file project dengan macro dan vba excel ini, misalnya:
    • cara membuat progressbar data listbox.xlsm
    • menampilkan progressbar data pada listbox.xlsm
    • menyembunyikan progressbar data listbox.xlsb
    • cara menampilkan data listbox dengan progressbar.xlsb
    • dan sebagainya....

Menampilkan Data ListBox dengan Progressbar

Untk mencoba semua kode yang sudah dibuat untuk menampilkan data listbox dengan progressbar ini, silahkan klik button Load Data ListBox
Jika semuanya sudah benar dan tidak ada kesalahan seharusnya tampil seperti berikut....
Show Loading Progressbar

Catatan:
Lamanya progress bar tergantung banyak data (row) yang diproses/akan ditampilkan
Jika datanya kurang dari 100 row, progressbar relatif tidak terlihat

Setelah data di load semuanya dan prosentase progressbar sudah 100% akan tampil seperti berikut:
Data Total Listbox

Download Project Prgressbar Data pada Listbox

Sebagai contoh project excel + semua kodenya yang sudah jadi tentang bagaimana trik, custom dan cara membuat progressbar sebelum menampilkan data pada listbox menggunakan Macro dan VBA Excel, silahkan langsung DOWNLOAD

Project Exclusive yang Menggunakan Progressbar Data ListBox

Powered by Blogger.