Private Sub CMDRESETALL_Click()
Dim pesan As Variant
pesan = MsgBox("Apakah anda yakin ingin mereset data?" + vbCrLf + _
"Tindakan ini menyebabkan seluruh data santri, data setoran dan data penarikan akan dihapus semuanya", vbQuestion + vbOKCancel, "Reset Data")
If pesan = vbOK Then
Sheet2.Range("A5") = 1
Sheet4.Range("A5") = 1
Sheet4.Range("K3") = 0
Sheet5.Range("A5") = 1
Sheet5.Range("K3") = 0
Sheet2.Range("datasiswatanpajudul").ClearContents
Sheet4.Range("datasetorantanpajudul").ClearContents
Sheet5.Range("datapenarikantanpajudul").ClearContents
Sheet2.Range("A5") = 1
Sheet4.Range("A5") = 1
Sheet4.Range("K3") = 0
Sheet5.Range("A5") = 1
Sheet5.Range("K3") = 0
MsgBox "Seluruh data berhasil dihapus", vbInformation, "Reset Data"
Else
Exit Sub
End If
End Sub
Private Sub Worksheet_Activate()
ActiveWindow.DisplayHeadings = False
ActiveWindow.View = xlNormalView
ActiveWindow.DisplayGridlines = False
ActiveWindow.DisplayHeadings = False
ActiveWindow.DisplayWorkbookTabs = True
ActiveWindow.Zoom = 100
End Sub
Minggu, 28 November 2021
Worksheet MENU
Workbook Tabungan
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Select Case MsgBox("Apakah anda ingin menyimpan file ini?", vbYesNo + vbQuestion, "Informasi")
Case Is = vbNo
Application.Quit
Exit Sub
Case Is = vbYes
ThisWorkbook.Save
Application.Quit
End Select
End Sub
Private Sub Workbook_Open()
Sheet1.Protect "1", userinterfaceonly:=True
Sheet1.Select
With Application
.Caption = " | created By @qil"
.ExecuteExcel4Macro "Show.ToolBar(""Ribbon"",true)"
End With
ActiveWindow.DisplayWorkbookTabs = True
End Sub
Private Sub Workbook_SheetBeforeRightClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
Cancel = True
MsgBox "Maaf klik kanan dinonaktifkan", vbOKOnly + vbInformation, "Informasi"
End Sub
Modul User_name
Option Explicit
Sub user()
Application.ScreenUpdating = False
Dim a, b As String
a = InputBox("Masukkan nama Lengkap", "UserName")
b = InputBox("Masukkan Initial nama ( 3-4 huruf)", "Initial")
Sheets("MENU").Range("$Z$24").value = a
Sheets("MENU").Range("$Z$26").value = b
MsgBox "Penambahan Username Berhasil", vbInformation, "Informasi"
Sheet1.Protect "1", userinterfaceonly:=True
End Sub
Modul Urutkan_Hasil
Option Explicit
Sub urut3()
'===========mengurutkan berdasarkan tanggal==============
ActiveWorkbook.Sheets("CARIGABUNG1").Range("carigabung1range").Select
ActiveWorkbook.Sheets("CARIGABUNG1").Sort.SortFields.Clear
ActiveWorkbook.Sheets("CARIGABUNG1").Sort.SortFields.Add Key:=Range("tanggalcarigabung1"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Sheets("CARIGABUNG1").Sort
.SetRange Range("carigabung1range")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Sheet9.Select
Sheet1.Protect "1", userinterfaceonly:=True
End Sub
Sub urut1()
'===========mengurutkan berdasarkan tanggal==============
ActiveWorkbook.Sheets("CARIGABUNG2").Range("carigabung2range").Select
ActiveWorkbook.Sheets("CARIGABUNG2").Sort.SortFields.Clear
ActiveWorkbook.Sheets("CARIGABUNG2").Sort.SortFields.Add Key:=Range("tanggalcarigabung2"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Sheets("CARIGABUNG2").Sort
.SetRange Range("carigabung2range")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Sheet10.Select
Sheet1.Protect "1", userinterfaceonly:=True
End Sub
Modul Setting_printer
Option Explicit
Sub setting_printer()
'Application.Dialogs(xlDialogPrint).Show
'Application.Dialogs(xlDialogPrinterSetup).Show
'Sheet11.Select
Application.SendKeys ("^p")
'Sheet1.PrintPreview
'Application.Dialogs(xlDialogPageSetup).Show
Sheet1.Select
End Sub
Modul Menu
Sub bukalaporansantri()
Sheet1.Unprotect "1"
FORMLAPORANSANTRI.Show
Sheet1.Protect "1", userinterfaceonly:=True
End Sub
Sub BukaDataSiswa()
Sheet1.Unprotect "1"
FORMSISWA.Show
Sheet1.Protect "1", userinterfaceonly:=True
End Sub
Sub BukaSetoran()
Sheet1.Unprotect "1"
FORMSETORAN.Show
Sheet1.Protect "1", userinterfaceonly:=True
End Sub
Sub BukaPenarikan()
Sheet1.Unprotect "1"
FORMPENARIKAN.Show
Sheet1.Protect "1", userinterfaceonly:=True
End Sub
Sub Laporan()
Sheet1.Unprotect "1"
FORMLAPORAN.Show
Sheet1.Protect "1", userinterfaceonly:=True
End Sub
Sub LaporanSantri()
Sheet1.Unprotect "1"
FORMLAPORANSANTRI.Show
Sheet1.Protect "1", userinterfaceonly:=True
End Sub
Sub Simpan()
ThisWorkbook.Save
End Sub
Sub Keluar()
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
ThisWorkbook.Close
End Sub
Modul Hapus_Akun
Sub hapusakun()
Dim rujukan As Range
Set rujukan = Sheets("SETORAN").Range("$O$2")
'===pencarian nomor induk===
rujukan.ClearContents
'Sheets("DATASISWA").Select
Selection.EntireRow.Select
Selection.Columns(2).Select
Selection.Copy
rujukan.PasteSpecial Paste:=xlPasteValues
'===proses hapus DATASISWA sesuai induk===
Dim jumlahsiswa, jumlahsetoran, jumlahpenarikan As Long
Dim baris As Long
On Error Resume Next
jumlahsiswa = Sheets("DATASISWA").Range("nisndatasiswa").Rows.Count
jumlahsetoran = Sheets("SETORAN").Range("nisnsetoran").Rows.Count
jumlahpenarikan = Sheets("PENARIKAN").Range("nisnpenarikan").Rows.Count
For baris = 5 To jumlahsiswa + 4
Sheets("DATASISWA").Cells(baris, 2).Select
If Selection.value = rujukan.value Then
Selection.EntireRow.Delete
End If
Next baris
Sheet2.Range("I2").value = "=SUM($I$5:$I$1000000)"
'===proses hapus SETORAN sesuai induk===
Sheets("SETORAN").Select
For baris = 5 To jumlahsetoran + 4
Sheets("SETORAN").Cells(baris, 4).Select
If Selection.value = rujukan.value Then
Selection.EntireRow.ClearContents
End If
Next baris
'=====hapus setoran yang sudah kosong=
Dim c As Long
c = Cells(Rows.Count, 1).End(xlUp).Row
Sheets("SETORAN").Range("A5:A" & c).Select
Selection.SpecialCells(xlCellTypeBlanks).Select
Selection.EntireRow.Delete
'===============================
Sheet4.Range("M3").value = "=SUM($H$5:$H$1000000)"
'===proses hapus PENARIKAN sesuai induk===
Sheets("PENARIKAN").Select
For baris = 5 To jumlahpenarikan + 4
Sheets("PENARIKAN").Cells(baris, 4).Select
If Selection.value = rujukan.value Then
Selection.EntireRow.ClearContents
End If
Next baris
'=====hapus penarikan yang sudah kosong=
c = Cells(Rows.Count, 1).End(xlUp).Row
Sheets("PENARIKAN").Range("A5:A" & c).Select
Selection.SpecialCells(xlCellTypeBlanks).Select
Selection.EntireRow.Delete
'===============================
Sheet5.Range("M3").value = "=SUM($I$5:$I$1000000)"
Sheet2.Range("A5") = 1
Sheet4.Range("A5") = 1
Sheet5.Range("A5") = 1
MsgBox "Data akun santri berhasil dihapus", vbInformation, "Hapus Akun"
Sheet1.Protect "1", userinterfaceonly:=True
End Sub
Modul Cetak_Tab_Setoran
Option Explicit
Sub cetaktabungansetoran()
Dim rujukan As Range
Dim b As Long
Set rujukan = Sheets("CETAKTABUNGAN").Range("$O$2")
'===proses copy data setoran yang terpilih==
Selection.EntireRow.Select
ActiveCell.Select
b = ActiveCell.Row
Range("B" & b & ":I" & b).Select
Selection.Copy Sheet3.Range("B5")
Sheets("CARISETORAN").Select
'=====membuat nomor urut otomatis==============
Dim i As Long
Dim X As Long
Dim no As Long
Dim cell As Variant
X = Sheet3.Range("B" & Rows.Count).End(xlUp).Row
no = 0
For i = 1 To X - 4
no = no + 1
Cells(i + 4, 1).value = no
Next i
Sheets("CETAKTABUNGAN").Select
Dim nobaris As Byte
nobaris = Sheets("CETAKTABUNGAN").Range("L7").value
'===memasukkan nilai ke sheet CETAKTABUNGAN
Range("B" & nobaris).value = Sheet3.Range("C5").value
Range("C" & nobaris).value = Sheet3.Range("D5").value
Range("D" & nobaris).value = Sheet3.Range("H5").value
Dim jumlahsiswa As Long
Dim baris As Long
On Error Resume Next
jumlahsiswa = Sheets("DATASISWA").Range("nisndatasiswa").Rows.Count
Sheet2.Select
For baris = 5 To jumlahsiswa + 4
Sheets("DATASISWA").Cells(baris, 2).Select
If Selection.value = rujukan.value Then
Selection.Row.Select
b = Selection.Row
Sheets("DATASISWA").Range("I" & b).Select
Exit For
End If
Next baris
Sheets("CETAKTABUNGAN").Range("F" & nobaris).value = Selection.value
Sheets("CETAKTABUNGAN").Range("A" & nobaris).value = "=Row() - 1"
Sheets("CETAKTABUNGAN").Range("G" & nobaris).value = Sheet1.Range("Z26").value
Sheet12.Select
Sheet1.Protect "1", userinterfaceonly:=True
End Sub
Modul Cetak_Tab_Penarikan
Option Explicit
Sub cetaktabunganpenarikan()
Dim rujukan As Range
Dim b As Long
Set rujukan = Sheets("CETAKTABUNGAN").Range("P2")
'===proses copy data setoran yang terpilih==
Selection.EntireRow.Select
ActiveCell.Select
b = ActiveCell.Row
Range("B" & b & ":I" & b).Select
Selection.Copy Sheet7.Range("B5")
Sheets("CARIPENARIKAN").Select
'=====membuat nomor urut otomatis==============
Dim i As Long
Dim X As Long
Dim no As Long
Dim cell As Variant
X = Sheet7.Range("B" & Rows.Count).End(xlUp).Row
no = 0
For i = 1 To X - 4
no = no + 1
Cells(i + 4, 1).value = no
Next i
Sheets("CETAKTABUNGAN").Select
Dim nobaris As Byte
nobaris = Sheets("CETAKTABUNGAN").Range("L7").value
'===memasukkan nilai ke sheet CETAKTABUNGAN
Range("B" & nobaris).value = Sheet7.Range("C5").value
Range("C" & nobaris).value = Sheet7.Range("D5").value
Range("E" & nobaris).value = Sheet7.Range("I5").value
Dim jumlahsiswa As Long
Dim baris As Long
On Error Resume Next
jumlahsiswa = Sheets("DATASISWA").Range("nisndatasiswa").Rows.Count
Sheet2.Select
For baris = 5 To jumlahsiswa + 4
Sheets("DATASISWA").Cells(baris, 2).Select
If Selection.value = rujukan.value Then
Selection.Row.Select
b = Selection.Row
Sheets("DATASISWA").Range("I" & b).Select
Exit For
End If
Next baris
Sheets("CETAKTABUNGAN").Range("F" & nobaris).value = Selection.value
Sheets("CETAKTABUNGAN").Range("A" & nobaris).value = "=Row() - 1"
Sheets("CETAKTABUNGAN").Range("G" & nobaris).value = Sheet1.Range("Z26").value
Sheet12.Select
Sheet1.Protect "1", userinterfaceonly:=True
End Sub
Modul Cetak_Tab_Identitas_Santri
Sub cetakidentitassantri()
Dim rujukan As Range
Dim b As Long
Set rujukan = Sheets("CETAKIDENTITAS").Range("$H$2")
'===proses copy data dari Sheet DATASISWA yang terpilih==
Selection.EntireRow.Select
ActiveCell.Select
b = ActiveCell.Row
Range("B" & b & ":I" & b).Select
Selection.Copy Sheet6.Range("B6")
Sheets("CARISISWA").Select
'=====membuat nomor urut otomatis==============
Dim i As Long
Dim X As Long
Dim no As Long
Dim cell As Variant
X = Sheet6.Range("B" & Rows.Count).End(xlUp).Row
no = 0
For i = 1 To X - 5
no = no + 1
Cells(i + 5, 1).value = no
Next i
Sheets("CETAKIDENTITAS").Select
Dim nobaris As Byte
'===memasukkan nilai ke sheet CETAKTABUNGAN
Range("B1").value = Sheet6.Range("B6").value
Range("B2").value = Sheet6.Range("C6").value
Range("B3").value = Sheet6.Range("D6").value
Range("C6").value = Sheet6.Range("E6").value
Range("C7").value = Sheet6.Range("G6").value
Range("E6").value = Sheet6.Range("H6").value
Sheet14.Select
'MsgBox "Data akun santri berhasil dihapus", vbInformation, "Hapus Akun"
Sheet1.Protect "1", userinterfaceonly:=True
End Sub
Modul Cetak_Laporan_Santri
Option Explicit
Private Sub hasilpencariangabung()
Dim gabung As Range
Set gabung = Sheet8.Range("A4")
gabung.CurrentRegion.Clear
Sheet4.Range("setoranrange").Copy Sheet8.Range("A4:I4")
Dim iRow As Long
iRow = Sheet8.Range("A" & Rows.Count).End(xlUp).Row
Sheet5.Range("penarikanrange").Copy Sheet8.Range("A" & iRow + 1)
'Sheet8.Select
'Sheet9.Select
'####################################################
On Error GoTo Salah
Dim iRow2 As Long
Dim JData As Long
Dim CARI_DATA As Object
Set CARI_DATA = Sheet8
Sheet9.Range("L4").value = "Tanggal"
Sheet9.Range("M4").value = "Tanggal"
Sheet9.Range("L5").value = ">=" & Format(Me.TGLAWAL1.value, "mm/dd/yyyy")
Sheet9.Range("M5").value = "<=" & Format(Me.TGLAKHIR1.value, "mm/dd/yyyy")
Sheet9.Range("A6").CurrentRegion.Clear
CARI_DATA.Range("A4").CurrentRegion.AdvancedFilter Action:=xlFilterCopy, CriteriaRange:= _
Sheet9.Range("L4:M5"), CopyToRange:=Sheet9.Range("A6:I6"), Unique:=False
Dim i As Long
Dim X As Long
Dim no As Long
X = Sheet9.Range("B" & Rows.Count).End(xlUp).Row
no = 0
For i = 1 To X - 6
no = no + 1
Cells(i + 6, 1).value = no
Next i
Salah:
Call MsgBox("Maaf Data tidak ditemukan", vbInformation, "Cari Data")
End Sub
Form Laporan (Bawa'an)
Option Explicit
Private Sub CariSetoran()
On Error GoTo Salah
Dim iRow As Long
Dim JData As Long
Dim CARI_DATA As Object
Set CARI_DATA = Sheet4
Sheet3.Range("K4").value = "Tanggal"
Sheet3.Range("L4").value = "Tanggal"
Sheet3.Range("K5").value = ">=" & Format(Me.TGLAWAL.value, "mm/dd/yyyy")
Sheet3.Range("L5").value = "<=" & Format(Me.TGLAKHIR.value, "mm/dd/yyyy")
CARI_DATA.Range("A4").CurrentRegion.AdvancedFilter Action:=xlFilterCopy, CriteriaRange:= _
Sheet3.Range("K4:L5"), CopyToRange:=Sheet3.Range("A4:I4"), Unique:=False
iRow = Sheet3.Range("A" & Rows.Count).End(xlUp).Row
If Application.WorksheetFunction.CountA(Sheet3.Range("A5:A1000000")) = 0 Then
Me.TABELDATA.RowSource = ""
Call MsgBox("Data tidak ditemukan", vbInformation, "Cari Data")
Else
Me.TABELDATA.RowSource = "CARISETORAN!A5:I" & iRow
End If
Exit Sub
Salah:
Call MsgBox("Maaf Data tidak ditemukan", vbInformation, "Cari Data")
End Sub
Private Sub CariPenarikan()
On Error GoTo Salah
Dim iRow As Long
Dim JData As Long
Dim CARI_DATA As Object
Set CARI_DATA = Sheet5
Sheet7.Range("K4").value = "Tanggal"
Sheet7.Range("L4").value = "Tanggal"
Sheet7.Range("K5").value = ">=" & Format(Me.TGLAWAL.value, "mm/dd/yyyy")
Sheet7.Range("L5").value = "<=" & Format(Me.TGLAKHIR.value, "mm/dd/yyyy")
CARI_DATA.Range("penarikanrangejudul").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:= _
Sheet7.Range("K4:L5"), CopyToRange:=Sheet7.Range("A4:I4"), Unique:=False
iRow = Sheet7.Range("A" & Rows.Count).End(xlUp).Row
If Application.WorksheetFunction.CountA(Sheet7.Range("A5:A1000000")) = 0 Then
Me.TABELDATA.RowSource = ""
Call MsgBox("Data tidak ditemukan", vbInformation, "Cari Data")
Else
Me.TABELDATA.RowSource = "CARIPENARIKAN!A5:I" & iRow
End If
Exit Sub
Salah:
Call MsgBox("Maaf Data tidak ditemukan", vbInformation, "Cari Data")
End Sub
Private Sub CMDCARI_Click()
If Me.SETORAN.value = False And Me.PENARIKAN.value = False Then
MsgBox "Anda belum memilih pilihan Setoran atau Penarikan" + vbCrLf + "Silahkan dipilih terlebih dahulu", vbInformation + vbOKOnly, "Belum Memilih"
End If
If Me.PENARIKAN.value = True Then
Me.SETORAN.value = False
Call CariPenarikan
TABELDATA.ColumnWidths = "30,80,70,50,100,40,150,1,100"
Me.TOTALDATA.value = Me.TABELDATA.ListCount
Me.TOTALNILAI.value = Sheet7.Range("N4").value
If Sheet7.Range("E2").value = 0 Then
Me.lbltotalnama.Caption = ""
Else
Me.lbltotalnama.Caption = "Total Penarikan " & Format(Sheet7.Range("E2").value, "Rp #,###")
End If
End If
If Me.SETORAN.value = True Then
Me.PENARIKAN.value = False
Call CariSetoran
TABELDATA.ColumnWidths = "30,80,70,50,100,40,150,100,1"
Me.TOTALDATA.value = Me.TABELDATA.ListCount
Me.TOTALNILAI.value = Sheet3.Range("N4").value
If Sheet3.Range("E2").value = 0 Then
Me.lbltotalnama.Caption = ""
Else
Me.lbltotalnama.Caption = "Total Setoran " & Format(Sheet3.Range("E2").value, "Rp #,###")
End If
End If
Sheet1.Protect "1", userinterfaceonly:=True
End Sub
Private Sub cmdprint_Click()
If Me.SETORAN.value = True Then
Select Case MsgBox("Anda akan mencetak data" _
& vbCrLf & "Apakah anda yakin?" _
, vbYesNo Or vbQuestion Or vbDefaultButton1, "Cetak Setoran")
Case vbNo
Exit Sub
Case vbYes
End Select
'#################################################################
Dim cetak As Variant
cetak = MsgBox("Apakah anda yakin ingin mencetak?", vbQuestion + vbYesNo, "Cetak Laporan")
If cetak = vbYes Then
Sheet3.Select
'===proses cetak
ActiveWindow.SelectedSheets.PrintOut from:=1, To:=100000, Copies:=1
With Sheet3.PageSetup
.Orientation = xlPortrait
.LeftMargin = Application.CentimetersToPoints(0.5)
.RightMargin = Application.CentimetersToPoints(0.5)
.TopMargin = Application.CentimetersToPoints(2)
.BottomMargin = Application.CentimetersToPoints(2)
.Zoom = 90
.PrintArea = "$A:$I"
.PrintTitleRows = "$1:$4"
End With
With Sheet3
.Columns(1).ColumnWidth = 5 'nomor
.Columns(2).ColumnWidth = 14.5 'kode transaksi
.Columns(3).ColumnWidth = 11.5 'tanggal transaksi
.Columns(4).ColumnWidth = 6.5 'nisn
.Columns(5).ColumnWidth = 17 'nama santri
.Columns(6).ColumnWidth = 8.5 'kelas
.Columns(7).ColumnWidth = 22 'keterangan
.Columns(8).ColumnWidth = 17 'setoran
.Columns(9).ColumnWidth = 1 'penarikan
End With
Sheet1.Select
MsgBox "Laporan berhasil dicetak", vbInformation, "Hasil Cetak"
End If
'Unload Me
'Sheet3.PrintPreview
'FORMLAPORAN.Show
End If
If Me.PENARIKAN.value = True Then
Select Case MsgBox("Anda akan mencetak data" _
& vbCrLf & "Apakah anda yakin?" _
, vbYesNo Or vbQuestion Or vbDefaultButton1, "Cetak Setoran")
Case vbNo
Exit Sub
Case vbYes
End Select
'##########################################################
cetak = MsgBox("Apakah anda yakin ingin mencetak?", vbQuestion + vbYesNo, "Cetak Laporan")
If cetak = vbYes Then
Sheet7.Select
'===proses cetak
ActiveWindow.SelectedSheets.PrintOut from:=1, To:=100000, Copies:=1
With Sheet7.PageSetup
.Orientation = xlPortrait
.LeftMargin = Application.CentimetersToPoints(0.5)
.RightMargin = Application.CentimetersToPoints(0.5)
.TopMargin = Application.CentimetersToPoints(2)
.BottomMargin = Application.CentimetersToPoints(2)
.Zoom = 90
.PrintArea = "$A:$I"
.PrintTitleRows = "$1:$4"
End With
With Sheet7
.Columns(1).ColumnWidth = 5 'nomor
.Columns(2).ColumnWidth = 14.5 'kode transaksi
.Columns(3).ColumnWidth = 11.5 'tanggal transaksi
.Columns(4).ColumnWidth = 6.5 'nisn
.Columns(5).ColumnWidth = 17 'nama santri
.Columns(6).ColumnWidth = 8.5 'kelas
.Columns(7).ColumnWidth = 22 'keterangan
.Columns(8).ColumnWidth = 1 'penarikan
.Columns(9).ColumnWidth = 17 'penarikan
End With
Sheet1.Select
MsgBox "Laporan berhasil dicetak", vbInformation, "Hasil Cetak"
End If
'Unload Me
'Sheet7.PrintPreview
'FORMLAPORAN.Show
End If
Sheet1.Protect "1", userinterfaceonly:=True
End Sub
Private Sub CMDRESET_Click()
Me.TABELDATA.RowSource = ""
Me.PENARIKAN.value = False
Me.SETORAN.value = False
Me.TGLAWAL.value = ""
Me.TOTALDATA.value = ""
Me.TOTALNILAI.value = ""
Sheet1.Protect "1", userinterfaceonly:=True
End Sub
Private Sub gambartgl_Click()
Dim dateVariable As Date
dateVariable = CalendarForm.GetDate
If dateVariable <> 0 Then TGLAWAL = Format(dateVariable, "dd/mm/yyyy")
End Sub
Private Sub gambartgl1_Click()
Dim dateVariable As Date
dateVariable = CalendarForm.GetDate
If dateVariable <> 0 Then TGLAKHIR = Format(dateVariable, "dd/mm/yyyy")
End Sub
Private Sub SETORAN_Click()
End Sub
Private Sub TOTALNILAI_Change()
Me.TOTALNILAI.value = Format(Me.TOTALNILAI.value, "Rp #,###")
End Sub
Private Sub UserForm_Activate()
Dim berhenti As Boolean
berhenti = False
Do Until berhenti
lbljam.Caption = " | Pukul : " & Format(Time, "hh:mm:ss") & " WIB"
DoEvents
Loop
End Sub
Private Sub UserForm_Initialize()
lbltg.Caption = Format(Now(), "dddd, dd mmmm yyyy")
TGLAKHIR.value = Format(Now(), "dd/mm/yyyy")
TGLAWAL.SetFocus
TABELDATA.ColumnWidths = "30,80,70,40,150,40,100,150"
End Sub
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
Dim berhenti As Boolean
berhenti = True
Unload Me
Sheet1.Protect "1", userinterfaceonly:=True
End
End Sub
Form Laporan Santri (modifikasi)
Option Explicit
Private Sub CMDCARI1_Click()
Call CariSatu
Me.CMDPRINT.Visible = True
Me.CMDPRINT2.Visible = False
Me.CMDPRINT3.Visible = False
Me.TXTCARI2.value = ""
Me.CBKRITERIA2.value = ""
Me.TGLAWAL2.value = ""
Sheet1.Select
Sheet1.Protect "1", userinterfaceonly:=True
End Sub
Private Sub CariTiga()
Dim gabung As Range
Set gabung = Sheet8.Range("A4")
gabung.CurrentRegion.Clear
Sheet4.Range("setoranrange").Copy Sheet8.Range("A4:I4")
Dim iRow As Long
iRow = Sheet8.Range("A" & Rows.Count).End(xlUp).Row
Sheet5.Range("penarikanrange").Copy Sheet8.Range("A" & iRow + 1)
On Error GoTo Salah
Dim iRow3 As Long
Dim JData As Long
Dim CARI_DATA As Object
Set CARI_DATA = Sheet8
Sheet9.Range("A6").CurrentRegion.Clear
'
''========tes berdasarkan tanggal
Sheet9.Range("L4").value = "Tanggal"
Sheet9.Range("M4").value = "Tanggal"
Sheet9.Range("L5").value = ">=" & Format(Me.TGLAWAL2.value, "mm/dd/yyyy")
Sheet9.Range("M5").value = "<=" & Format(Me.TGLAKHIR2.value, "mm/dd/yyyy")
CARI_DATA.Range("A4").CurrentRegion.AdvancedFilter Action:=xlFilterCopy, CriteriaRange:= _
Sheet9.Range("L4:M5"), CopyToRange:=Sheet9.Range("A6:I6"), Unique:=False
Sheet9.Select
Call urut3
'=====membuat nomor urut otomatis==============
Dim i As Long
Dim X As Long
Dim no As Long
X = Sheet9.Range("B" & Rows.Count).End(xlUp).Row
no = 0
For i = 1 To X - 6
no = no + 1
Cells(i + 6, 1).value = no
Next i
'============= memasukkan ke listbox
iRow = Sheet9.Range("A" & Rows.Count).End(xlUp).Row
If Application.WorksheetFunction.CountA(Sheet9.Range("A5:A1000000")) = 0 Then
Me.TABELDATA.RowSource = ""
Call MsgBox("Data tidak ditemukan", vbInformation, "Cari Data")
Else
Me.TABELDATA.RowSource = "CARIGABUNG1!A7:I" & iRow
Me.TOTALDATA.value = Me.TABELDATA.ListCount
Me.TOTALNILAI.value = Sheet9.Range("H3").value
End If
Exit Sub
Salah:
Call MsgBox("Maaf Data tidak ditemukan", vbInformation, "Cari Data")
End Sub
Private Sub CariDua()
Dim gabung As Range
Set gabung = Sheet8.Range("A4")
gabung.CurrentRegion.Clear
Sheet4.Range("setoranrange").Copy Sheet8.Range("A4:I4")
Dim iRow As Long
iRow = Sheet8.Range("A" & Rows.Count).End(xlUp).Row
Sheet5.Range("penarikanrange").Copy Sheet8.Range("A" & iRow + 1)
'
''========tes berdasarkan tanggal
'Sheet9.Range("L4").value = "Tanggal"
'Sheet9.Range("M4").value = "Tanggal"
'Sheet9.Range("L5").value = ">=" & Format(Me.TGLAWAL1.value, "mm/dd/yyyy")
'Sheet9.Range("M5").value = "<=" & Format(Me.TGLAKHIR1.value, "mm/dd/yyyy")
'CARI_DATA.Range("A4").CurrentRegion.AdvancedFilter Action:=xlFilterCopy, CriteriaRange:= _
'Sheet9.Range("L4:M5"), CopyToRange:=Sheet9.Range("A6:I6"), Unique:=False
'========PENYARINGAN TAHAP 1 berdasarkan nama masuk dalam sheet CARIGABUNG1
On Error GoTo Salah
Dim iRow3 As Long
Dim JData3 As Long
Dim CARI_DATA3 As Object
Set CARI_DATA3 = Sheet8
Sheet9.Range("A6").CurrentRegion.Clear
Sheet9.Range("L4").value = Me.CBKRITERIA2.value
Sheet9.Range("L5").value = "*" & Me.TXTCARI2.value & "*"
CARI_DATA3.Range("A4").CurrentRegion.AdvancedFilter Action:=xlFilterCopy, CriteriaRange:= _
Sheet9.Range("L4:L5"), CopyToRange:=Sheet9.Range("A6:I6"), Unique:=False
Sheet9.Select
Call urut3
'===nomor urut otomatis==========
Dim i As Long
Dim X As Long
Dim no As Long
X = Sheet9.Range("B" & Rows.Count).End(xlUp).Row
no = 0
For i = 1 To X - 6
no = no + 1
Cells(i + 6, 1).value = no
Next i
'============= memasukkan ke listbox
iRow = Sheet9.Range("A" & Rows.Count).End(xlUp).Row
If Application.WorksheetFunction.CountA(Sheet9.Range("A5:A1000000")) = 0 Then
Me.TABELDATA.RowSource = ""
Call MsgBox("Data tidak ditemukan", vbInformation, "Cari Data")
Else
Me.TABELDATA.RowSource = "CARIGABUNG1!A7:I" & iRow
Me.TOTALDATA.value = Me.TABELDATA.ListCount
Me.TOTALNILAI.value = Sheet9.Range("H3").value
End If
Exit Sub
Salah:
Call MsgBox("Maaf Data tidak ditemukan", vbInformation, "Cari Data")
End Sub
Private Sub CariSatu()
Application.ScreenUpdating = False
Dim gabung As Range
Set gabung = Sheet8.Range("A4")
gabung.CurrentRegion.Clear
Sheet4.Range("setoranrange").Copy Sheet8.Range("A4:I4")
Dim iRow As Long
iRow = Sheet8.Range("A" & Rows.Count).End(xlUp).Row
Sheet5.Range("penarikanrange").Copy Sheet8.Range("A" & iRow + 1)
'Sheet8.Select
'Sheet9.Select
'####################################################
On Error GoTo Salah
Dim iRow2 As Long
Dim JData As Long
Dim CARI_DATA As Object
Set CARI_DATA = Sheet8
Sheet9.Range("A6").CurrentRegion.Clear
'========test nama santri
'Sheet9.Range("L4").Value = "Nama Santri"
'Sheet9.Range("L5").Value = "*aqil*"
'CARI_DATA.Range("A4").CurrentRegion.AdvancedFilter Action:=xlFilterCopy, CriteriaRange:= _
'Sheet9.Range("L4:L5"), CopyToRange:=Sheet9.Range("A6:I6"), Unique:=False
'========tes berdasarkan tanggal
Sheet9.Range("L4").value = "Tanggal"
Sheet9.Range("M4").value = "Tanggal"
Sheet9.Range("L5").value = ">=" & Format(Me.TGLAWAL1.value, "mm/dd/yyyy")
Sheet9.Range("M5").value = "<=" & Format(Me.TGLAKHIR1.value, "mm/dd/yyyy")
CARI_DATA.Range("A4").CurrentRegion.AdvancedFilter Action:=xlFilterCopy, CriteriaRange:= _
Sheet9.Range("L4:M5"), CopyToRange:=Sheet9.Range("A6:I6"), Unique:=False
'========PENYARINGAN TAHAP 2 ATAU CARIGABUNG2 berdasarkan nama==
On Error GoTo Salah
Dim iRow3 As Long
Dim JData3 As Long
Dim CARI_DATA3 As Object
Set CARI_DATA3 = Sheet9
Sheet10.Range("A6").CurrentRegion.Clear
Sheet10.Range("L4").value = Me.CBKRITERIA1.value
Sheet10.Range("L5").value = "*" & Me.TXTCARI1.value & "*"
CARI_DATA3.Range("A6").CurrentRegion.AdvancedFilter Action:=xlFilterCopy, CriteriaRange:= _
Sheet10.Range("L4:L5"), CopyToRange:=Sheet10.Range("A6:I6"), Unique:=False
Sheet10.Select
Call urut1
'===membuat nomor urut otomatis==
Dim i As Long
Dim X As Long
Dim no As Long
X = Sheet10.Range("B" & Rows.Count).End(xlUp).Row
no = 0
For i = 1 To X - 6
no = no + 1
Cells(i + 6, 1).value = no
Next i
'============= memasukkan ke listbox
iRow = Sheet10.Range("A" & Rows.Count).End(xlUp).Row
If Application.WorksheetFunction.CountA(Sheet10.Range("A5:A1000000")) = 0 Then
Me.TABELDATA.RowSource = ""
Call MsgBox("Data tidak ditemukan", vbInformation, "Cari Data")
Else
Me.TABELDATA.RowSource = "CARIGABUNG2!A7:I" & iRow
Me.TOTALDATA.value = Me.TABELDATA.ListCount
Me.TOTALNILAI.value = Sheet10.Range("H3").value
End If
Exit Sub
Salah:
Call MsgBox("Maaf Data tidak ditemukan", vbInformation, "Cari Data")
Application.ScreenUpdating = True
End Sub
Private Sub CariPenarikan()
On Error GoTo Salah
Dim iRow As Long
Dim JData As Long
Dim CARI_DATA As Object
Set CARI_DATA = Sheet5
Sheet7.Range("I4").value = "Tanggal"
Sheet7.Range("J4").value = "Tanggal"
Sheet7.Range("I5").value = ">=" & Format(Me.TGLAWAL.value, "mm/dd/yyyy")
Sheet7.Range("J5").value = "<=" & Format(Me.TGLAKHIR.value, "mm/dd/yyyy")
CARI_DATA.Range("A4").CurrentRegion.AdvancedFilter Action:=xlFilterCopy, CriteriaRange:= _
Sheet7.Range("I4:J5"), CopyToRange:=Sheet7.Range("A4:G4"), Unique:=False
iRow = Sheet7.Range("A" & Rows.Count).End(xlUp).Row
If Application.WorksheetFunction.CountA(Sheet7.Range("A5:A1000000")) = 0 Then
Me.TABELDATA.RowSource = ""
Call MsgBox("Data tidak ditemukan", vbInformation, "Cari Data")
Else
Me.TABELDATA.RowSource = "CARIPENARIKAN!A5:G" & iRow
End If
Exit Sub
Salah:
Call MsgBox("Maaf Data tidak ditemukan", vbInformation, "Cari Data")
End Sub
Private Sub CMDCARI_Click()
If Me.PENARIKAN.value = True Then
Me.SETORAN.value = False
Call CariPenarikan
Me.TOTALDATA.value = Me.TABELDATA.ListCount
Me.TOTALNILAI.value = Sheet7.Range("L4").value
End If
If Me.SETORAN.value = True Then
Me.PENARIKAN.value = False
Call CariSetoran
Me.TOTALDATA.value = Me.TABELDATA.ListCount
Me.TOTALNILAI.value = Sheet3.Range("L4").value
End If
End Sub
Private Sub CMDCARI2_Click()
Call CariDua
Me.CMDPRINT2.Visible = True
Me.CMDPRINT.Visible = False
Me.CMDPRINT3.Visible = False
Me.TGLAWAL1.value = ""
Me.CBKRITERIA1.value = ""
Me.TXTCARI1.value = ""
Me.TGLAWAL2.value = ""
Sheet1.Select
Sheet1.Protect "1", userinterfaceonly:=True
End Sub
Private Sub CMDCARI3_Click()
Call CariTiga
Me.CMDPRINT3.Visible = True
Me.CMDPRINT.Visible = False
Me.CMDPRINT2.Visible = False
Me.TGLAWAL1.value = ""
Me.CBKRITERIA1.value = ""
Me.TXTCARI1.value = ""
Me.TXTCARI2.value = ""
Me.CBKRITERIA2.value = ""
Sheet1.Select
Sheet1.Protect "1", userinterfaceonly:=True
End Sub
Private Sub cmdprint_Click()
Select Case MsgBox("Anda akan mencetak data" _
& vbCrLf & "Apakah anda yakin?" _
, vbYesNo Or vbQuestion Or vbDefaultButton1, "Cetak Setoran")
Case vbNo
Exit Sub
Case vbYes
End Select
'#####################################################################
Dim cetak As Variant
cetak = MsgBox("Apakah anda yakin ingin mencetak?", vbQuestion + vbYesNo, "Cetak Laporan")
If cetak = vbYes Then
Sheet10.Select
'===proses cetak
ActiveWindow.SelectedSheets.PrintOut from:=1, To:=100000, Copies:=1
With Sheet10.PageSetup
.Orientation = xlPortrait
.LeftMargin = Application.CentimetersToPoints(0.5)
.RightMargin = Application.CentimetersToPoints(0.5)
.TopMargin = Application.CentimetersToPoints(2)
.BottomMargin = Application.CentimetersToPoints(2)
.Zoom = 79
.PrintArea = "$A:$I"
.PrintTitleRows = "$1:$6"
End With
With Sheet10
.Columns(1).ColumnWidth = 5 'nomor
.Columns(2).ColumnWidth = 14.5 'kode transaksi
.Columns(3).ColumnWidth = 11.5 'tanggal transaksi
.Columns(4).ColumnWidth = 6.5 'nisn
.Columns(5).ColumnWidth = 17 'nama santri
.Columns(6).ColumnWidth = 8.5 'kelas
.Columns(7).ColumnWidth = 22 'keterangan
.Columns(8).ColumnWidth = 17 'setoran
.Columns(9).ColumnWidth = 17 'penarikan
End With
Sheet1.Select
MsgBox "Laporan berhasil dicetak", vbInformation, "Hasil Cetak"
End If
'Unload Me
'Sheet10.PrintPreview
'FORMLAPORANSANTRI.Show
Sheet1.Protect "1", userinterfaceonly:=True
End Sub
Private Sub CMDPRINT2_Click()
Select Case MsgBox("Anda akan mencetak data" _
& vbCrLf & "Apakah anda yakin?" _
, vbYesNo Or vbQuestion Or vbDefaultButton1, "Cetak Setoran")
Case vbNo
Exit Sub
Case vbYes
End Select
'############################################################################
Dim cetak As Variant
cetak = MsgBox("Apakah anda yakin ingin mencetak?", vbQuestion + vbYesNo, "Cetak Laporan")
If cetak = vbYes Then
Sheet9.Select
'===proses cetak
ActiveWindow.SelectedSheets.PrintOut from:=1, To:=100000, Copies:=1
With Sheet9.PageSetup
.Orientation = xlPortrait
.LeftMargin = Application.CentimetersToPoints(0.5)
.RightMargin = Application.CentimetersToPoints(0.5)
.TopMargin = Application.CentimetersToPoints(2)
.BottomMargin = Application.CentimetersToPoints(2)
.Zoom = 79
.PrintArea = "$A:$I"
.PrintTitleRows = "$1:$6"
End With
With Sheet9
.Columns(1).ColumnWidth = 5 'nomor
.Columns(2).ColumnWidth = 14.5 'kode transaksi
.Columns(3).ColumnWidth = 11.5 'tanggal transaksi
.Columns(4).ColumnWidth = 6.5 'nisn
.Columns(5).ColumnWidth = 17 'nama santri
.Columns(6).ColumnWidth = 8.5 'kelas
.Columns(7).ColumnWidth = 22 'keterangan
.Columns(8).ColumnWidth = 17 'setoran
.Columns(9).ColumnWidth = 17 'penarikan
End With
Sheet1.Select
MsgBox "Laporan berhasil dicetak", vbInformation, "Hasil Cetak"
End If
'Unload Me
'Sheet9.PrintPreview
'FORMLAPORANSANTRI.Show
Sheet1.Protect "1", userinterfaceonly:=True
End Sub
Private Sub CMDPRINT3_Click()
Select Case MsgBox("Anda akan mencetak data" _
& vbCrLf & "Apakah anda yakin?" _
, vbYesNo Or vbQuestion Or vbDefaultButton1, "Cetak Setoran")
Case vbNo
Exit Sub
Case vbYes
End Select
'#################################################
Dim cetak As Variant
cetak = MsgBox("Apakah anda yakin ingin mencetak?", vbQuestion + vbYesNo, "Cetak Laporan")
If cetak = vbYes Then
Sheet9.Select
'===proses cetak
ActiveWindow.SelectedSheets.PrintOut from:=1, To:=100000, Copies:=1
With Sheet9.PageSetup
.Orientation = xlPortrait
.LeftMargin = Application.CentimetersToPoints(0.5)
.RightMargin = Application.CentimetersToPoints(0.5)
.TopMargin = Application.CentimetersToPoints(2)
.BottomMargin = Application.CentimetersToPoints(2)
.Zoom = 79
.PrintArea = "$A:$I"
.PrintTitleRows = "$1:$6"
End With
With Sheet9
.Columns(1).ColumnWidth = 5 'nomor
.Columns(2).ColumnWidth = 14.5 'kode transaksi
.Columns(3).ColumnWidth = 11.5 'tanggal transaksi
.Columns(4).ColumnWidth = 6.5 'nisn
.Columns(5).ColumnWidth = 17 'nama santri
.Columns(6).ColumnWidth = 8.5 'kelas
.Columns(7).ColumnWidth = 18 'keterangan
.Columns(8).ColumnWidth = 17 'setoran
.Columns(9).ColumnWidth = 17 'penarikan
End With
Sheet1.Select
MsgBox "Laporan berhasil dicetak", vbInformation, "Hasil Cetak"
End If
Sheet1.Protect "1", userinterfaceonly:=True
'Unload Me
'Sheet9.PrintPreview
'FORMLAPORANSANTRI.Show
End Sub
Private Sub CMDRESET_Click()
Me.TABELDATA.RowSource = ""
Me.TGLAWAL1.value = ""
Me.TGLAKHIR1.value = Format(Now(), "dd/mm/yyyy")
Me.CBKRITERIA1.value = ""
Me.TXTCARI1.value = ""
Me.CBKRITERIA2.value = ""
Me.TXTCARI2.value = ""
Me.TGLAWAL2.value = ""
Me.TGLAKHIR2.value = Format(Now(), "dd/mm/yyyy")
Me.TOTALDATA.value = ""
Me.TOTALNILAI.value = ""
Me.CMDPRINT.Visible = False
Me.CMDPRINT2.Visible = False
Me.CMDPRINT3.Visible = False
Sheet1.Protect "1", userinterfaceonly:=True
End Sub
Private Sub gambartgl_Click()
Dim dateVariable As Date
dateVariable = CalendarForm.GetDate
If dateVariable <> 0 Then TGLAWAL1 = Format(dateVariable, "dd/mm/yyyy")
End Sub
Private Sub gambartgl1_Click()
Dim dateVariable As Date
dateVariable = CalendarForm.GetDate
If dateVariable <> 0 Then TGLAKHIR1 = Format(dateVariable, "dd/mm/yyyy")
End Sub
Private Sub gambartgl2_Click()
Dim dateVariable As Date
dateVariable = CalendarForm.GetDate
If dateVariable <> 0 Then TGLAWAL2 = Format(dateVariable, "dd/mm/yyyy")
End Sub
Private Sub gambartgl3_Click()
Dim dateVariable As Date
dateVariable = CalendarForm.GetDate
If dateVariable <> 0 Then TGLAKHIR2 = Format(dateVariable, "dd/mm/yyyy")
End Sub
Private Sub TOTALNILAI_Change()
Me.TOTALNILAI.value = Format(Me.TOTALNILAI.value, "Rp #,###")
End Sub
Private Sub UserForm_Activate()
Dim berhenti As Boolean
berhenti = False
Do Until berhenti
lbljam.Caption = " | Pukul : " & Format(Time, "hh:mm:ss") & " WIB"
DoEvents
Loop
End Sub
Private Sub UserForm_Initialize()
lbltg.Caption = Format(Now(), "dddd, dd mmmm yyyy")
With CBKRITERIA1
.AddItem "NISN"
.AddItem "Nama Santri"
.AddItem "Kelas"
End With
With CBKRITERIA2
.AddItem "NISN"
.AddItem "Nama Santri"
.AddItem "Kelas"
End With
TGLAKHIR1.value = Format(Now(), "dd/mm/yyyy")
TGLAWAL1.SetFocus
TGLAKHIR2.value = Format(Now(), "dd/mm/yyyy")
Me.CMDPRINT.Visible = False
Me.CMDPRINT2.Visible = False
Me.CMDPRINT3.Visible = False
End Sub
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
Dim berhenti As Boolean
berhenti = True
Unload Me
End
End Sub
Form Penarikan
Option Explicit
Private Sub CBNISN_AfterUpdate()
End Sub
Private Sub CBNISN_Change()
On Error GoTo EXCELVBA
Dim CariSiswa As Object
Set CariSiswa = Sheet2.Range("B5:B1000000").Find(What:=Me.CBNISN.value, LookIn:=xlValues)
Me.TXTNAMASISWA.value = CariSiswa.Offset(0, 1).value
Me.TXTKELAS.value = CariSiswa.Offset(0, 3).value
Me.TXTSALDO.value = CariSiswa.Offset(0, 7).value
Exit Sub
EXCELVBA:
Call MsgBox("Maaf, NISN Santri belum terdaftar", vbInformation, "Data NISN")
End Sub
Private Sub cbnomorbaris_Change()
If cbnomorbaris.value < 1 Or cbnomorbaris.value > 28 Then
MsgBox "Nomor baris melebihi batas buku tabungan" + vbCrLf + "Ulangi lagi!", vbInformation, "Info"
cbnomorbaris.value = 1
Else
Sheets("CETAKTABUNGAN").Range("L7").value = cbnomorbaris.value + 1
End If
End Sub
Private Sub CMDADD_Click()
'=============================================================
Dim DataPenarikan, UpdateSetoran As Object
Set DataPenarikan = Sheet5.Range("B1000000").End(xlUp)
Set UpdateSetoran = Sheet2.Range("B5:B1000000").Find(What:=Me.CBNISN.value, LookIn:=xlValues)
If Me.TXTIDTRANSAKSI.value = "" _
Or Me.TXTTANGGAL.value = "" _
Or Me.CBNISN.value = "" _
Or Me.TXTKEPERLUAN.value = "" _
Or Me.TXTPENARIKAN.value = "" Then
Call MsgBox("Harap isi data setoran dengan lengkap", vbInformation, "Setoran")
Else
DataPenarikan.Offset(1, -1).value = "=ROW()-ROW(PENARIKAN!$A$4)"
DataPenarikan.Offset(1, 0).value = Me.TXTIDTRANSAKSI.value
DataPenarikan.Offset(1, 1).value = Format(Me.TXTTANGGAL.value, "mm/dd/yyyy")
DataPenarikan.Offset(1, 2).value = Me.CBNISN.value
DataPenarikan.Offset(1, 3).value = Me.TXTNAMASISWA.value
DataPenarikan.Offset(1, 4).value = Me.TXTKELAS.value
DataPenarikan.Offset(1, 5).value = Me.TXTKEPERLUAN.value
DataPenarikan.Offset(1, 7).value = Me.TXTPENARIKAN.value
UpdateSetoran.Offset(0, 7).value = Me.TOTALSALDO.value
Call MsgBox("data setoran berhasil disimpan", vbInformation, "Setoran")
Me.TXTIDTRANSAKSI.value = ""
Me.TXTTANGGAL.value = ""
Me.CBNISN.value = ""
Me.TXTNAMASISWA.value = ""
Me.TXTKELAS.value = ""
Me.TXTKEPERLUAN.value = ""
Me.TXTPENARIKAN.value = ""
Me.TXTSALDO.value = ""
Me.TOTALSALDO.value = ""
Me.TXTTARIK.value = ""
Call AmbilData
End If
Me.lbltotaltarik.Caption = "Total Penarikan " & Format(Sheet1.Range("AC15").value, "Rp #,###")
Sheet1.Protect "1", userinterfaceonly:=True
End Sub
Private Sub CMDBARU_Click()
CMDUPDATE.Enabled = False
Dim X As Long
X = Sheet5.Range("K3").value + 1
Sheet5.Range("K3").value = X
If Sheet5.Range("K2").value = 1 Then
Me.TXTIDTRANSAKSI.value = "PN-100000" & X
End If
If Sheet5.Range("K2").value = 2 Then
Me.TXTIDTRANSAKSI.value = "PN-10000" & X
End If
If Sheet5.Range("K2").value = 3 Then
Me.TXTIDTRANSAKSI.value = "PN-1000" & X
End If
If Sheet5.Range("K2").value = 4 Then
Me.TXTIDTRANSAKSI.value = "PN-100" & X
End If
If Sheet5.Range("K2").value = 5 Then
Me.TXTIDTRANSAKSI.value = "PN-10" & X
End If
Me.TXTIDTRANSAKSI.Enabled = False
TXTTANGGAL.value = Format(Now(), "dd/mm/yyyy")
CBNISN.SetFocus
Sheet1.Protect "1", userinterfaceonly:=True
End Sub
Private Sub CMDCARI_Click()
On Error GoTo Salah
Dim iRow As Long
Dim JData As Long
Dim CARI_DATA As Object
Set CARI_DATA = Sheet5
Sheet7.Range("caripenarikanrange").Clear
Sheet7.Range("K4").value = Me.CBKRITERIA.value
Sheet7.Range("K5").value = "*" & Me.TXTCARI.value & "*"
CARI_DATA.Range("penarikanrangejudul").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:= _
Sheet7.Range("K4:K5"), CopyToRange:=Sheet7.Range("A4:I4"), Unique:=False
iRow = Sheet7.Range("A" & Rows.Count).End(xlUp).Row
If Application.WorksheetFunction.CountA(Sheet7.Range("A5:A1000000")) = 0 Then
Me.TABELDATA.RowSource = ""
Call MsgBox("Data tidak ditemukan", vbInformation, "Cari Data")
Else
Me.TABELDATA.RowSource = "CARIPENARIKAN!A5:I" & iRow
End If
Me.TXTJUMLAH.value = Me.TABELDATA.ListCount
Me.lbltotaltarik.Caption = "Total Penarikan " & Format(Sheet7.Range("N4").value, "Rp #,###")
CMDPRINT.Visible = True
Exit Sub
Salah:
Call MsgBox("Maaf Data tidak ditemukan", vbInformation, "Cari Data")
Sheet1.Protect "1", userinterfaceonly:=True
End Sub
Private Sub CMDDELETE_Click()
Application.ScreenUpdating = False
Dim UpdateSaldo As Object
Set UpdateSaldo = Sheet2.Range("B4:B1000000").Find(What:=Me.CBNISN.value, LookIn:=xlValues)
If Me.TXTIDTRANSAKSI.value = "" Then
Call MsgBox("Pilih data pada tabel data", vbInformation, "Hapus Data")
Else
'Membuat pesan konfirmasi hapus data
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
Sheet5.Select
UpdateSaldo.Offset(0, 7).value = UpdateSaldo.Offset(0, 7).value + Val(Me.TXTTARIK.value)
Selection.EntireRow.Delete
Call MsgBox("Data berhasil dihapus", vbInformation, "Hapus Data")
Me.TXTIDTRANSAKSI.value = ""
Me.TXTTANGGAL.value = ""
Me.CBNISN.value = ""
Me.TXTNAMASISWA.value = ""
Me.TXTKELAS.value = ""
Me.TXTKEPERLUAN.value = ""
Me.TXTPENARIKAN.value = ""
Me.TXTSALDO.value = ""
Me.TOTALSALDO.value = ""
Me.TXTTARIK.value = ""
Call AmbilData
Sheet1.Select
End If
Sheet5.Range("M3").value = "=SUM($I$5:$I$1000000)"
Me.lbltotaltarik.Caption = "Total Penarikan " & Format(Sheet1.Range("AC15").value, "Rp #,###")
Sheet1.Protect "1", userinterfaceonly:=True
End Sub
Private Sub cmdprint_Click()
Dim cetak As Variant
cetak = MsgBox("Apakah anda yakin ingin mencetak?", vbQuestion + vbYesNo, "Cetak Laporan")
If cetak = vbYes Then
Sheet7.Select
'===proses cetak
ActiveWindow.SelectedSheets.PrintOut from:=1, To:=100000, Copies:=1
With Sheet7.PageSetup
.Orientation = xlPortrait
.LeftMargin = Application.CentimetersToPoints(0.5)
.RightMargin = Application.CentimetersToPoints(0.5)
.TopMargin = Application.CentimetersToPoints(2)
.BottomMargin = Application.CentimetersToPoints(2)
.Zoom = 90
.PrintArea = "$A:$I"
.PrintTitleRows = "$1:$4"
End With
With Sheet7
.Columns(1).ColumnWidth = 5 'nomor
.Columns(2).ColumnWidth = 14.5 'kode transaksi
.Columns(3).ColumnWidth = 11.5 'tanggal transaksi
.Columns(4).ColumnWidth = 6.5 'nisn
.Columns(5).ColumnWidth = 17 'nama santri
.Columns(6).ColumnWidth = 8.5 'kelas
.Columns(7).ColumnWidth = 22 'keterangan
.Columns(8).ColumnWidth = 1 'setoran
.Columns(9).ColumnWidth = 17 'penarikan
End With
Sheet1.Select
MsgBox "Laporan berhasil dicetak", vbInformation, "Hasil Cetak"
End If
Sheet1.Protect "1", userinterfaceonly:=True
End Sub
Private Sub CMDRESET_Click()
Me.TXTIDTRANSAKSI.value = ""
Me.TXTTANGGAL.value = ""
Me.CBNISN.value = ""
Me.TXTNAMASISWA.value = ""
Me.TXTKELAS.value = ""
Me.TXTKEPERLUAN.value = ""
Me.TXTPENARIKAN.value = ""
Me.TXTSALDO.value = ""
Me.TOTALSALDO.value = ""
Me.TXTTARIK.value = ""
Me.CBKRITERIA.value = ""
Me.TXTCARI.value = ""
Me.TXTTARIK.value = ""
Me.CMDADD.Enabled = True
Me.CMDBARU.Enabled = True
Call AmbilData
Me.lbltotaltarik.Caption = "Total Penarikan " & Format(Sheet1.Range("AC15").value, "Rp #,###")
Sheet1.Protect "1", userinterfaceonly:=True
End Sub
Private Sub CMDUPDATE_Click()
Application.ScreenUpdating = False
If TXTPENARIKAN.value > TXTSALDO.value Or TXTSALDO.value = "" Then
MsgBox "Saldo Tidak cukup" & vbCrLf & "Silahkan cek saldo santri", vbCritical + vbOKOnly, "Saldo Tidak Cukup"
TXTPENARIKAN.value = ""
End If
TXTPENARIKAN.SetFocus
'Perintah membuat Sumber data yang diubah
Dim UBAHDATA As Object
Dim UpdateSaldo As Object
Set UBAHDATA = Sheet5.Range("B5:B1000000").Find(What:=Me.TXTIDTRANSAKSI.value, LookIn:=xlValues)
Set UpdateSaldo = Sheet2.Range("B5:B1000000").Find(What:=Me.CBNISN.value, LookIn:=xlValues)
'Perintah mengecek apakah ada data yang diubah
If Me.TXTIDTRANSAKSI.value = "" Then
Call MsgBox("Untuk mengubah Data, Pilih data terlebih dahulu", vbInformation, "Ubah Data")
Else
'Perintah mengubah data dari kolom pertama
UBAHDATA.Offset(0, 1).value = Format(Me.TXTTANGGAL.value, "mm/dd/yyyy")
UBAHDATA.Offset(0, 5).value = Me.TXTKEPERLUAN.value
UBAHDATA.Offset(0, 7).value = Me.TXTPENARIKAN.value
UpdateSaldo.Offset(0, 7).value = Me.TOTALSALDO.value
'Perintah memunculkan pesan bahwa data berhasil diubah
Call MsgBox("Data berhasil diubah", vbInformation, "Ubah Data")
'Perintah membersihkan textbox
Me.TXTIDTRANSAKSI.value = ""
Me.TXTTANGGAL.value = ""
Me.CBNISN.value = ""
Me.TXTNAMASISWA.value = ""
Me.TXTKELAS.value = ""
Me.TXTKEPERLUAN.value = ""
Me.TXTPENARIKAN.value = ""
Me.TXTSALDO.value = ""
Me.TOTALSALDO.value = ""
Me.TXTTARIK.value = ""
Call AmbilData
Sheet1.Select
End If
Me.lbltotaltarik.Caption = "Total Penarikan " & Format(Sheet1.Range("AC15").value, "Rp #,###")
Sheet1.Protect "1", userinterfaceonly:=True
End Sub
Private Sub gambartgl_Click()
Dim dateVariable As Date
dateVariable = CalendarForm.GetDate
If dateVariable <> 0 Then TXTTANGGAL = Format(dateVariable, "dd/mm/yyyy")
End Sub
Private Sub printtabungan_Click()
Dim baris As Byte
Dim cetak As Variant
Application.ScreenUpdating = False
Me.TABELDATA.value = ""
If Me.cbnomorbaris.value = "" Or Me.TXTIDTRANSAKSI.value = "" Then
Call MsgBox("Masukkan nomor baris dahulu baru Pilih data yang akan dicetak !", vbInformation, "Cetak Tabungan")
Else
cetak = MsgBox("Pastikan buku bank, sudah dimasukkan di printer !" + vbCrLf + _
"Apakah anda ingin melanjutkan cetak??", vbQuestion + vbYesNo, "Cetak Buku Tabungan")
If cetak = vbYes Then
Sheet12.Range("areacetaktabungan").ClearContents
Sheet5.Select
Call cetaktabunganpenarikan
'########################################
'===proses cetak di buku tabungan
ActiveWindow.SelectedSheets.PrintOut from:=1, To:=1, Copies:=1
With Sheet12.PageSetup
.Orientation = xlPortrait
.LeftMargin = Application.CentimetersToPoints(0)
.RightMargin = Application.CentimetersToPoints(0.2)
.TopMargin = Application.CentimetersToPoints(1.3)
.BottomMargin = Application.CentimetersToPoints(1.3)
.Zoom = 87
.PrintArea = "$A$2:$G$29"
End With
With Sheet12
.Columns(1).ColumnWidth = 3
.Columns(2).ColumnWidth = 11
.Columns(3).ColumnWidth = 3.43
.Columns(4).ColumnWidth = 14
.Columns(5).ColumnWidth = 14
.Columns(6).ColumnWidth = 14
.Columns(7).ColumnWidth = 4.57
End With
Sheet1.Select
MsgBox "Transaksi Penarikan santri berhasil dicetak", vbInformation, "Cetak Penarikan"
End If
End If
Sheet1.Protect "1", userinterfaceonly:=True
End Sub
Private Sub TABELDATA_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
On Error GoTo EXCELVBA
Dim SUMBERUBAH, CELLAKTIF As String
Application.ScreenUpdating = False
Me.TXTIDTRANSAKSI.value = Me.TABELDATA.Column(1)
Me.TXTTANGGAL.value = Format(Me.TABELDATA.Column(2), "dd/mm/yyyy")
Me.CBNISN.value = Me.TABELDATA.Column(3)
Me.TXTNAMASISWA.value = Me.TABELDATA.Column(4)
Me.TXTKELAS.value = Me.TABELDATA.Column(5)
Me.TXTKEPERLUAN.value = Me.TABELDATA.Column(6)
Me.TXTPENARIKAN.value = Me.TABELDATA.Column(8)
Me.TOTALSALDO.value = Me.TXTSALDO.value
Me.TXTTARIK.value = Me.TXTPENARIKAN.value
Sheet5.Select
SUMBERUBAH = Sheets("PENARIKAN").Cells(Rows.Count, "B").End(xlUp).Row
Sheets("PENARIKAN").Range("B5:B" & SUMBERUBAH).Find(What:=Me.TXTIDTRANSAKSI.value, LookIn:=xlValues, LookAt:=xlWhole).Activate
CELLAKTIF = ActiveCell.Row
Sheets("PENARIKAN").Range("A" & CELLAKTIF & ":I" & CELLAKTIF).Select
Sheet1.Select
Me.CMDADD.Enabled = False
Me.CMDBARU.Enabled = False
Me.CMDUPDATE.Enabled = True
Exit Sub
EXCELVBA:
Call MsgBox("Klik 2x pada tabel data", vbInformation, "Pilih Data")
End Sub
Private Sub TXTPENARIKAN_Change()
On Error Resume Next
Me.TOTALSALDO.value = Val(Me.TXTSALDO.value) + Val(Me.TXTTARIK.value) - Val(Me.TXTPENARIKAN.value)
If Val(Me.TXTPENARIKAN.value) > Val(Me.TXTSALDO.value) Then
MsgBox "Saldo Tidak cukup" & vbCrLf & "Silahkan cek saldo santri", vbCritical + vbOKOnly, "Saldo Tidak Cukup"
Me.TXTPENARIKAN.value = ""
End If
TXTPENARIKAN.SetFocus
End Sub
Private Sub TXTPENARIKAN_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
Select Case KeyAscii
Case Asc("0") To Asc("9")
Case Else
KeyAscii = 0
End Select
End Sub
Private Sub UserForm_Activate()
Dim berhenti As Boolean
berhenti = False
Do Until berhenti
lbljam.Caption = " | Pukul : " & Format(Time, "hh:mm:ss") & " WIB"
DoEvents
Loop
End Sub
Private Sub UserForm_Initialize()
lbltg.Caption = Format(Now(), "dddd, dd mmmm yyyy")
Call AmbilNISN
Call AmbilData
With CBKRITERIA
.AddItem "NISN"
.AddItem "Nama Santri"
.AddItem "Kelas"
End With
With cbnomorbaris
.AddItem "1"
.AddItem "2"
.AddItem "3"
.AddItem "4"
.AddItem "5"
.AddItem "6"
.AddItem "7"
.AddItem "8"
.AddItem "9"
.AddItem "10"
.AddItem "11"
.AddItem "12"
.AddItem "13"
.AddItem "14"
.AddItem "15"
.AddItem "16"
.AddItem "17"
.AddItem "18"
.AddItem "19"
.AddItem "20"
.AddItem "21"
.AddItem "22"
.AddItem "23"
.AddItem "24"
.AddItem "25"
.AddItem "26"
.AddItem "27"
.AddItem "28"
End With
TABELDATA.ColumnWidths = "30,80,70,50,100,70,150,1,100"
If Sheet5.Range("A5").value = "" Then
Me.lbltotaltarik.Caption = ""
Else
Me.lbltotaltarik.Caption = "Total Penarikan " & Format(Sheet1.Range("AC15").value, "Rp #,###")
End If
CMDPRINT.Visible = False
End Sub
Private Sub AmbilNISN()
Dim TData As Long
Dim iRow As Long
Sheet2.Select
iRow = Sheet2.Range("A" & Rows.Count).End(xlUp).Row
TData = Application.WorksheetFunction.CountA(Sheet2.Range("B5:B1000000"))
If TData = 0 Then
Me.CBNISN.RowSource = ""
Else
Me.CBNISN.RowSource = "DATASISWA!B5:C" & iRow
End If
End Sub
Private Sub AmbilData()
Application.ScreenUpdating = False
Dim TData As Long
Dim iRow As Long
Sheet5.Select
iRow = Sheet5.Range("A" & Rows.Count).End(xlUp).Row
TData = Application.WorksheetFunction.CountA(Sheet5.Range("B5:B1000000"))
If TData = 0 Then
Me.TABELDATA.RowSource = ""
Else
Me.TABELDATA.RowSource = "PENARIKAN!A5:I" & iRow
Me.TXTJUMLAH.value = Me.TABELDATA.ListCount
End If
Sheet1.Select
End Sub
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
Dim berhenti As Boolean
berhenti = True
Unload Me
End
End Sub
Form Setoran
Option Explicit
Private Sub CBNISN_Change()
On Error GoTo EXCELVBA
Dim CariSiswa As Object
Set CariSiswa = Sheet2.Range("B5:B1000000").Find(What:=Me.CBNISN.value, LookIn:=xlValues)
Me.TXTNAMASISWA.value = CariSiswa.Offset(0, 1).value
Me.TXTKELAS.value = CariSiswa.Offset(0, 3).value
Me.TXTSALDO.value = CariSiswa.Offset(0, 7).value
Exit Sub
EXCELVBA:
Call MsgBox("Maaf, NISN santri belum terdaftar", vbInformation, "Data Santri")
End Sub
Private Sub cbnomorbaris_Change()
If cbnomorbaris.value < 1 Or cbnomorbaris.value > 28 Then
MsgBox "Nomor baris melebihi batas buku tabungan" + vbCrLf + "Ulangi lagi!", vbInformation, "Info"
cbnomorbaris.value = 1
Else
Sheets("CETAKTABUNGAN").Range("L7").value = cbnomorbaris.value + 1
End If
End Sub
Private Sub cbnomorbaris_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
Select Case KeyAscii
Case Asc("0") To Asc("9")
Case Else
KeyAscii = 0
End Select
End Sub
Private Sub CMDADD_Click()
Dim DataSetoran, UpdateSetoran As Object
Set DataSetoran = Sheet4.Range("B1000000").End(xlUp)
Set UpdateSetoran = Sheet2.Range("B5:B1000000").Find(What:=Me.CBNISN.value, LookIn:=xlValues)
If Me.TXTIDTRANSAKSI.value = "" _
Or Me.TXTTANGGAL.value = "" _
Or Me.CBNISN.value = "" _
Or Me.TXTKEPERLUAN.value = "" _
Or Me.TXTSETORAN.value = "" Then
Call MsgBox("Harap isi data setoran dengan lengkap", vbInformation, "Setoran")
Else
DataSetoran.Offset(1, -1).value = "=ROW()-ROW(SETORAN!$A$4)"
DataSetoran.Offset(1, 0).value = Me.TXTIDTRANSAKSI.value
DataSetoran.Offset(1, 1).value = Format(Me.TXTTANGGAL.value, "mm/dd/yyyy")
DataSetoran.Offset(1, 2).value = Me.CBNISN.value
DataSetoran.Offset(1, 3).value = Me.TXTNAMASISWA.value
DataSetoran.Offset(1, 4).value = Me.TXTKELAS.value
DataSetoran.Offset(1, 5).value = Me.TXTKEPERLUAN.value
DataSetoran.Offset(1, 6).value = Me.TXTSETORAN.value
UpdateSetoran.Offset(0, 7).value = Me.TOTALSALDO.value
Call MsgBox("data setoran berhasil disimpan", vbInformation, "Setoran")
Me.TXTIDTRANSAKSI.value = ""
Me.TXTTANGGAL.value = ""
Me.CBNISN.value = ""
Me.TXTNAMASISWA.value = ""
Me.TXTKELAS.value = ""
Me.TXTKEPERLUAN.value = ""
Me.TXTSETORAN.value = ""
Me.TXTSALDO.value = ""
Me.TOTALSALDO.value = ""
Call AmbilData
End If
Me.lbltotalnama.Caption = "Total Setoran " & Format(Sheet1.Range("AB15").value, "Rp #,###")
Sheet1.Protect "1", userinterfaceonly:=True
End Sub
Private Sub CMDBARU_Click()
Dim X As Long
X = Sheet4.Range("K3").value + 1
Sheet4.Range("K3").value = X
If Sheet4.Range("K2").value = 1 Then
Me.TXTIDTRANSAKSI.value = "ST-100000" & X
End If
If Sheet4.Range("K2").value = 2 Then
Me.TXTIDTRANSAKSI.value = "ST-10000" & X
End If
If Sheet4.Range("K2").value = 3 Then
Me.TXTIDTRANSAKSI.value = "ST-1000" & X
End If
If Sheet4.Range("K2").value = 4 Then
Me.TXTIDTRANSAKSI.value = "ST-100" & X
End If
If Sheet4.Range("K2").value = 5 Then
Me.TXTIDTRANSAKSI.value = "ST-10" & X
End If
Me.TXTIDTRANSAKSI.Enabled = False
TXTTANGGAL.value = Format(Now(), "dd/mm/yyyy")
CBNISN.SetFocus
Sheet1.Protect "1", userinterfaceonly:=True
End Sub
Private Sub CMDCARI_Click()
On Error GoTo Salah
Dim iRow As Long
Dim JData As Long
Dim CARI_DATA As Object
Set CARI_DATA = Sheet4
Sheet3.Range("carisetoranrange").Clear
Sheet3.Range("K4").value = Me.CBKRITERIA.value
Sheet3.Range("K5").value = "*" & Me.TXTCARI.value & "*"
CARI_DATA.Range("A4").CurrentRegion.AdvancedFilter Action:=xlFilterCopy, CriteriaRange:= _
Sheet3.Range("K4:K5"), CopyToRange:=Sheet3.Range("A4:I4"), Unique:=False
iRow = Sheet3.Range("A" & Rows.Count).End(xlUp).Row
If Application.WorksheetFunction.CountA(Sheet3.Range("A5:A1000000")) = 0 Then
Me.TABELDATA.RowSource = ""
Call MsgBox("Data tidak ditemukan", vbInformation, "Cari Data")
Else
Me.TABELDATA.RowSource = "CARISETORAN!A5:H" & iRow
End If
Me.TXTJUMLAH.value = Me.TABELDATA.ListCount
Me.lbltotalnama.Caption = "Total Setoran " & Format(Sheet3.Range("N4").value, "Rp #,###")
CMDPRINT.Visible = True
Exit Sub
Salah:
Call MsgBox("Maaf Data tidak ditemukan", vbInformation, "Cari Data")
Sheet1.Protect "1", userinterfaceonly:=True
End Sub
Private Sub CMDDELETE_Click()
Application.ScreenUpdating = False
Dim UpdateSaldo As Object
Set UpdateSaldo = Sheet2.Range("B4:B1000000").Find(What:=Me.CBNISN.value, LookIn:=xlValues)
If Me.TXTIDTRANSAKSI.value = "" Then
Call MsgBox("Pilih data pada tabel data", vbInformation, "Hapus Data")
Else
'Membuat pesan konfirmasi hapus data
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
Sheet4.Select
UpdateSaldo.Offset(0, 7).value = UpdateSaldo.Offset(0, 7).value - Me.TXTSETOR.value
Selection.EntireRow.Delete
Call MsgBox("Data berhasil dihapus", vbInformation, "Hapus Data")
Me.TXTIDTRANSAKSI.value = ""
Me.TXTTANGGAL.value = ""
Me.CBNISN.value = ""
Me.TXTNAMASISWA.value = ""
Me.TXTKELAS.value = ""
Me.TXTKEPERLUAN.value = ""
Me.TXTSETORAN.value = ""
Me.TXTSALDO.value = ""
Me.TOTALSALDO.value = ""
Call AmbilData
Sheet1.Select
End If
Sheet4.Range("M3").value = "=SUM($H$5:$H$1000000)"
Me.lbltotalnama.Caption = "Total Setoran " & Format(Sheet1.Range("AB15").value, "Rp #,###")
Sheet1.Protect "1", userinterfaceonly:=True
End Sub
Private Sub cmdprint_Click()
Dim cetak As Variant
cetak = MsgBox("Apakah anda yakin ingin mencetak?", vbQuestion + vbYesNo, "Cetak Laporan")
If cetak = vbYes Then
Sheet3.Select
'===proses cetak
ActiveWindow.SelectedSheets.PrintOut from:=1, To:=100000, Copies:=1
With Sheet3.PageSetup
.Orientation = xlPortrait
.LeftMargin = Application.CentimetersToPoints(0.5)
.RightMargin = Application.CentimetersToPoints(0.5)
.TopMargin = Application.CentimetersToPoints(2)
.BottomMargin = Application.CentimetersToPoints(2)
.Zoom = 90
.PrintTitleRows = "$1:$4"
.PrintArea = "$A:$H"
End With
With Sheet3
.Columns(1).ColumnWidth = 5 'nomor
.Columns(2).ColumnWidth = 14.5 'kode transaksi
.Columns(3).ColumnWidth = 11.5 'tanggal transaksi
.Columns(4).ColumnWidth = 6.5 'nisn
.Columns(5).ColumnWidth = 17 'nama santri
.Columns(6).ColumnWidth = 8.5 'kelas
.Columns(7).ColumnWidth = 22 'keterangan
.Columns(8).ColumnWidth = 17 'setoran
End With
Sheet1.Select
MsgBox "Laporan berhasil dicetak", vbInformation, "Hasil Cetak"
End If
Sheet1.Protect "1", userinterfaceonly:=True
End Sub
Private Sub CMDRESET_Click()
Me.TXTIDTRANSAKSI.value = ""
Me.TXTTANGGAL.value = ""
Me.CBNISN.value = ""
Me.TXTNAMASISWA.value = ""
Me.TXTKELAS.value = ""
Me.TXTKEPERLUAN.value = ""
Me.TXTSETORAN.value = ""
Me.TXTSALDO.value = ""
Me.TOTALSALDO.value = ""
Me.TXTSETOR.value = ""
Me.CBKRITERIA.value = ""
Me.TXTCARI.value = ""
Me.CMDADD.Enabled = True
Me.CMDBARU.Enabled = True
Call AmbilData
Me.lbltotalnama.Caption = "Total Setoran " & Format(Sheet1.Range("AB15").value, "Rp #,###")
Sheet1.Protect "1", userinterfaceonly:=True
End Sub
Private Sub CMDUPDATE_Click()
Application.ScreenUpdating = False
'Perintah membuat Sumber data yang diubah
Dim UBAHDATA As Object
Dim UpdateSaldo As Object
Set UBAHDATA = Sheet4.Range("B5:B1000000").Find(What:=Me.TXTIDTRANSAKSI.value, LookIn:=xlValues)
Set UpdateSaldo = Sheet2.Range("B5:B1000000").Find(What:=Me.CBNISN.value, LookIn:=xlValues)
'Perintah mengecek apakah ada data yang diubah
If Me.TXTIDTRANSAKSI.value = "" Then
Call MsgBox("Untuk mengubah Data, Pilih data terlebih dahulu", vbInformation, "Ubah Data")
Else
'Perintah mengubah data dari kolom pertama
UBAHDATA.Offset(0, 1).value = Format(Me.TXTTANGGAL.value, "mm/dd/yyyy")
UBAHDATA.Offset(0, 5).value = Me.TXTKEPERLUAN.value
UBAHDATA.Offset(0, 6).value = Me.TXTSETORAN.value
UpdateSaldo.Offset(0, 7).value = Me.TOTALSALDO.value
'Perintah memunculkan pesan bahwa data berhasil diubah
Call MsgBox("Data berhasil diubah", vbInformation, "Ubah Data")
'Perintah membersihkan textbox
Me.TXTIDTRANSAKSI.value = ""
Me.TXTTANGGAL.value = ""
Me.CBNISN.value = ""
Me.TXTNAMASISWA.value = ""
Me.TXTKELAS.value = ""
Me.TXTKEPERLUAN.value = ""
Me.TXTSETORAN.value = ""
Me.TXTSALDO.value = ""
Me.TOTALSALDO.value = ""
Call AmbilData
Sheet1.Select
End If
Me.lbltotalnama.Caption = "Total Setoran " & Format(Sheet1.Range("AB15").value, "Rp #,###")
Sheet1.Protect "1", userinterfaceonly:=True
End Sub
Private Sub gambartgl_Click()
Dim dateVariable As Date
dateVariable = CalendarForm.GetDate
If dateVariable <> 0 Then TXTTANGGAL = Format(dateVariable, "dd/mm/yyyy")
End Sub
Private Sub printtabungan_Click()
Dim baris As Byte
Dim cetak As Variant
Application.ScreenUpdating = False
Me.TABELDATA.value = ""
If Me.cbnomorbaris.value = "" Or Me.TXTIDTRANSAKSI.value = "" Then
Call MsgBox("Masukkan nomor baris dahulu baru Pilih data yang akan dicetak !", vbInformation, "Cetak Tabungan")
Else
cetak = MsgBox("Pastikan buku bank, sudah dimasukkan di printer !" + vbCrLf + _
"Apakah anda ingin melanjutkan cetak??", vbQuestion + vbYesNo, "Cetak Buku Tabungan")
If cetak = vbYes Then
Sheet12.Range("areacetaktabungan").ClearContents
Sheet4.Select
Call cetaktabungansetoran
'########################################
'===proses cetak di buku tabungan
ActiveWindow.SelectedSheets.PrintOut from:=1, To:=1, Copies:=1
With Sheet12.PageSetup
.Orientation = xlPortrait
.LeftMargin = Application.CentimetersToPoints(0)
.RightMargin = Application.CentimetersToPoints(0.2)
.TopMargin = Application.CentimetersToPoints(1.3)
.BottomMargin = Application.CentimetersToPoints(1.3)
.Zoom = 87
.PrintArea = "$A$2:$G$29"
End With
With Sheet12
.Columns(1).ColumnWidth = 3
.Columns(2).ColumnWidth = 11
.Columns(3).ColumnWidth = 3.43
.Columns(4).ColumnWidth = 14
.Columns(5).ColumnWidth = 14
.Columns(6).ColumnWidth = 14
.Columns(7).ColumnWidth = 4.57
End With
Sheet1.Select
MsgBox "Transaksi Setoran santri berhasil dicetak", vbInformation, "Cetak Setoran"
End If
End If
Sheet1.Protect "1", userinterfaceonly:=True
End Sub
Private Sub TABELDATA_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
On Error GoTo EXCELVBA
Dim SUMBERUBAH, CELLAKTIF As String
Application.ScreenUpdating = False
Me.TXTIDTRANSAKSI.value = Me.TABELDATA.Column(1)
Me.TXTTANGGAL.value = Format(Me.TABELDATA.Column(2), "dd/mm/yyyy")
Me.CBNISN.value = Me.TABELDATA.Column(3)
Me.TXTNAMASISWA.value = Me.TABELDATA.Column(4)
Me.TXTKELAS.value = Me.TABELDATA.Column(5)
Me.TXTKEPERLUAN.value = Me.TABELDATA.Column(6)
Me.TXTSETORAN.value = Me.TABELDATA.Column(7)
Me.TOTALSALDO.value = Me.TXTSALDO.value
Me.TXTSETOR.value = Me.TXTSETORAN.value
Sheet4.Select
SUMBERUBAH = Sheets("SETORAN").Cells(Rows.Count, "B").End(xlUp).Row
Sheets("SETORAN").Range("B5:B" & SUMBERUBAH).Find(What:=Me.TXTIDTRANSAKSI.value, LookIn:=xlValues, LookAt:=xlWhole).Activate
CELLAKTIF = ActiveCell.Row
Sheets("SETORAN").Range("A" & CELLAKTIF & ":H" & CELLAKTIF).Select
Sheet1.Select
Me.CMDADD.Enabled = False
Me.CMDBARU.Enabled = False
Exit Sub
EXCELVBA:
Call MsgBox("Klik 2x pada tabel data", vbInformation, "Pilih Data")
Me.lbltotalnama.Caption = "Total Setoran " & Format(Sheet1.Range("AB15").value, "Rp #,###")
End Sub
Private Sub txtnomorbaris_Change()
Sheets("CETAKTABUNGAN").Range("L7") = txtnomorbaris.value
End Sub
Private Sub TXTSETORAN_Change()
On Error Resume Next
Me.TOTALSALDO.value = Val(Me.TXTSALDO.value) - Val(Me.TXTSETOR.value) + Val(Me.TXTSETORAN.value)
End Sub
Private Sub TXTSETORAN_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
Select Case KeyAscii
Case Asc("0") To Asc("9")
Case Else
KeyAscii = 0
End Select
End Sub
Private Sub UserForm_Activate()
Dim berhenti As Boolean
berhenti = False
Do Until berhenti
lbljam.Caption = " | Pukul : " & Format(Time, "hh:mm:ss") & " WIB"
DoEvents
Loop
End Sub
Private Sub UserForm_Initialize()
lbltg.Caption = Format(Now(), "dddd, dd mmmm yyyy")
Call AmbilNISN
Call AmbilData
With CBKRITERIA
.AddItem "NISN"
.AddItem "Nama Santri"
.AddItem "Kelas"
End With
With cbnomorbaris
.AddItem "1"
.AddItem "2"
.AddItem "3"
.AddItem "4"
.AddItem "5"
.AddItem "6"
.AddItem "7"
.AddItem "8"
.AddItem "9"
.AddItem "10"
.AddItem "11"
.AddItem "12"
.AddItem "13"
.AddItem "14"
.AddItem "15"
.AddItem "16"
.AddItem "17"
.AddItem "18"
.AddItem "19"
.AddItem "20"
.AddItem "21"
.AddItem "22"
.AddItem "23"
.AddItem "24"
.AddItem "25"
.AddItem "26"
.AddItem "27"
.AddItem "28"
End With
If Sheet4.Range("A5").value = "" Then
Me.lbltotalnama.Caption = ""
Else
Me.lbltotalnama.Caption = "Total Setoran " & Format(Sheet1.Range("AB15").value, "Rp #,###")
End If
CMDPRINT.Visible = False
End Sub
Private Sub AmbilNISN()
Dim TData As Long
Dim iRow As Long
Sheet2.Select
iRow = Sheet2.Range("A" & Rows.Count).End(xlUp).Row
TData = Application.WorksheetFunction.CountA(Sheet2.Range("B5:B10000"))
If TData = 0 Then
Me.CBNISN.RowSource = ""
Else
Me.CBNISN.RowSource = "DATASISWA!B5:C" & iRow
End If
End Sub
Private Sub AmbilData()
Application.ScreenUpdating = False
Dim TData As Long
Dim iRow As Long
Sheet4.Select
iRow = Sheet4.Range("A" & Rows.Count).End(xlUp).Row
TData = Application.WorksheetFunction.CountA(Sheet4.Range("B5:B10000"))
If TData = 0 Then
Me.TABELDATA.RowSource = ""
Else
Me.TABELDATA.RowSource = "SETORAN!A5:H" & iRow
Me.TXTJUMLAH.value = Me.TABELDATA.ListCount
End If
Sheet1.Select
End Sub
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
Dim berhenti As Boolean
berhenti = True
Sheet1.Protect "1", userinterfaceonly:=True
Unload Me
End
End Sub
Form Siswa
Option Explicit
Private Sub CDMDDELETE_Click()
Application.ScreenUpdating = False
Me.TABELDATA.value = ""
If Me.TXTNISN.value = "" Then
Call MsgBox("Pilih data pada tabel data", vbInformation, "Hapus Data")
Else
'Membuat pesan konfirmasi hapus data
Select Case MsgBox("Apakah anda akan menghapus Akun Santri tersebut ???" _
& vbCrLf & "Seluruh Data Setoran dan Data Penarikan Santri tersebut juga terhapus" _
, vbYesNo Or vbQuestion Or vbDefaultButton1, "Hapus Data")
Case vbNo
Exit Sub
Case vbYes
Sheet2.Select
Call hapusakun
'Selection.EntireRow.Delete
'Call MsgBox("Data berhasil dihapus", vbInformation, "Hapus Data")
End Select
Sheet2.Select
Me.TXTNISN.value = ""
Me.TXTNAMASISWA.value = ""
Me.CBKELAMIN.value = ""
Me.CBKELAS.value = ""
Me.CBKETERANGAN.value = ""
Me.TXTTAHUN.value = ""
Me.TXTHPORTU.value = ""
Sheet1.Select
End If
If Sheet2.Range("I2").value = 0 Then
Me.lbltotalnama.Caption = ""
Else
Me.lbltotalnama.Caption = "Total Saldo " & Format(Sheet2.Range("I2").value, "Rp #,###")
End If
Sheet1.Protect "1", userinterfaceonly:=True
End Sub
Private Sub CDMRESET_Click()
Me.TXTNISN.value = ""
Me.TXTNAMASISWA.value = ""
Me.CBKELAMIN.value = ""
Me.CBKELAS.value = ""
Me.CBKETERANGAN.value = ""
Me.TXTTAHUN.value = ""
Me.TXTHPORTU.value = ""
Me.CBKRITERIA.value = ""
Me.TXTCARI.value = ""
Call AmbilData
Me.CMDADD.Enabled = True
If Sheet2.Range("I2").value = 0 Then
Me.lbltotalnama.Caption = ""
Else
Me.lbltotalnama.Caption = "Total Saldo " & Format(Sheet2.Range("I2").value, "Rp #,###")
End If
Sheet1.Protect "1", userinterfaceonly:=True
End Sub
Private Sub CMDCARI_Click()
On Error GoTo Salah
Dim iRow As Long
Dim JData As Long
Dim CARI_DATA As Object
Set CARI_DATA = Sheet2
Sheet6.Range("A6").value = "1"
Sheet6.Range("carisiswaisi").Clear
Sheet6.Range("M2").value = Me.CBKRITERIA.value
Sheet6.Range("M3").value = "*" & Me.TXTCARI.value & "*"
CARI_DATA.Range("datasiswajudul").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:= _
Sheet6.Range("M2:M3"), CopyToRange:=Sheet6.Range("A5:I5"), Unique:=False
iRow = Sheet6.Range("A" & Rows.Count).End(xlUp).Row
If Application.WorksheetFunction.CountA(Sheet6.Range("A5:A1000000")) = 0 Then
Me.TABELDATA.RowSource = ""
Call MsgBox("Data tidak ditemukan", vbInformation, "Cari Data")
Else
Me.TABELDATA.RowSource = "CARISISWA!A6:I" & iRow
End If
Me.TXTJUMLAH.value = Me.TABELDATA.ListCount
If Sheet6.Range("I2").value = 0 Then
Me.lbltotalnama.Caption = ""
Else
Me.lbltotalnama.Caption = "Total Saldo " & Format(Sheet6.Range("I2").value, "Rp #,###")
End If
Me.CMDPRINT.Visible = True
Me.CMDPRINTALL.Visible = False
Exit Sub
Salah:
Call MsgBox("Maaf Data tidak ditemukan", vbInformation, "Cari Data")
Sheet1.Protect "1", userinterfaceonly:=True
End Sub
Private Sub cmdprint_Click()
Dim cetak As Variant
cetak = MsgBox("Apakah anda yakin ingin mencetak?", vbQuestion + vbYesNo, "Cetak Laporan")
If cetak = vbYes Then
Sheet6.Select
'===proses cetak
ActiveWindow.SelectedSheets.PrintOut from:=1, To:=1, Copies:=1
With Sheet12.PageSetup
.Orientation = xlPortrait
.LeftMargin = Application.CentimetersToPoints(0.5)
.RightMargin = Application.CentimetersToPoints(0.5)
.TopMargin = Application.CentimetersToPoints(2)
.BottomMargin = Application.CentimetersToPoints(2)
.Zoom = 90
.PrintArea = "$A:$I"
.PrintTitleRows = "$1:$5"
End With
With Sheet12
.Columns(1).ColumnWidth = 4 'nomor
.Columns(2).ColumnWidth = 5 'nisn
.Columns(3).ColumnWidth = 20 'nama santri
.Columns(4).ColumnWidth = 7.5 'kelas
.Columns(5).ColumnWidth = 11 'status aktif
.Columns(6).ColumnWidth = 12.5 'tahun masuk
.Columns(7).ColumnWidth = 16.5 'hp ortu
.Columns(8).ColumnWidth = 17.5 'saldo tabungan
End With
Sheet1.Select
MsgBox "Laporan berhasil dicetak", vbInformation, "Hasil Cetak"
End If
Sheet1.Protect "1", userinterfaceonly:=True
End Sub
Private Sub CMDPRINTALL_Click()
Dim cetak As Variant
cetak = MsgBox("Apakah anda yakin ingin mencetak?", vbQuestion + vbYesNo, "Cetak Laporan")
If cetak = vbYes Then
Sheet2.Select
'===proses cetak
ActiveWindow.SelectedSheets.PrintOut from:=1, To:=100000, Copies:=1
With Sheet12.PageSetup
.Orientation = xlPortrait
.LeftMargin = Application.CentimetersToPoints(0.5)
.RightMargin = Application.CentimetersToPoints(0.5)
.TopMargin = Application.CentimetersToPoints(2)
.BottomMargin = Application.CentimetersToPoints(2)
.Zoom = 90
.PrintArea = "$A:$I"
.PrintTitleRows = "$1:$4"
End With
With Sheet12
.Columns(1).ColumnWidth = 4 'nomor
.Columns(2).ColumnWidth = 5 'nisn
.Columns(3).ColumnWidth = 20 'nama santri
.Columns(4).ColumnWidth = 7.5 'kelas
.Columns(5).ColumnWidth = 11 'status aktif
.Columns(6).ColumnWidth = 12.5 'tahun masuk
.Columns(7).ColumnWidth = 16.5 'hp ortu
.Columns(8).ColumnWidth = 17.5 'saldo tabungan
End With
Sheet1.Select
MsgBox "Laporan berhasil dicetak", vbInformation, "Hasil Cetak"
End If
Sheet1.Protect "1", userinterfaceonly:=True
End Sub
Private Sub CMDUPDATE_Click()
Application.ScreenUpdating = False
Dim baris As String
If Me.TXTNISN.value = "" Then
Call MsgBox("Pilih data terlebih dahulu", vbInformation, "Pilih Data")
Else
Sheet2.Select
baris = ActiveCell.Row
Cells(baris, 2) = Me.TXTNISN.value
Cells(baris, 3) = Me.TXTNAMASISWA.value
Cells(baris, 4) = Me.CBKELAMIN.value
Cells(baris, 5) = Me.CBKELAS.value
Cells(baris, 6) = Me.CBKETERANGAN.value
Cells(baris, 7) = Me.TXTTAHUN.value
Cells(baris, 8) = Me.TXTHPORTU.value
Call MsgBox("Data berhasil di update", vbInformation, "Update Data")
Me.TXTNISN.value = ""
Me.TXTNAMASISWA.value = ""
Me.CBKELAMIN.value = ""
Me.CBKELAS.value = ""
Me.CBKETERANGAN.value = ""
Me.TXTTAHUN.value = ""
Me.TXTHPORTU.value = ""
End If
Sheet1.Select
If Sheet2.Range("I2").value = 0 Then
Me.lbltotalnama.Caption = ""
Else
Me.lbltotalnama.Caption = "Total Saldo " & Format(Sheet2.Range("I2").value, "Rp #,###")
End If
Sheet1.Protect "1", userinterfaceonly:=True
End Sub
Private Sub printtabungandatasantri_Click()
Dim baris As Byte
Dim cetak As Variant
Application.ScreenUpdating = False
Me.TABELDATA.value = ""
If Me.TXTNISN.value = "" Then
Call MsgBox("Pilih Data Santri yang akan dicetak !", vbInformation, "Cetak Tabungan")
Else
cetak = MsgBox("Pastikan buku bank, sudah dimasukkan ke mulut printer !" + vbCrLf + _
"Apakah anda ingin melanjutkan cetak??", vbQuestion + vbYesNo, "Cetak Buku Tabungan")
If cetak = vbYes Then
Sheet14.Range("$B$1:$B$3,$C$6:$C$7,$E$6").ClearContents
Sheet2.Select
Call cetakidentitassantri
'########################################
'===proses cetak di buku tabungan
ActiveWindow.SelectedSheets.PrintOut from:=1, To:=1, Copies:=1
With Sheet14.PageSetup
.Orientation = xlPortrait
.LeftMargin = Application.CentimetersToPoints(1.7)
.RightMargin = Application.CentimetersToPoints(0.2)
.TopMargin = Application.CentimetersToPoints(0)
.BottomMargin = Application.CentimetersToPoints(1.3)
.Zoom = 87
.PrintArea = "$A$1:$E$7"
End With
With Sheet14
.Columns(1).ColumnWidth = 11.14
.Columns(2).ColumnWidth = 11.86
.Columns(3).ColumnWidth = 8.71
.Columns(4).ColumnWidth = 10.71
.Columns(5).ColumnWidth = 18
End With
Sheet1.Select
MsgBox "Identitas santri berhasil dicetak", vbInformation, "Cetak Identitas"
End If
End If
Sheet1.Protect "1", userinterfaceonly:=True
End Sub
Private Sub TABELDATA_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Dim SUMBERUBAH, CELLAKTIF As String
Application.ScreenUpdating = False
On Error GoTo EXCELVBA
Me.TXTNISN.value = Me.TABELDATA.Column(1)
Me.TXTNAMASISWA.value = Me.TABELDATA.Column(2)
Me.CBKELAMIN.value = Me.TABELDATA.Column(3)
Me.CBKELAS.value = Me.TABELDATA.Column(4)
Me.CBKETERANGAN.value = Me.TABELDATA.Column(5)
Me.TXTTAHUN.value = Me.TABELDATA.Column(6)
Me.TXTHPORTU.value = Me.TABELDATA.Column(7)
Sheet2.Select
SUMBERUBAH = Sheets("DATASISWA").Cells(Rows.Count, "B").End(xlUp).Row
Sheets("DATASISWA").Range("B4:B" & SUMBERUBAH).Find(What:=Me.TXTNISN.value, LookIn:=xlValues, LookAt:=xlWhole).Activate
CELLAKTIF = ActiveCell.Row
Sheets("DATASISWA").Range("A" & CELLAKTIF & ":I" & CELLAKTIF).Select
Sheet1.Select
Me.CMDADD.Enabled = False
If Sheet2.Range("I2").value = 0 Then
Me.lbltotalnama.Caption = ""
Else
Me.lbltotalnama.Caption = "Total Saldo " & Format(Sheet2.Range("I2").value, "Rp #,###")
End If
Exit Sub
EXCELVBA:
Call MsgBox("Klik 2x pada tabel data", vbInformation, "Pilih Data")
End Sub
'Private Sub TXTNISN_AfterUpdate()
Sub nisnganda()
Dim DBSISWA As Object
Dim c As Object
If TXTNISN.value = "" Then
MsgBox "Lengkapi data terlebih dahulu", vbInformation, "Data Belum Lengkap"
Else
Set DBSISWA = Sheet2.Range("B1000000").End(xlUp)
With Sheet2.Range("B5:B1000000")
Set c = .Find(TXTNISN.value, LookIn:=xlValues)
If c Is Nothing Then
Exit Sub
Else
MsgBox "NISN Sudah ada, silahkan ganti yang lainnya", vbOKOnly + vbCritical, "NISN Ganda"
TXTNISN.value = ""
End If
End With
End If
'
'If Application.CountIf(Range("B5:B100000"), TXTNISN) > 0 Then
'MsgBox "NISN Sudah ada, silahkan ganti yang lainnya", vbOKOnly + vbCritical, "NISN Ganda"
'TXTNISN.SetFocus
'End If
End Sub
Private Sub TXTHPORTU_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
Select Case KeyAscii
Case Asc("0") To Asc("9")
Case Else
KeyAscii = 0
End Select
End Sub
Private Sub TXTNISN_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
Select Case KeyAscii
Case Asc("0") To Asc("9")
Case Else
KeyAscii = 0
End Select
End Sub
Private Sub TXTTAHUN_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
Select Case KeyAscii
Case Asc("0") To Asc("9")
Case Else
KeyAscii = 0
End Select
End Sub
Private Sub UserForm_Activate()
Dim berhenti As Boolean
berhenti = False
Do Until berhenti
lbljam.Caption = " | Pukul : " & Format(Time, "hh:mm:ss") & " WIB"
DoEvents
Loop
End Sub
Private Sub UserForm_Initialize()
Me.CMDPRINT.Visible = False
lbltg.Caption = Format(Now(), "dddd, dd mmmm yyyy")
Call AmbilData
With CBKELAMIN
.AddItem "Laki - Laki"
.AddItem "Perempuan"
End With
With CBKELAS
.AddItem "Kelas 7"
.AddItem "Kelas 8"
.AddItem "Kelas 9"
.AddItem "Kelas 10"
.AddItem "Kelas 11"
.AddItem "Kelas 12"
End With
With CBKETERANGAN
.AddItem "Aktif"
.AddItem "Non-Aktif"
End With
With CBKRITERIA
.AddItem "NISN"
.AddItem "Nama Santri"
.AddItem "Jenis Kelamin"
.AddItem "Kelas"
.AddItem "Status"
.AddItem "Tahun Masuk"
End With
TXTNISN.SetFocus
If Sheet2.Range("I2").value = 0 Then
Me.lbltotalnama.Caption = ""
Else
Me.lbltotalnama.Caption = "Total Saldo " & Format(Sheet2.Range("I2").value, "Rp #,###")
End If
TABELDATA.ColumnWidths = "30,40,125,80,50,50,70,80,100"
End Sub
Private Sub AmbilData()
Dim TData As Long
Dim iRow As Long
iRow = Sheet2.Range("A" & Rows.Count).End(xlUp).Row
TData = Application.WorksheetFunction.CountA(Sheet2.Range("B5:B1000000"))
If TData = 0 Then
Me.TABELDATA.RowSource = ""
Else
Me.TABELDATA.RowSource = "DATASISWA!A5:I" & iRow
End If
Me.TXTJUMLAH.value = Me.TABELDATA.ListCount
End Sub
Private Sub CMDADD_Click()
Dim DBSISWA As Object
Call nisnganda
Set DBSISWA = Sheet2.Range("B1000000").End(xlUp)
If Me.TXTNISN.value = "" _
Or Me.TXTNAMASISWA.value = "" _
Or Me.CBKELAMIN.value = "" _
Or Me.CBKELAS.value = "" _
Or Me.CBKETERANGAN.value = "" _
Or Me.TXTTAHUN.value = "" _
Or Me.TXTHPORTU.value = "" Then
Call MsgBox("Isi data santri masuk dengan lengkap", vbInformation, "Santri Masuk")
Else
DBSISWA.Offset(1, -1).value = "=ROW()-ROW(DATASISWA!$A$4)"
DBSISWA.Offset(1, 0).value = Me.TXTNISN.value
DBSISWA.Offset(1, 1).value = Me.TXTNAMASISWA.value
DBSISWA.Offset(1, 2).value = Me.CBKELAMIN.value
DBSISWA.Offset(1, 3).value = Me.CBKELAS.value
DBSISWA.Offset(1, 4).value = Me.CBKETERANGAN.value
DBSISWA.Offset(1, 5).value = Me.TXTTAHUN.value
DBSISWA.Offset(1, 6).value = Me.TXTHPORTU.value
Call AmbilData
Call MsgBox("Data santri telah disimpan", vbInformation, "Santri Masuk")
Me.TXTNISN.value = ""
Me.TXTNAMASISWA.value = ""
Me.CBKELAMIN.value = ""
Me.CBKELAS.value = ""
Me.CBKETERANGAN.value = ""
Me.TXTTAHUN.value = ""
Me.TXTHPORTU.value = ""
End If
If Sheet2.Range("I2").value = 0 Then
Me.lbltotalnama.Caption = ""
Else
Me.lbltotalnama.Caption = "Total Saldo " & Format(Sheet2.Range("I2").value, "Rp #,###")
End If
Sheet1.Protect "1", userinterfaceonly:=True
End Sub
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
Dim berhenti As Boolean
berhenti = True
Unload Me
End
End Sub
Senin, 08 November 2021
Resize Melompat
Sub test()
Range("B3:C3").Select
Selection.Offset(2, 2).Resize(Selection.Rows.Count + 2, Selection.Columns.Count + 1).Select
End Sub
Resize
Sub tess()
Range("B3:C3").Select
Selection.Resize(Selection.Rows.Count + 5, Selection.Columns.Count).Select
End Sub
Cell paling awal dan ujung cell yang terakhir
Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select
Baris awal di bawah judul (Baris kosong pertama di database)
aku = Sheet1.Cells(Rows.Count, 4).End(xlUp).Offset(1, 0).Row
Range("D" & aku).Select
Ukuran Lebar dan Tinggi Cell
Sub tess() ActiveCell.EntireColumn.ColumnWidth = 12 ActiveCell.EntireRow.RowHeight = 35 End Sub
Hide-Unhide Sheet
Sub tess() Sheet1.Visible = 1 ' angka 2 hide ' angka 1 unhide ' true 'false End Sub
Senin, 01 November 2021
Pencarian : Filter NISN dan Siswa copy -Setoran
Private Sub CMDCARI_Click()
On Error GoTo Salah
Dim iRow As Long
Dim JData As Long
Dim CARI_DATA As Object
Set CARI_DATA = Sheet2
Sheet6.Range("K4").Value = Me.CBKRITERIA.Value
Sheet6.Range("K5").Value = "*" & Me.TXTCARI.Value & "*"
CARI_DATA.Range("A4").CurrentRegion.AdvancedFilter Action:=xlFilterCopy, CriteriaRange:= _
Sheet6.Range("K4:K5"), CopyToRange:=Sheet6.Range("A4:I4"), Unique:=False
iRow = Sheet6.Range("A" & Rows.Count).End(xlUp).Row
If Application.WorksheetFunction.CountA(Sheet6.Range("A5:A60000")) = 0 Then
Me.TABELDATA.RowSource = ""
Call MsgBox("Data tidak ditemukan", vbInformation, "Cari Data")
Else
Me.TABELDATA.RowSource = "CARISISWA!A5:I" & iRow
End If
Me.TXTJUMLAH.Value = Me.TABELDATA.ListCount
Exit Sub
Salah:
Call MsgBox("Maaf Data tidak ditemukan", vbInformation, "Cari Data")
End Sub
Pencarian : Filter Copy Tanggal
Private Sub CariSetoran()
On Error GoTo Salah
Dim iRow As Long
Dim JData As Long
Dim CARI_DATA As Object
Set CARI_DATA = Sheet4
Sheet3.Range("I4").Value = "Tanggal"
Sheet3.Range("J4").Value = "Tanggal"
Sheet3.Range("I5").Value = ">=" & Format(Me.TGLAWAL.Value, "MM/DD/YYYY")
Sheet3.Range("J5").Value = "<=" & Format(Me.TGLAKHIR.Value, "MM/DD/YYYY")
CARI_DATA.Range("A4").CurrentRegion.AdvancedFilter Action:=xlFilterCopy, CriteriaRange:= _
Sheet3.Range("I4:J5"), CopyToRange:=Sheet3.Range("A4:G4"), Unique:=False
iRow = Sheet3.Range("A" & Rows.Count).End(xlUp).Row
If Application.WorksheetFunction.CountA(Sheet3.Range("A5:A60000")) = 0 Then
Me.TABELDATA.RowSource = ""
Call MsgBox("Data tidak ditemukan", vbInformation, "Cari Data")
Else
Me.TABELDATA.RowSource = "CARISETORAN!A5:G" & iRow
End If
Exit Sub
Salah:
Call MsgBox("Maaf Data tidak ditemukan", vbInformation, "Cari Data")
Langganan:
Komentar (Atom)
Menghitung USIA Excel
=BYROW(D2:D100; LAMBDA(tanggal_lahir; IF(tanggal_lahir=""; ""; DATEDIF(tanggal_lahir; TODAY(); "y"...
-
Option Explicit Private Sub hasilpencariangabung() Dim gabung As Range Set gabung = Sheet8.Range("A4") gabung.CurrentRegion.Cl...
-
=BYROW(D2:D100; LAMBDA(tanggal_lahir; IF(tanggal_lahir=""; ""; DATEDIF(tanggal_lahir; TODAY(); "y"...
-
=MOD(ROW();2)=1