-------------------------------------------
CODING FORM UTAMA - EXCEL & VBA TUTORIAL
-------------------------------------------
Option Explicit
Private Sub CMDADDSHEET_Click()
Dim NAMASHEET As Long
If Me.TXTNAMASHEET.Value = "" Then
Call MsgBox("Harap isi terlebih dahulu Nama Sheet", vbInformation, "Nama Sheet")
Else
Sheets.Add(After:=Sheets("PENCARIAN")).Name = Me.TXTNAMASHEET.Value
Me.TABELSHEET.Clear
For NAMASHEET = 3 To Sheets.Count
Me.TABELSHEET.AddItem Sheets(NAMASHEET).Name
Next
Me.TXTNAMASHEET.Value = ""
Sheet1.Range("A5:M5").Copy Destination:=ActiveSheet.Range("A1")
End If
End Sub
Private Sub CMDCARI_Click()
If Me.LBDESA.Caption = "" Then
Call MsgBox("Silahkan pilih Data Desa terlebih dahulu", vbInformation, "Pilih
Desa")
Else
FORMPENCARIAN.Show
End If
End Sub
Private Sub CMDCETAK_Click()
If Me.LBDESA.Caption = "" Then
Call MsgBox("Silahkan pilih Data Desa terlebih dahulu", vbInformation, "Pilih
Desa")
Else
Select Case MsgBox("Anda akan mencetak data" _
& vbCrLf & "Apakah anda yakin?" _
, vbYesNo Or vbQuestion Or vbDefaultButton1, "Cetak data")
Case vbNo
Exit Sub
Case vbYes
End Select
Sheet3.PrintOut
End If
Me.CMDCETAK.Enabled = False
End Sub
Private Sub CMDDELETE_Click()
If Me.TXTNOMOR.Value = "" Then
Call MsgBox("Pilih data pada tabel data", vbInformation, "Hapus Data")
Else
Select Case MsgBox("Anda akan menghapus data" _
& vbCrLf & "Apakah anda yakin?" _
, vbYesNo Or vbQuestion Or vbDefaultButton1, "Hapus data")
Case vbNo
Exit Sub
Case vbYes
End Select
Me.TABELPENDUDUK.Value = ""
Me.TXTNOMOR.Value = ""
With ActiveSheet
Selection.EntireRow.Delete
End With
Call AmbilData
FORMUTAMA.TXTDATA.Value = FORMUTAMA.TABELPENDUDUK.ListCount & " Data"
End If
End Sub
Private Sub CMDDELETESHEET_Click()
If Me.LBDESA.Caption = "" Then
Call MsgBox("Harap pilih desa yang akan dihapus", vbInformation, "Pilih Desa")
Else
Select Case MsgBox("Anda akan menghapus Sheet" _
& vbCrLf & "Apakah anda yakin?" _
, vbYesNo Or vbQuestion Or vbDefaultButton1, "Hapus Sheet")
Case vbNo
Exit Sub
Case vbYes
End Select
Application.DisplayAlerts = False
ActiveSheet.Delete
Application.DisplayAlerts = False
Me.TABELSHEET.Value = ""
Me.LBDESA.Caption = ""
Call UserForm_Initialize
End If
End Sub
Private Sub CMDEXPORT_Click()
End Sub
Private Sub CMDKELUAR_Click()
Select Case MsgBox("Anda akan keluar dari aplikasi" _
& vbCrLf & "Apakah anda yakin?" _
, vbYesNo Or vbQuestion Or vbDefaultButton1, "Keluar")
Case vbNo
Exit Sub
Case vbYes
End Select
ThisWorkbook.Save
Unload Me
Application.Visible = True
ThisWorkbook.Close
End Sub
Private Sub CMDOPEN_Click()
Application.Visible = True
Unload Me
End Sub
Private Sub CMDPENDUDUK_Click()
If Me.LBDESA.Caption = "" Then
Call MsgBox("Silahkan pilih Data Desa terlebih dahulu", vbInformation, "Pilih
Desa")
Else
FORMPENDUDUK.Show
End If
End Sub
Private Sub CMDRESET_Click()
Me.TXTNAMASHEET.Value = ""
Me.TXTNOMOR.Value = ""
Me.TABELPENDUDUK.Value = ""
Me.TABELSHEET.Value = ""
Me.LBDESA.Caption = ""
Me.TABELPENDUDUK.RowSource = ""
Me.TXTDATA.Value = ""
End Sub
Private Sub CMDSIMPAN_Click()
ThisWorkbook.Save
End Sub
Private Sub CMDUPDATE_Click()
If Me.TXTNOMOR.Value = "" Then
Call MsgBox("Harap pilih data yang akan diupdate", vbInformation, "Update Data")
Else
With FORMPENDUDUK
.TXTNAMA.Value = Me.TABELPENDUDUK.Column(1)
.TXTNIK.Value = Me.TABELPENDUDUK.Column(2)
.TXTKK.Value = Me.TABELPENDUDUK.Column(3)
.CMBJENISKELAMIN.Value = Me.TABELPENDUDUK.Column(4)
.CMBSTATUS.Value = Me.TABELPENDUDUK.Column(5)
.TXTNOMORRUMAH.Value = Me.TABELPENDUDUK.Column(6)
.TXTTANGGALLAHIR.Value = Format(Me.TABELPENDUDUK.Column(7), "dd/mm/yyyy")
.CMBPEKERJAAN.Value = Me.TABELPENDUDUK.Column(8)
.CMBSTATUSKELUARGA.Value = Me.TABELPENDUDUK.Column(9)
.TXTTELPON.Value = Me.TABELPENDUDUK.Column(10)
.TXTPENDAPATAN.Value = Me.TABELPENDUDUK.Column(11)
.CMBBANTUAN.Value = Me.TABELPENDUDUK.Column(12)
.CMDADD.Enabled = False
End With
FORMPENDUDUK.Show
End If
End Sub
Private Sub TABELPENDUDUK_Click()
Dim SUMBERDATA, CELLAKTIF As Long
Me.TXTNOMOR.Value = Me.TABELPENDUDUK.Value
With ActiveSheet
SUMBERDATA = .Cells(Rows.Count, "A").End(xlUp).Row
.Range("A2:A" & SUMBERDATA).Find(What:=Me.TXTNOMOR.Value, LookIn:=xlValues,
LookAt:=xlWhole).Activate
CELLAKTIF = ActiveCell.Row
End With
End Sub
Private Sub TABELSHEET_Click()
Dim PilihSheet As String
PilihSheet = Me.TABELSHEET.Value
Worksheets(PilihSheet).Activate
Me.LBDESA.Caption = "DATA PENDUDUK DESA " & Me.TABELSHEET.Value
Call AmbilData
Sheet3.Range("A2").Value = Me.LBDESA.Caption
End Sub
Private Sub UserForm_Initialize()
Dim NAMASHEET As Long
Me.TABELSHEET.Clear
For NAMASHEET = 3 To Sheets.Count
Me.TABELSHEET.AddItem Sheets(NAMASHEET).Name
Next
Me.CMDCETAK.Enabled = False
End Sub
Private Sub AmbilData()
On Error Resume Next
Dim I As Long
Dim data As Long
Dim DBPENDUDUK As Long
Dim irow As Long
With ActiveSheet
irow = ActiveSheet.Range("A" & Rows.Count).End(xlUp).Row
DBPENDUDUK = Application.WorksheetFunction.CountA(ActiveSheet.Range("A2:A1000000"))
If DBPENDUDUK = 0 Then
Me.TABELPENDUDUK.RowSource = ""
Else
Me.TABELPENDUDUK.RowSource = "A2:M" & irow
FORMUTAMA.TXTDATA.Value = FORMUTAMA.TABELPENDUDUK.ListCount & " Data"
End If
End With
End Sub
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
If CloseMode = 0 Then
Cancel = True
End If
End Sub