Membuat Nomor Urut Otomatis dengan VBA Macro

Di tahun 2017 ini saya mendapat kepercayaan untuk menjadi Sekretaris Panitia Pilkades. Salah satu tugas Sekretaris tersebut, saya harus menyajikan data Hak Pilih yang begitu banyak sekali, hampir mencapai 5 ribuan.


Untuk membuat data tersebut saya ingin mengotomatiskan Nomor Urut Hak Pilih tersebut, dan karena saya masih awam dengan hal tersebut, saya mencoba minta bantuan ke bang Google, dan akhirnya saya mendapatkan apa yang diharapkan walaupun tidak sepenuhnya sesuai harapan. Saya mendapat pencerahan di blognya http://www.mtsbmtumbrasanom.id

Dan dalam kesempatan ini saya ingin menuliskan pengalaman dalam membuat nomor urut secara otomatis dengan menggunakan VBA Macro./a>

Di sini saya akan mencoba menuliskan kembali rumus-rumus macronya, yaitu di sheet1 dan di sheet2.


Membuat Nomor Urut Otomatis dengan VBA Macro

Kode untuk Sheet 1

  • Masuk ke Microsoft Visual Basic for Applications window dengan menekan tombol Alt + F11 atau anda klik tab "Developer" lalu klik "Visual Basic". Apabila di Office anda belum tampil tab Developer, silahkan baca "Cara Menampilkan Ribbon Developer"
  • Klik Microsoft Excel Objects kemudian Klik 2 kali pada Sheet1 (Sheet1)
  • Copy Paste kode berikut di bawah ini

  • Kode VBA Excel untuk Membuat Nomor Urut Otomatis
    'https://baladaka.blogspot.com
    '============================
    
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    On Error Resume Next
    Static oldRange As Range
    Dim nRow As Integer, nCol As Integer
    If Not oldRange Is Nothing Then
    nRow = oldRange.Row
    nCol = oldRange.Column
    If nRow > 1 Then 'Menampilkan nomor urut otomatis.
    If Len(Cells(nRow, 2).Value) > 0 Then
    Cells(nRow, 1).Formula = "=COUNTA($B$2:B" & nRow & ")"
    Else: Cells(nRow, 1).Value = ""
    End If
    End If
    End If
    Set oldRange = Target
    End Sub
    
    


Kode untuk Sheet 2

Nah, yang jadi masalah bagi saya saat itu adalah posisi kolom dan baris yang akan di isi tidak sesuai dengan harapan. Dan akhirnya saya mencoba mengutak atik rumus tersebut dan Alhamdulillah berhasil.

Di sini saya ingin pada saat kolom Nama yang berada di kolom 13 baris ke 12 dan seterusnya di isi, maka No. akan terisi secara otomatis. Dan saya rubah rumusnya menjadi :

  • Klik Microsoft Excel Objects kemudian Klik 2 kali pada Sheet2 (Sheet2)
  • Copy Paste kode berikut di bawah ini

  • Kode VBA Excel untuk Membuat Nomor Urut Otomatis
    'https://baladaka.blogspot.com
    '============================
    
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
        On Error Resume Next
        Static oldRange As Range
        Dim nRow As Integer, nCol As Integer
        If Not oldRange Is Nothing Then
            nRow = oldRange.Row
            nCol = oldRange.Column
            
            'Menampilkan nama field tabel secara otomatis.
            If nRow > 11 Then
            If Len(Cells(nRow, 13).Value) > 0 Then
                    Cells(nRow, 10).Formula = "=COUNTA($M$12:M" & nRow & ")"
                Else: Cells(nRow, 10).Value = ""
                End If
            End If
        End If
        Set oldRange = Target
    End Sub
    
    


Catatan :

    Rumus diatas, akan diuraikan sedikit, sesuai dengan perkiraan yang saya alami. Mohon maaf apabila uraiannya salah
  • If nRow > 11 Then
    Di sini artinya bahwa apabila baris lebih besar 11 atau mungkin yang saya alami saya ingin mengisi awalnya baris ke 12 maka lebih besarnya adalah 11. Mungkin begitulah kira-kira.

  • If Len(Cells(nRow, 13).Value) > 0 Then
    Rumus yang diberi angka 13 (warna biru), angka 13 ini merupakan kolom M (kolom ke 13) lebih besar dari 0 maka
    Cells(nRow, 10).Formula = "=COUNTA($M$12:M" & nRow & ")"
    Rumus yang diberi angka 10 yaitu angka yang akan diotomatiskan berada di kolom J (kolom ke 10) dengan formula rumus Counta.
    COUNTA($M$12:M" & nRow & ")" yaitu mulai mengambil rumus berada di $M$12 hingga tak terhingga
    Else: Cells(nRow, 10).Value = ""
    Dan yang ini yaitu apabila di baris tertentu kolom ke 10 akan hilang nomor urutnya apabila di kolom ke 13 (Nama) anda hapus.

Itulah mungkin yang dapat di uraikan di sini, mohon maaf apabila apa yang diuraikan salah. Saya hanya mencoba menguraikan apa yang telah saya coba dalam membuat Nomor Urut tersebut.

Silahkan anda coba isi baris yang diberi warna kuning dan coba juga anda hapus data yang berada di baris yang diberi warna kuning tersebut. Apa sesuai dengan harapan....? Mudah-mudahan.

Selamat Mencoba


Contoh File Membuat Nomor Urut Otomatis dengan VBA Macro
Jika File tidak ter-download otomatis, silahkan klik Link Alternatif dan lihat hasil download di folder Downloads


Demikian Catatan Kecil tentang :
Terima kasih atas kunjungannya dan "Selamat Berkreasi Semoga Sukses"

Selanjutnya 
« Prev Post
 Sebelumnya
Next Post »

Catatan Terkait



Membuat Nomor Urut Otomatis dengan VBA Macro