Private Sub SIMPAN_Click()
Dim DataSurat As Object
Dim i As Long
Set DataSurat = Sheet2.Range("A20000").End(xlUp)
If Me.NAMA.Value = "" _
Or Me.NIM.Value = "" _
Or Me.FAKULTAS.Value = "" _
Or Me.JURUSAN.Value = "" _
Or Me.HILANG.Value = "" _
Or Me.RUSAK.Value = "" Then
Call MsgBox("Isi semua data surat terlebih dahulu", vbInformation, "Data Surat")
Else
DataSurat.Offset(1, 0).Value = Me.NAMA.Value
DataSurat.Offset(1, 1).Value = Me.NIM.Value
DataSurat.Offset(1, 2).Value = Me.FAKULTAS.Value
DataSurat.Offset(1, 3).Value = Me.JURUSAN.Value
DataSurat.Offset(1, 5).Value = Me.HILANG.Value
DataSurat.Offset(1, 6).Value = Me.RUSAK.Value
Call MsgBox("Data Surat telah ditambah", vbInformation, "Data Surat")
Me.NAMA.Value = ""
Me.NIM.Value = ""
Me.FAKULTAS.Value = ""
Me.JURUSAN.Value = ""
Me.HILANG.Value = ""
Me.RUSAK.Value = ""
End If
End Sub
Kode VBA Private Sub SIMPAN_Click() ini digunakan untuk menyimpan data baru dari form ke dalam Sheet2 di Excel. Mari kita bedah fungsinya secara sistematis:
🎯 Tujuan Utama
Menambahkan baris baru berisi data surat ke bagian paling bawah di Sheet2, berdasarkan input yang diisi di UserForm.
🧠 Penjelasan Langkah per Langkah
| Baris Kode | Fungsi |
|---|---|
Private Sub SIMPAN_Click() | Menandai bahwa ini adalah event ketika tombol “SIMPAN” diklik. |
Dim DataSurat As Object | Mendeklarasikan variabel untuk menunjuk lokasi penulisan data. |
Dim i As Long | Tidak digunakan dalam kode, bisa dihapus atau disiapkan untuk pengembangan. |
Set DataSurat = Sheet2.Range("A20000").End(xlUp) | Menemukan baris terakhir yang terisi di kolom A, supaya data baru ditulis tepat di bawahnya. |
If Me.[Field].Value = "" Then | Memastikan semua field pada form terisi. Jika ada yang kosong, tampilkan peringatan. |
Call MsgBox(...) | Pesan kepada user agar mengisi semua data terlebih dahulu. |
Else | Jika semua field terisi, lanjut simpan data: |
DataSurat.Offset(1,0) s.d. (1,6) | Menuliskan data form ke baris berikutnya di Sheet2: Nama, NIM, Fakultas, Jurusan, Hilang, Rusak. |
⚠️ Offset(1,4) | Tidak digunakan. Mungkin kolom ini memang sengaja dikosongkan atau belum ditentukan fungsinya. |
Call MsgBox("Data Surat telah ditambah", ...) | Konfirmasi bahwa data berhasil disimpan. |
Me.[Field].Value = "" | Membersihkan form setelah data disimpan agar siap untuk input baru. |
📌 Fungsi Praktis
Sangat cocok digunakan sebagai form input data surat kehilangan atau kerusakan di lingkungan kampus atau administrasi.
Menjamin data tersimpan berurutan secara otomatis di Sheet2.
Menyederhanakan proses input tanpa menyentuh lembar kerja Excel secara manual.