ID Artikel: 211736 - Kajian Terakhir: 01 Februari 2012 - Revisi: 3.0

Bagaimana menampilkan progress bar dengan bentuk pengguna di Excel

Tips SistemThis article applies to a different operating system than the one you are using. Article content that may not be relevant to you is disabled.
Untuk versi Microsoft Excel 97 artikel ini, lihat 170782  (http://support.microsoft.com/kb/170782/ ) .

Pasal ide yang dikirimkan oleh: John Walkenbach

Pada Halaman ini

Perbesar semua | Perkecil semua

RINGKASAN

Jika Anda memiliki Microsoft Visual Basic untuk aplikasi makro yang memakan waktu lama untuk menyelesaikan, Anda mungkin ingin memberikan pengguna indikasi bahwa makro maju dengan benar. Artikel ini menjelaskan cara membuat sebuah progress bar dengan bentuk pengguna di Microsoft Excel.

INFORMASI LEBIH LANJUT

Microsoft menyediakan pemrogaman hanya untuk ilustrasi, tanpa garansi baik tersurat maupun tersirat. Ini mencakup, namun tidak terbatas pada, jaminan tersirat mengenai keadaan yang dapat diperjualbelikan atau kesesuaian untuk tujuan tertentu. Artikel ini menganggap bahwa Anda sudah terbiasa dengan bahasa pemrogaman yang ditunjukkan dan dengan alat-alat yang digunakan untuk membuat dan memperbaiki prosedur. Teknisi Microsoft dapat membantu menjelaskan fungsionalitas prosedur tertentu. Namun, mereka tidak akan mengubah contoh tersebut untuk menyediakan fungsionalitas tambahan atau membuat prosedur untuk memenuhi kebutuhan spesifik Anda.

Membuat bentuk pengguna

Dalam contoh berikut, subrutin Visual Basic populates berbagai sel-sel dengan nomor acak. Indikator menunjukkan bahwa makro adalah berlari dengan benar.
  1. Membuka buku kerja baru di Excel.
  2. Di Microsoft Office Excel 2003 dan di versi Excel sebelumnya, klik Alat, arahkan ke Makro, lalu klik Editor Visual Basic.

    Di Microsoft Office Excel 2007, klik Visual Basic dalam Kode kelompok pada Pengembang tab.

    Catatan Untuk menampilkan Pengembang tab di pita, ikuti langkah berikut:
    1. Mulai Excel 2007, klik Microsoft Office tombol, lalu klik Excel pilihan.
    2. Dalam Excel pilihan kotak dialog, klik Populer, dan kemudian klik untuk memilih Tampilkan tab pengembang di pita kotak centang.
  3. Pada Masukkan menu, klik UserForm.
  4. Menarik Label kontrol pada bentuk pengguna.
  5. Mengubah properti berikut Label mengendalikan ke nilai-nilai berikut:
       Property        Value
       --------------------------------------------
       Caption         Now updating. Please wait...
    					
    Catatan Jika Properti jendela tidak terlihat, klik Properties Window pada Lihat menu.
  6. Menarik Bingkai kontrol pada bentuk pengguna.
  7. Mengubah properti berikut Bingkai mengendalikan ke nilai-nilai berikut:
        
       Property        Value
       -----------------------------
       Name            FrameProgress
    					
  8. Menarik Label kontrol pada Bingkai kontrol.
  9. Mengubah properti berikut Label mengendalikan ke nilai-nilai berikut:
        Property        Value
        -------------------------------------
        Name            LabelProgress
        BackColor       &H000000FF&
        SpecialEffect   fmSpecialEffectRaised
    					

Ketik kode makro

  1. Klik dua kali bentuk pengguna untuk membuka Kode jendela untuk bentuk pengguna.
  2. Dalam modul, ketik kode berikut untuk UserForm_Activate Event:
    Private Sub UserForm_Activate()
        ' Set the width of the progress bar to 0.
        UserForm1.LabelProgress.Width = 0
    
        ' Call the main subroutine.
        Call Main
    End Sub
    					
  3. Pada Masukkan menu, klik Modul.
  4. Dalam Kode jendela untuk modul, ketik kode berikut:
    Sub ShowUserForm()
        UserForm1.Show
    End Sub
    
    Sub Main()
        Dim Counter As Integer
        Dim RowMax As Integer, ColMax As Integer
        Dim r As Integer, c As Integer
        Dim PctDone As Single
    
        Application.ScreenUpdating = False
        ' Initialize variables.
        Counter = 1
        RowMax = 100
        ColMax = 25
    
        ' Loop through cells.
        For r = 1 To RowMax
            For c = 1 To ColMax
                'Put a random number in a cell
                Cells(r, c) = Int(Rnd * 1000)
                Counter = Counter + 1
            Next c
    
            ' Update the percentage completed.
            PctDone = Counter / (RowMax * ColMax)
    
            ' Call subroutine that updates the progress bar.
            UpdateProgressBar PctDone
        Next r
        ' The task is finished, so unload the UserForm.
        Unload UserForm1
    End Sub
    
    Sub UpdateProgressBar(PctDone As Single)
        With UserForm1
    
            ' Update the Caption property of the Frame control.
            .FrameProgress.Caption = Format(PctDone, "0%")
    
            ' Widen the Label control.
            .LabelProgress.Width = PctDone * _
                (.FrameProgress.Width - 10)
        End With
    
        ' The DoEvents allows the UserForm to update.
        DoEvents
    End Sub
    					
  5. Kembali ke Excel.
  6. Pada Excel 2003 dan versi Excel sebelumnya, arahkan ke Makro pada Alat menu, dan kemudian klik Makro.

    Di Excel 2007, klik Makro dalam Kode kelompok pada Pengembang tab.
  7. Dalam Makro kotak dialog, klik untuk memilih ShowUserForm, lalu klik Menjalankan.
Kotak dialog yang Palang Merah progres muncul. Progress bar meningkat The Utama subroutine populates sel-sel pada lembar kerja.

The ShowUserForm subroutine menunjukkan bentuk pengguna. Prosedur yang dilampirkan ke Mengaktifkan peristiwa pengguna bentuk panggilan Utama subrutin. The Utama subroutine populates sel dengan angka acak. Selain itu, pemanggilan subrutin UpdateProgressBar subroutine yang update Label kontrol pada bentuk pengguna.

Catatan Ketika Anda menggunakan teknik ini, makro Anda mengambil hanya sedikit lebih lama untuk menyelesaikan tugas yang dimaksudkan.

Berlaku bagi:
  • Microsoft Office Excel 2007
  • Microsoft Excel 2002 Standard Edition
  • Microsoft Excel 2000 Standard Edition
  • Microsoft Office Excel 2003
  • Microsoft Excel 2010
Kata kunci: 
kbinfo kbexpertisebeginner kbcode kbhowto kbmacro kbmt KB211736 KbMtid
Penerjemahan MesinPenerjemahan Mesin
PENTING: Artikel ini diterjemahkan menggunakan perangkat lunak mesin penerjemah Microsoft dan bukan oleh seorang penerjemah. Microsoft menawarkan artikel yang diterjemahkan oleh seorang penerjemah maupun artikel yang diterjemahkan menggunakan mesin sehingga Anda akan memiliki akses ke seluruh artikel baru yang diterbitkan di Pangkalan Pengetahuan (Knowledge Base) dalam bahasa yang Anda gunakan. Namun, artikel yang diterjemahkan menggunakan mesin tidak selalu sempurna. Artikel tersebut mungkin memiliki kesalahan kosa kata, sintaksis, atau tata bahasa, hampir sama seperti orang asing yang berbicara dalam bahasa Anda. Microsoft tidak bertanggung jawab terhadap akurasi, kesalahan atau kerusakan yang disebabkan karena kesalahan penerjemahan konten atau penggunaannya oleh para pelanggan. Microsoft juga sering memperbarui perangkat lunak mesin penerjemah.
Klik disini untuk melihat versi Inggris dari artikel ini:211736  (http://support.microsoft.com/kb/211736/en-us/ )