0% found this document useful (0 votes)
18 views10 pages

Coding Form Utama

This document provides instructions for coding a form in Excel VBA. It describes how to open charts, export them as images, populate form controls with data from sheets, search and filter data, add and delete records, and more.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
18 views10 pages

Coding Form Utama

This document provides instructions for coding a form in Excel VBA. It describes how to open charts, export them as images, populate form controls with data from sheets, search and filter data, add and delete records, and more.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 10

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

EXCEL & VBA TUTORIAL : CODING FORM UTAMA


==================================================================
Option Explicit
Dim GR1, GR2 As Chart
Dim Gambar1, Gambar2 As String
Private Sub BukaGrafik()
On Error GoTo EXCELVBA
Set GR1 = Sheet1.ChartObjects("GRAFIK1").Chart
Set GR2 = Sheet1.ChartObjects("GRAFIK2").Chart

GR1.Parent.Width = 390
GR1.Parent.Height = 174

GR2.Parent.Width = 150
GR2.Parent.Height = 102

Gambar1 = ThisWorkbook.Path & "\" & "mychart1.JPEG"


Gambar2 = ThisWorkbook.Path & "\" & "mychart2.JPEG"

GR1.Export Filename:=Gambar1, Filtername:="JPEG"


GR2.Export Filename:=Gambar2, Filtername:="JPEG"

FORMUTAMA.IMAGE1.Picture = LoadPicture(Gambar1)
FORMUTAMA.IMAGE2.Picture = LoadPicture(Gambar2)

FORMUTAMA.LBTOTAL.Caption = Format(Sheet1.Range("C16").value, "#,###")


FORMUTAMA.LBLAKI.Caption = Format(Sheet1.Range("C17").value, "#,###")
FORMUTAMA.LBPEREMPUAN.Caption = Format(Sheet1.Range("C18").value, "#,###")
FORMUTAMA.LBANAK.Caption = Format(Sheet1.Range("C19").value, "#,###")
FORMUTAMA.LBDEWASA.Caption = Format(Sheet1.Range("C22").value, "#,###")
FORMUTAMA.LBJUMLAH.Caption = Format(Sheet1.Range("H14").value, "#,###")
FORMUTAMA.LBTOTAL1.Caption = Format(Sheet1.Range("C24").value, "#,###")
FORMUTAMA.LBTOTAL2.Caption = Format(Sheet1.Range("C25").value, "#,###")

Exit Sub
EXCELVBA:
Call MsgBox("Klik Ok pesan ini, pastikan anda tidak membuka file excel lain",
vbInformation, "File Excel Salah")

End Sub

Private Sub CMDADD2_Click()


FORMDOKTER.Show
End Sub

Private Sub CMDBATAL_Click()


Me.TXTNORM.value = ""
Me.TXTKATEGORI.value = ""
Me.TXTNAMA.value = ""
Me.TXTJENISKELAMIN.value = ""
Me.TXTPERNIKAHAN.value = ""
Me.TXTTANGGALLAHIR.value = ""
Me.TXTUSIA.value = ""
Me.TXTOBAT.value = ""
Me.TXTNORM.SetFocus
Call AmbilRM

End Sub

Private Sub CMDBUKASHEET_Click()


Application.Visible = True
Unload Me
End Sub

Private Sub CMDCARI2_Click()


On Error GoTo Salah
Dim irow As Long
Dim Cari_Data As Object
Set Cari_Data = Sheet4
Me.TABELDATA.value = ""
Me.TABELDATA2.value = ""
Me.TABELDATA3.value = ""
Me.TXTNOMOR.value = ""
Me.TXTNOMOR2.value = ""
Me.TXTNOMOR3.value = ""
Sheet6.Range("H5").value = Me.CBBERDASARKAN1.value
Sheet6.Range("H6").value = Me.TXTKATAKUNCI1.value
Cari_Data.Range("A5").CurrentRegion.AdvancedFilter Action:=xlFilterCopy,
CriteriaRange:= _
Sheet6.Range("H5:H6"), CopyToRange:=Sheet6.Range("A5:F5"), Unique:=False
Call HasilDokter
Exit Sub
Salah:
Call MsgBox("Maaf Data tidak ditemukan", vbInformation, "Cari Data")

End Sub
Private Sub HasilDokter()
Dim DBDOKTER As Long
Dim irow As Long
irow = Sheet6.Range("A" & Rows.Count).End(xlUp).Row
DBDOKTER = Application.WorksheetFunction.CountA(Sheet6.Range("A6:A100000"))
If DBDOKTER = 0 Then
Me.TABELDATA2.RowSource = ""
Else
Me.TABELDATA2.RowSource = "CARIDOKTER!A6:F" & irow
End If
End Sub

Private Sub CMDCARI3_Click()


On Error GoTo Salah
Dim irow As Long
Dim Cari_Data As Object
Set Cari_Data = Sheet5
Me.TABELDATA.value = ""
Me.TABELDATA2.value = ""
Me.TABELDATA3.value = ""
Me.TXTNOMOR.value = ""
Me.TXTNOMOR2.value = ""
Me.TXTNOMOR3.value = ""
Sheet9.Range("P6").value = Me.CBBERDASARKAN2.value
Sheet9.Range("P6").value = Me.TXTKATAKUNCI2.value
Cari_Data.Range("A5").CurrentRegion.AdvancedFilter Action:=xlFilterCopy,
CriteriaRange:= _
Sheet9.Range("P5:P6"), CopyToRange:=Sheet9.Range("A5:N5"), Unique:=False
Call HASILRM1
Exit Sub
Salah:
Call MsgBox("Maaf Data tidak ditemukan", vbInformation, "Cari Data")
End Sub

Private Sub CMDCETAK_Click()


If Me.TXTNORM.value = "" Then
Call MsgBox("Harap Scan atau masukkan terlebih dahulu No Rekam Medis",
vbInformation, "Cetak Data")
Else
Sheet2.Range("C6").value = FORMUTAMA.TXTNORM.value
Select Case MsgBox("Anda akan mencetak rekam medis" _
& vbCrLf & "Apakah anda yakin?" _
, vbYesNo Or vbQuestion Or vbDefaultButton1, "Cetak Rakam Medis")
Case vbNo
Exit Sub
Case vbYes
End Select
Sheet2.PrintOut
End If

End Sub

Private Sub CMDDELETE2_Click()


If Me.TXTNOMOR2.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
Me.TABELDATA2.value = ""
Me.TXTNOMOR2.value = ""
Sheet4.Select
Selection.EntireRow.Delete
Call MsgBox("Data berhasil dihapus", vbInformation, "Hapus Data")
Sheet1.Select
End If

End Sub

Private Sub CMDDELETE3_Click()

End Sub

Private Sub CMDDOKTER_Click()


Me.MultiPage1.value = 2
End Sub

Private Sub CMDEDIT2_Click()


On Error GoTo EXCELVBA
With FORMDOKTER
.TXTNAMA.value = Me.TABELDATA2.Column(1)
.CBSPESIAL.value = Me.TABELDATA2.Column(2)
.TXTALAMAT.value = Me.TABELDATA2.Column(3)
.TXTTELPON.value = Me.TABELDATA2.Column(4)
.TXTEMAIL.value = Me.TABELDATA2.Column(5)
End With
FORMDOKTER.CMDADD.Enabled = False
FORMDOKTER.Show
Exit Sub
EXCELVBA:
Call MsgBox("Pilih data terlebih dahulu pada tabel", vbInformation, "Plih Data")

End Sub

Private Sub CMDEDIT3_Click()


On Error GoTo EXCELVBA
Me.TXTNOMOR3.value = Me.TABELDATA3.value
With FORMREKAMMEDIS
.TXTTANGGALCEK.value = Format(CDate(Me.TABELDATA3.Column(7)), "DD/MM/YYYY")
.CBPOLI.value = Me.TABELDATA3.Column(8)
.TXTKODE.value = Me.TABELDATA3.Column(9)
.CBDOKTER.value = Me.TABELDATA3.Column(10)
.TXTANAMNESA.value = Me.TABELDATA3.Column(11)
.TXTDIAGNOSA.value = Me.TABELDATA3.Column(12)
.TXTTERAPI.value = Me.TABELDATA3.Column(13)
.CMDADD.Enabled = False
End With
FORMREKAMMEDIS.Show
Exit Sub
EXCELVBA:
Call MsgBox("Pilih data pada tabel data", vbInformation, "Pilih Data")

End Sub

Private Sub CMDEXIT_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
Application.Visible = True
Unload Me
ThisWorkbook.Close
End Sub

Private Sub CMDHOME_Click()


Me.MultiPage1.value = 0
End Sub

Private Sub CMDPASIEN_Click()


Me.MultiPage1.value = 1
End Sub

Private Sub CMDREKAM_Click()


If Me.TXTNORM.value = "" _
Or Me.TXTNAMA.value = "" Then
Call MsgBox("Harap isi terlebih dahulu data pasien", vbInformation, "Data pasien")
Me.TXTNORM.SetFocus
Else
FORMREKAMMEDIS.Show
End If
End Sub

Private Sub CMDREKAMMEDIS_Click()


Me.MultiPage1.value = 3
Me.TXTNORM.SetFocus
End Sub

Private Sub CMDRESET_Click()


Me.CBBERDASARKAN.value = ""
Me.TXTKATAKUNCI.value = ""
Me.TABELDATA.value = ""
Me.TXTNOMOR.value = ""
Call AmbilData
End Sub

Private Sub CMDRESET2_Click()


Me.CBBERDASARKAN1.value = ""
Me.TXTKATAKUNCI1.value = ""
Me.TABELDATA2.value = ""
Me.TXTNOMOR2.value = ""
Call AmbilDokter
End Sub

Private Sub CommandButton4_Click()

End Sub

Private Sub CMDRESET3_Click()


Me.TXTNORM.value = ""
Me.TXTKATEGORI.value = ""
Me.TXTNAMA.value = ""
Me.TXTJENISKELAMIN.value = ""
Me.TXTPERNIKAHAN.value = ""
Me.TXTTANGGALLAHIR.value = ""
Me.TXTUSIA.value = ""
Me.TXTOBAT.value = ""
Me.CBBERDASARKAN2.value = ""
Me.TXTKATAKUNCI2.value = ""
Me.TXTNOMOR3.value = ""
Me.TABELDATA3.value = ""

Me.TXTNORM.SetFocus
Call AmbilRM

End Sub

Private Sub CMDSAVE_Click()


ThisWorkbook.Save
End Sub

Private Sub TABELDATA2_Click()


On Error GoTo EXCELVBA
Dim SumberData, CELLAKTIF As Long
Me.TXTNOMOR2.value = Me.TABELDATA2.value
'Perintah Untuk Mengaktifkan Baris Data Yang Dipilih
Sheet4.Select
SumberData = Sheets("DATADOKTER").Cells(Rows.Count, "A").End(xlUp).Row
Sheets("DATADOKTER").Range("A5:A" & SumberData).Find(What:=Me.TXTNOMOR2.value,
LookIn:=xlValues, lookat:=xlWhole).Activate
CELLAKTIF = ActiveCell.Row
Sheet1.Select
Exit Sub
EXCELVBA:
Call MsgBox("Pilih data pada tabel data", vbInformation, "Pilih Data")

End Sub

Private Sub TABELDATA3_Click()


Dim SumberData, CELLAKTIF As Long
Me.TXTNOMOR3.value = Me.TABELDATA3.value
'Perintah Untuk Mengaktifkan Baris Data Yang Dipilih
Sheet5.Select
SumberData = Sheets("REKAMMEDIS").Cells(Rows.Count, "A").End(xlUp).Row
Sheets("REKAMMEDIS").Range("A5:A" & SumberData).Find(What:=Me.TXTNOMOR3.value,
LookIn:=xlValues, lookat:=xlWhole).Activate
CELLAKTIF = ActiveCell.Row
Sheet5.Select

End Sub
Private Sub TXTNORM_AfterUpdate()
On Error GoTo EXCELVBA
Dim DBPASIEN As Object
Set DBPASIEN = Sheet3.Range("B6:B1000000").Find(What:=Me.TXTNORM.value,
LookIn:=xlValues)
Me.TABELDATA.value = ""
Me.TABELDATA2.value = ""
Me.TABELDATA3.value = ""
Me.TXTNOMOR.value = ""
Me.TXTNOMOR2.value = ""
Me.TXTNOMOR3.value = ""

Me.TXTKATEGORI.value = DBPASIEN.Offset(0, 1).value


Me.TXTNAMA.value = DBPASIEN.Offset(0, 2).value
Me.TXTJENISKELAMIN.value = DBPASIEN.Offset(0, 3).value
Me.TXTPERNIKAHAN.value = DBPASIEN.Offset(0, 4).value
Me.TXTTANGGALLAHIR.value = DBPASIEN.Offset(0, 5).value
Me.TXTUSIA.value = DBPASIEN.Offset(0, 6).value
Me.TXTOBAT.value = DBPASIEN.Offset(0, 10).value
Sheet2.Range("C6").value = Me.TXTNORM.value
Call CARIRM
Exit Sub
EXCELVBA:
Call MsgBox("Maaf, Nomor Rekam Medis belum terdaftar", vbInformation, "No RM
Salah")
Me.TXTNORM.value = ""

End Sub
Private Sub UserForm_Initialize()
Me.BackColor = RGB(245, 246, 250)
Me.Frame4.BackColor = RGB(245, 246, 250)
Me.Frame5.BackColor = RGB(245, 246, 250)
Me.MultiPage1.value = 0
With CBBERDASARKAN
.AddItem "No Rekam Medis"
.AddItem "Nama Pasien"
.AddItem "Status"
.AddItem "Usia"
.AddItem "Jenis Kelamin"
End With
With CBBERDASARKAN1
.AddItem "Nama Dokter"
.AddItem "Spesialisasi"
.AddItem "Alamat"
End With
With CBBERDASARKAN2
.AddItem "No Rekam Medis"
.AddItem "Nama Pasien"
End With
Call AmbilData
Call AmbilDokter
Call AmbilRM
Call BukaGrafik
End Sub
Private Sub CMDADD_Click()
FORMPASIEN.CMDUPDATE.Enabled = False
FORMPASIEN.Show
End Sub

Private Sub CMDCARI_Click()


On Error GoTo Salah
Dim irow As Long
Dim Cari_Data As Object
Set Cari_Data = Sheet3
Me.TABELDATA.value = ""
Me.TABELDATA2.value = ""
Me.TABELDATA3.value = ""
Me.TXTNOMOR.value = ""
Me.TXTNOMOR2.value = ""
Me.TXTNOMOR3.value = ""
Sheet7.Range("P5").value = Me.CBBERDASARKAN.value
Sheet7.Range("P6").value = Me.TXTKATAKUNCI.value
Cari_Data.Range("A5").CurrentRegion.AdvancedFilter Action:=xlFilterCopy,
CriteriaRange:= _
Sheet7.Range("P5:P6"), CopyToRange:=Sheet7.Range("A5:N5"), Unique:=False
Call Hasilcari
Exit Sub
Salah:
Call MsgBox("Maaf Data tidak ditemukan", vbInformation, "Cari Data")
End Sub
Private Sub Hasilcari()
Dim DBPASIEN As Long
Dim irow As Long
irow = Sheet7.Range("A" & Rows.Count).End(xlUp).Row
DBPASIEN = Application.WorksheetFunction.CountA(Sheet7.Range("A6:A100000"))
If DBPASIEN = 0 Then
Me.TABELDATA.RowSource = ""
Else
Me.TABELDATA.RowSource = "CARIPASIEN!A6:N" & irow
End If
End Sub
Private Sub TABELDATA_Click()
On Error GoTo EXCELVBA
Dim SumberData, CELLAKTIF As Long
Me.TXTNOMOR.value = Me.TABELDATA.value
'Perintah Untuk Mengaktifkan Baris Data Yang Dipilih
Sheet3.Select
SumberData = Sheets("DATAPASIEN").Cells(Rows.Count, "A").End(xlUp).Row
Sheets("DATAPASIEN").Range("A6:A" & SumberData).Find(What:=Me.TXTNOMOR.value,
LookIn:=xlValues, lookat:=xlWhole).Activate
CELLAKTIF = ActiveCell.Row
Sheet1.Select
Exit Sub
EXCELVBA:
Call MsgBox("Pilih data pada tabel data", vbInformation, "Pilih Data")
End Sub
Private Sub AmbilData()
Dim DBPASIEN As Long
Dim irow As Long
irow = Sheet3.Range("A" & Rows.Count).End(xlUp).Row
DBPASIEN = Application.WorksheetFunction.CountA(Sheet3.Range("A6:A100000"))
If DBPASIEN = 0 Then
Me.TABELDATA.RowSource = ""
Else
Me.TABELDATA.RowSource = "DATAPASIEN!A6:N" & irow
End If
End Sub

Private Sub CMDDELETE_Click()


If Me.TXTNOMOR.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
Me.TABELDATA.value = ""
Me.TXTNOMOR.value = ""
Sheet3.Select
Sheet3.Select
Selection.EntireRow.Delete
Sheet1.Select
Call AmbilData
Call BukaGrafik

Call MsgBox("Data berhasil dihapus", vbInformation, "Hapus Data")

End If

End Sub

Private Sub CMDEDIT_Click()


Dim SumberUbah, CELLAKTIF As Long
On Error GoTo EXCELVBA
With FORMPASIEN
.TXTNORM.value = Me.TABELDATA.Column(1)
.CBSTATUS.value = Me.TABELDATA.Column(2)
.TXTNAMA.value = Me.TABELDATA.Column(3)
.CBJENISKELAMIN.value = Me.TABELDATA.Column(4)
.CBPERNIKAHAN.value = Me.TABELDATA.Column(5)
.TXTTANGGALLAHIR.value = Format(Me.TABELDATA.Column(6), "DD/MM/YYYY")
.TXTUSIA.value = Me.TABELDATA.Column(7)
.CBPEKERJAAN.value = Me.TABELDATA.Column(8)
.TXTKTP.value = Me.TABELDATA.Column(9)
.TXTJKN.value = Me.TABELDATA.Column(10)
.TXTALERGI.value = Me.TABELDATA.Column(11)
.CBPASIEN.value = Me.TABELDATA.Column(12)
.TXTALAMAT.value = Me.TABELDATA.Column(13)
End With
FORMPASIEN.CMDCEKNOMOR.Enabled = False
FORMPASIEN.CMDADD.Enabled = False
FORMPASIEN.CMDUPDATE.Enabled = True

FORMPASIEN.Show
Exit Sub
EXCELVBA:
Call MsgBox("Pilih data terlebih dahulu pada tabel", vbInformation, "Plih Data")

End Sub

Private Sub CMDUPDATE_Click()


Call AmbilData
Me.CBBERDASARKAN.value = ""
Me.TXTKATAKUNCI.value = ""
End Sub
Private Sub AmbilDokter()
Dim DBPASIEN As Long
Dim irow As Long
irow = Sheet4.Range("A" & Rows.Count).End(xlUp).Row
DBPASIEN = Application.WorksheetFunction.CountA(Sheet4.Range("A6:A100000"))
If DBPASIEN = 0 Then
FORMUTAMA.TABELDATA2.RowSource = ""
Else
FORMUTAMA.TABELDATA2.RowSource = "DATADOKTER!A6:N" & irow
End If
End Sub
Private Sub AmbilRM()
Dim DBRM As Long
Dim irow As Long
irow = Sheet5.Range("A" & Rows.Count).End(xlUp).Row
DBRM = Application.WorksheetFunction.CountA(Sheet5.Range("A6:A100000"))
If DBRM = 0 Then
FORMUTAMA.TABELDATA3.RowSource = ""
Else
FORMUTAMA.TABELDATA3.RowSource = "REKAMMEDIS!A6:N" & irow
End If
End Sub

Private Sub CARIRM()


On Error GoTo Salah
Dim irow As Long
Dim Cari_Data As Object
Set Cari_Data = Sheet5
Sheet9.Range("P5").value = "No Rekam Medis"
Sheet9.Range("P6").value = Me.TXTNORM.value
Cari_Data.Range("A5").CurrentRegion.AdvancedFilter Action:=xlFilterCopy,
CriteriaRange:= _
Sheet9.Range("P5:P6"), CopyToRange:=Sheet9.Range("A5:N5"), Unique:=False
Call HASILRM
Exit Sub
Salah:
Call MsgBox("Maaf Data tidak ditemukan", vbInformation, "Cari Data")

End Sub
Private Sub HASILRM()
Dim DBREKAP As Long
Dim irow As Long
irow = Sheet9.Range("A" & Rows.Count).End(xlUp).Row
DBREKAP = Application.WorksheetFunction.CountA(Sheet9.Range("A6:A100000"))
If DBREKAP = 0 Then
Me.TABELDATA3.RowSource = ""
Call MsgBox("Pasien ini belum memiliki riwayat rekam medis", vbInformation, "Rekam
Medis")

Else
Me.TABELDATA3.RowSource = "REKAPRM!A6:N" & irow
End If
End Sub
Private Sub HASILRM1()
Dim DBREKAP As Long
Dim irow As Long
irow = Sheet9.Range("A" & Rows.Count).End(xlUp).Row
DBREKAP = Application.WorksheetFunction.CountA(Sheet9.Range("A6:A100000"))
If DBREKAP = 0 Then
Me.TABELDATA3.RowSource = ""
Call MsgBox("Pasien ini belum memiliki riwayat rekam medis", vbInformation, "Rekam
Medis")

Else
Me.TABELDATA3.RowSource = "REKAPRM!A6:N" & irow
End If
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