Merancang Input data siswa dengan excel sepanjang masa
Biasanya file input data siswa kita buat beberapa file
sehingga kadang-kadang kita lupa dimana menyimpan file tersebut. Saya mencoba
membuat tulisan dan mencoba membuat rancangan dalam Microsoft excel untuk input
data siswa yang dapat dipakai terus-menerus tanpa harus ganti file.
Berikut adalah langkah langkah pembuatannya.
Sebelum merancang input data siswa ini saya berharap
teman-teman sudah memahami input data
siswa dalam artikel sebelumnya cara sederhanamembuat form input data
Selanjutnya saya merancang data kenaikan siswa dengan desain
sebagai berikut
aplikasi kenaikan siswa |
Sebelumnya persiapkanlah sebuah sheet untuk menyimpan data
pokok
Data pokok ada dua yaitu data tahun pelajaran dan data kelas
Ini gunanya untuk menampilkan data combobox untuk cara lain
bisa dengan melihat artikel sebelumnya yang berjudul membuat combobox berdasarakan category
Berikut adalah kode macro yang digunakan untuk memfilter
data pada data base siswa berdasarkan tahun ajaran
Perhatikan Properti berikut
No
|
Name
|
Caption
|
Fungsi
|
1
|
Combobox3
|
Untuk menampilkan tahun ajaran
|
|
2
|
Combobox1
|
Untuk menampilkan Kelas
|
|
3
|
Listbox1
|
Untuk menampilkan daftar siswa
|
|
4
|
Command button1
|
Hapus
|
Untuk menghapus nama siswa yang terpilih dalam listbox1
|
5
|
Combobox4
|
Untuk menampilkan tahun ajaran baru
|
|
6
|
Combobox2
|
Untuk menampilkan kelas yang baru
|
Private Sub ComboBox3_Change()
Sheet1.Activate
Range("J1").Value = ComboBox3.Value
Range("a1").CurrentRegion.Select
ActiveSheet.Range("$A$1:$f$8").AutoFilter field:=2,
Criteria1:= _
Sheet1.Range("j1")
Sheet1.Range("A1").CurrentRegion.Select
End sub
Sedangkan untuk memfilter data siswa berdasarkan kelas kode
macronya sebagai berikut
Private Sub ComboBox1_Change()
Sheet1.Activate
Range("k1").Value = ComboBox1.Value
Range("a1").CurrentRegion.Select
ActiveSheet.Range("$A$1:$f$8").AutoFilter field:=5,
Criteria1:= _
Sheet1.Range("k1")
Sheet1.Range("A1").CurrentRegion.Select
Range("a1").CurrentRegion.SpecialCells(xlCellTypeVisible).Copy
Sheet3.Activate
Range("a1").PasteSpecial Paste:=xlPasteValues
Range("1:1").Delete
Range("a1").CurrentRegion.Select
With Selection
.Name = "Naik"
End With
ListBox1.ColumnCount = 5
ListBox1.RowSource = "Naik"
Sheet1.Activate
Selection.AutoFilter
End Sub
Setelah data terfilter dan dicopykan ke dalam sheet yang
baru selanjutnya kita membuang data siswa yang tidak naik
Kode macronya adalah sebagai berikut :
Private Sub CommandButton1_Click()
If Label6.Caption = "" Then
MsgBox "Tentukan dulu yang tidak naik dengan cara klik
daftar siswa"
Exit Sub
End If
Dim Msg, Style, Title, Help, Ctxt, Response, MyString
Msg = "Apakah Nama " & ListBox1.Column(3)
& " Kelas :" & ListBox1.Column(4) & " akan
dihapus?" ' Define message.
Style = vbYesNo + vbCritical + vbDefaultButton2 ' Define buttons.
Title = "MsgBox Demonstration" ' Define title.
Help = "DEMO.HLP" ' Define Help file.
Ctxt = 1000 '
Define topic
' context.
' Display
message.
Response = MsgBox(Msg, Style, Title, Help, Ctxt)
If Response = vbYes Then
' User chose Yes.
MyString =
"Yes"
Selection.EntireRow.Delete
Else ' User chose
No.
MyString =
"No" ' Perform some action.
End If
End Sub
Setelah data beres diolah maka kita akan mengganti tahun
pelajaran dari data siswa tersebut dengan menuliskan kode sebagai berikut :
Private Sub ComboBox4_Change()
Sheet3.Activate
Dim isi As Long
isi = WorksheetFunction.CountA(Range("A:A"))
Range(Cells(1, 2), Cells(isi, 2)).Value = ComboBox4.Value
End Sub
Untuk mengganti kelas baru dari siswa kodenya adalah sebagai
berikut :
Private Sub ComboBox2_Change()
Sheet3.Activate
Dim isi As Long
isi = WorksheetFunction.CountA(Range("A:A"))
Range(Cells(1, 5), Cells(isi, 5)).Value = ComboBox2.Value
End Sub
Setelah data tahun pelajaran baru dan kelas baru dari siswa
tersebut selesai maka kita akan memasukannya lagi kedalam database utama yaitu
dengan menuliskan kode sebagai berikut :
Private Sub CommandButton2_Click()
Sheet3.Activate
Range("a1").CurrentRegion.Copy
Sheet1.Activate
Dim isi As Long
isi = WorksheetFunction.CountA(Range("a:a")) + 1
Cells(isi, 1).PasteSpecial Paste:=xlPasteValues
Dim isilagi As Long
isilagi = WorksheetFunction.CountA(Range("a:a")) +
1
Range(Cells(2, 1), Cells(isilagi - 1, 1)).Select
Selection.Resize(, 1).Formula = "=ROW(1:1)"
End Sub
Itulah cara sederhana agar kita bisa membuat input data
tanpa harus membuat file berulang-ulang atau mengcopy paste file tersebut
sehingga memakan ruangan daripada harddisk.
3 Comments
Tutorialnya keren.."Sepanjang masa" bikin penasaran. hehe
ReplyDeleteUpdate terus gan!
ya mudah-mudahan ini bermanfaat bagi kita semua
ReplyDeleteaamiin..
ReplyDeletePost a Comment