0% found this document useful (0 votes)
2 views

Coding Form Utama

The document is a VBA code for an Excel user form that manages data sheets and allows users to add, delete, and update data related to villages. It includes functionalities for printing, exporting, and resetting data, as well as user prompts for confirmation on actions. The form initializes with a list of existing sheets and handles user interactions for data management effectively.

Uploaded by

duniamaya934
Copyright
© © All Rights Reserved
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views

Coding Form Utama

The document is a VBA code for an Excel user form that manages data sheets and allows users to add, delete, and update data related to villages. It includes functionalities for printing, exporting, and resetting data, as well as user prompts for confirmation on actions. The form initializes with a list of existing sheets and handles user interactions for data management effectively.

Uploaded by

duniamaya934
Copyright
© © All Rights Reserved
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 4

-------------------------------------------

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

You might also like