Cara Masukkan/Insert Foto Kedalam Aplikasi Dengan UserForm VBA Excel
Cara Masukkan/Insert Foto Kedalam Aplikasi Dengan Userfrom VBA Excel |
Admin sangat menyarankan bagi yang mempelajari Vba Excel untuk tahap pemula agar membuat berbagai macam file contoh percobaan dengan berbagai kode yang didapatkan.
Dengan membuat file contoh percobaan penerapan kode Vba Excel akan mempercepat memahami dan mengetahui fungsi dan cara kerja kode Vba Excel yang diterapkan pada aplikasi.
Belajar membuat aplikasi itu harus memperbanyak Experiment berdasarkan teori-teori yang ada di internet. Belajar hanya berdasarkan teori saja tanpa membuat file contoh penerapan atau file experiment sedikit kemungkinan dapat menguasai Vba Excel.
Perlu diketahui bahwa foto yang disimpan tidak dalam Database atau dalam workbook excel, Melainkan Aplikasi akan membuat Folder tambahan dimana aplikasi tersebut disimpan di komputer, sehingga database tidak akan meluap sizenya.!!
Langkah-Langkah Insert Foto Dalam Aplikasi Dengan Userform VBA Excel
- Download File Percobaan dibawah
LINK DOWNLOAD TERKUNCI.
Silahkan SHARE untuk membuka kunci!
Silahkan SHARE untuk membuka kunci!
- Buka Excel dan Pilih Developer selanjutnya klik pada Visual Basic.
- Sheet1 ganti nama sheetnya menjadi "DB"
- Rancang Aplikasi seperti yang terlihat pada Gambar berformat gif diatas dan Sesuaikan :
Image :
Image1 dan Image4 (Image1 pada gambar diatas sudah saya tutupi)
Isikan Gambar pada Image1 melalui properties, download Gambar disini
Ganti Caption Label :
Label1 Menjadi NISImage1 dan Image4 (Image1 pada gambar diatas sudah saya tutupi)
Isikan Gambar pada Image1 melalui properties, download Gambar disini
Ganti Caption Label :
Label2 Menjadi NAMA SISWA
Label3 Menjadi KELAS
Label4 Menjadi NAMA WALI
Label5 Menjadi ALAMAT
Label6 Menjadi SIMPAN
Label7 Menjadi RESET
Label8 Menjadi Load Images
Ganti Name Textbox :
Textbox1 Menjadi TxtNis
Textbox2 Menjadi TxtNama
Textbox3 Menjadi TxtKelas
Textbox4 Menjadi TxtWali
Textbox5 Menjadi TxtAlamat
Textbox6 Menjadi TxtLink
Listbox biarkan saja dengan name Listbox1
- Letakkan Kode dibawah ini pada tempatnya yaitu pada UserForm_Activate(). Kode berikut akan membuat folder "Foto" secara otomatis ketika aplikasi dijalankan untuk pertama sekali.
Private Sub UserForm_Activate()
On Error Resume Next
MkDir ThisWorkbook.path & "\" & "Foto" & "\"
On Error GoTo 0
End Sub
On Error Resume Next
MkDir ThisWorkbook.path & "\" & "Foto" & "\"
On Error GoTo 0
End Sub
- Tempatkan Kode dibawah ini pada userform untuk memanggil Gambar Image1 bila tidak terjadi insertfoto.
Sub InsertPhoto()
UserForm1.Image4.Picture = UserForm1.Image1.Picture
End Sub
UserForm1.Image4.Picture = UserForm1.Image1.Picture
End Sub
- Tempatkan Kode dibawah ini di sembarang pada userform untuk menampilkan data pada Listbox. Untuk lebih jelas Pelajari Posting "Tampilkan Data di ListBox di UserForm VBA Excel"
Sub ListData()
With UserForm1.ListBox1
.RowSource = "RDB"
.ColumnCount = "6"
.ColumnWidths = "35, 40, 80, 40, 60"
End With
End Sub
With UserForm1.ListBox1
.RowSource = "RDB"
.ColumnCount = "6"
.ColumnWidths = "35, 40, 80, 40, 60"
End With
End Sub
- Tempatkan Kode dibawah ini pada UserForm_Initialize
Private Sub UserForm_Initialize()
Call InsertPhoto 'Untuk memanggil InserPhoto
Call ListData 'Untuk memanggil Tampilan Listbox
End Sub
Call InsertPhoto 'Untuk memanggil InserPhoto
Call ListData 'Untuk memanggil Tampilan Listbox
End Sub
- Tempatkan Kode pada tombol SIMPAN yang berfungsi untuk menyimpan data dan foto
Private Sub Label6_Click()
Dim iRow As Long
Dim Ws As Worksheet
Dim path As String
Set Ws = Worksheets("DB")
path = ThisWorkbook.path & "\" & "Foto" & "\"
'menemukan Baris Kosong pada data
iRow = Ws.Cells(Rows.Count, 2) _
.End(xlUp).Offset(1, 0).Row
'Ceks Untuk NIS
If Trim(Me.TxtNis.Value) = "" Then
Me.TxtNis.SetFocus
MsgBox "Masukkan NIS Terlebih Dahulu", vbAbortRetryIgnore, "Aplikasi Insert Photo"
Exit Sub
End If
'kode untuk mencegah NIS Ganda
If WorksheetFunction.CountIf(Ws.Range("B3", Ws.Cells(iRow, 2)), Me.TxtNis.Value) > 0 Then
MsgBox "NIS Ganda..!! Lihat Data NIS Terakhir..!!!", vbCritical, "Aplikasi Insert Photo"
Exit Sub
End If
Ws.Cells(iRow, 1).Value = "=Row()-2"
Ws.Cells(iRow, 2).Value = Me.TxtNis.Value
Ws.Cells(iRow, 3).Value = Me.TxtNama.Value
Ws.Cells(iRow, 4).Value = Me.TxtKelas.Value
Ws.Cells(iRow, 5).Value = Me.TxtWali.Value
Ws.Cells(iRow, 6).Value = Me.TxtAlamat.Value
Ws.Cells(iRow, 7).Value = path & UserForm1.TxtNis.Value & ".jpg"
SavePicture UserForm1.Image4.Picture, path & UserForm1.TxtNis.Value & ".jpg"
'panggil ListBox untuk menampilkan data setelah disimpan
Call ListData
'Panggil Reset untuk mengosongkan form isian data
Call Label7_Click
End Sub
Dim iRow As Long
Dim Ws As Worksheet
Dim path As String
Set Ws = Worksheets("DB")
path = ThisWorkbook.path & "\" & "Foto" & "\"
'menemukan Baris Kosong pada data
iRow = Ws.Cells(Rows.Count, 2) _
.End(xlUp).Offset(1, 0).Row
'Ceks Untuk NIS
If Trim(Me.TxtNis.Value) = "" Then
Me.TxtNis.SetFocus
MsgBox "Masukkan NIS Terlebih Dahulu", vbAbortRetryIgnore, "Aplikasi Insert Photo"
Exit Sub
End If
'kode untuk mencegah NIS Ganda
If WorksheetFunction.CountIf(Ws.Range("B3", Ws.Cells(iRow, 2)), Me.TxtNis.Value) > 0 Then
MsgBox "NIS Ganda..!! Lihat Data NIS Terakhir..!!!", vbCritical, "Aplikasi Insert Photo"
Exit Sub
End If
Ws.Cells(iRow, 1).Value = "=Row()-2"
Ws.Cells(iRow, 2).Value = Me.TxtNis.Value
Ws.Cells(iRow, 3).Value = Me.TxtNama.Value
Ws.Cells(iRow, 4).Value = Me.TxtKelas.Value
Ws.Cells(iRow, 5).Value = Me.TxtWali.Value
Ws.Cells(iRow, 6).Value = Me.TxtAlamat.Value
Ws.Cells(iRow, 7).Value = path & UserForm1.TxtNis.Value & ".jpg"
SavePicture UserForm1.Image4.Picture, path & UserForm1.TxtNis.Value & ".jpg"
'panggil ListBox untuk menampilkan data setelah disimpan
Call ListData
'Panggil Reset untuk mengosongkan form isian data
Call Label7_Click
End Sub
- Tempatkan Kode dibawah pada tombol RESET yang berfungsi mereset form
Private Sub Label7_Click()
TextBox1.Value = ""
TxtNis.Value = ""
TxtNama.Value = ""
TxtKelas.Value = ""
TxtWali.Value = ""
Me.TxtAlamat.Value = ""
Call InsertPhoto
End Sub
TextBox1.Value = ""
TxtNis.Value = ""
TxtNama.Value = ""
TxtKelas.Value = ""
TxtWali.Value = ""
Me.TxtAlamat.Value = ""
Call InsertPhoto
End Sub
- Tempatkan Kode dibawah ini pada LoadImages Untuk menelusuri Gambar
Private Sub Label8_Click()
On Error Resume Next
With Application.FileDialog(msoFileDialogFilePicker)
.AllowMultiSelect = False
.ButtonName = "Insert"
.Title = "Pilih File Foto"
.Filters.Add "Gambar", "*.gif; *.jpg; *.jpeg", 1
If .Show = -1 Then
UserForm1.TextBox6.Text = .SelectedItems(1)
UserForm1.Image4.PictureSizeMode = fmPictureSizeModeStretch
UserForm1.Image4.Picture = LoadPicture(.SelectedItems(1))
Else
End If
End With
End Sub
On Error Resume Next
With Application.FileDialog(msoFileDialogFilePicker)
.AllowMultiSelect = False
.ButtonName = "Insert"
.Title = "Pilih File Foto"
.Filters.Add "Gambar", "*.gif; *.jpg; *.jpeg", 1
If .Show = -1 Then
UserForm1.TextBox6.Text = .SelectedItems(1)
UserForm1.Image4.PictureSizeMode = fmPictureSizeModeStretch
UserForm1.Image4.Picture = LoadPicture(.SelectedItems(1))
Else
End If
End With
End Sub
- Tempatkan Kode dibawah ini pada ListBox1_DblClick yang berfungsi menampilkan data Listbox ke Textbox serta Foto dengan Doble Klik. Untuk lebih jelas Pelajari Posting "Tampikan Data Dari ListBox Ke Textbox Dengan Double Klik"
Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
On Error Resume Next
Dim path As String: path = ThisWorkbook.path & "\" & "Foto" & "\"
If UserForm1.ListBox1.ListIndex > 0 Then
TxtNis.Value = ListBox1.List(ListBox1.ListIndex, 1)
TxtNama.Value = ListBox1.List(ListBox1.ListIndex, 2)
TxtKelas.Value = ListBox1.List(ListBox1.ListIndex, 3)
TxtWali.Value = ListBox1.List(ListBox1.ListIndex, 4)
TxtAlamat.Value = ListBox1.List(ListBox1.ListIndex, 5)
TextBox1.Value = ListBox1.List(ListBox1.ListIndex, 6)
Image4.Picture = LoadPicture(path & UserForm1.TxtNis.Value & ".jpg")
End If
End Sub
On Error Resume Next
Dim path As String: path = ThisWorkbook.path & "\" & "Foto" & "\"
If UserForm1.ListBox1.ListIndex > 0 Then
TxtNis.Value = ListBox1.List(ListBox1.ListIndex, 1)
TxtNama.Value = ListBox1.List(ListBox1.ListIndex, 2)
TxtKelas.Value = ListBox1.List(ListBox1.ListIndex, 3)
TxtWali.Value = ListBox1.List(ListBox1.ListIndex, 4)
TxtAlamat.Value = ListBox1.List(ListBox1.ListIndex, 5)
TextBox1.Value = ListBox1.List(ListBox1.ListIndex, 6)
Image4.Picture = LoadPicture(path & UserForm1.TxtNis.Value & ".jpg")
End If
End Sub
Demikian Kode-kodenya untuk Posting "Insert Foto Kedalam Aplikasi Dengan Userfrom VBA Excel". Silahkan dipelajari sendiri yeah..!!
Mohon maaf klo tutorialnya ngak beraturan... harap maklum... yang bikin Pelajar Otodidak. hehehe.. Semoga bermanfaat.
Tuturnya gan hehe... Kirim filenya jg boleh di jepe212@gmail.com
BalasHapusSudah ada pak tutorialnya ala Otodidak.. Mohon bisa dimaklumi posting tidak beraturan..
HapusTrimkasih atas kunjungannya.. semoga bermanfaat dan dapat dikembangkan lagi.. (c)
Bila ada aplikasi vba excel yang dapat di share mohon di kirim ke email saya senbakusen@gmail.com
dtunggu tutorialny mas bro
BalasHapusSudah ada pak tutorialnya ala Otodidak.. Mohon bisa dimaklumi posting tidak beraturan..
HapusTrimkasih atas kunjungannya.. semoga bermanfaat dan dapat dikembangkan lagi..
Sudah ada pak tutorialnya ala Otodidak.. Mohon bisa dimaklumi posting tidak beraturan..
BalasHapusTrimkasih atas kunjungannya.. semoga bermanfaat dan dapat dikembangkan lagi.. (c)
Bila ada aplikasi vba excel yang dapat di share mohon di kirim ke email saya senbakusen@gmail.com
terimakasih pa,kl boleh minta kode aktivasinya
BalasHapusKode Aktifasi apa yeah ??? SMS ke 0811-6822-023
HapusAssalamuakum...
BalasHapusBang, Gimana cara Menambah Database Gambar ke dalam cell melalui UserForm...Trm Ksh
https://drive.google.com/file/d/0B4BXSJv2yxioRWFQV3MxbmZJcmM/view?usp=sharing
'Alaikumsalam Guree lon Tgk. Saiful....
HapusFile ka lheuh lon kaloen.. bila foto langsung ke Sheet maka yang terjadi ukuran file aplikasi akan membludak.... saya tidak merekemendasikan cara ini..
rekemendasi saya foto tetap di simpan didalam folder/diluar file aplikasi dan saat mau print dapat di ambil kembali
baca posting ini
Print Preview Biodata Plus Photo Dengan UserFrom VBA Excel
Beutoi lage droneuh Peugah, File lbh ringan bila gambardatabase di simpan dlm sbh folder dr pd langsung di simpan di sheet,. Nyoe na petanyaan saboh teuk mengenai VBA juga, Gimana cara menulis kode scrip untuk sebuah UserForm di module / Memanggil kode dr Module yg berfungsi utk UserForm, agar terlihat lebih rapi bila dipisahkan. teurimong geunaseh.
HapusJeut Neu contoh file yang lon peugeut nyoe Tgk.... Klik Link Dibawah ini dan Download
HapusFile Sampel Aplikasi
script label simpan/simpan image ke sheet nya gimana ya,,,dan sketsa sheetnya gak di jelasin range nya yang mana buat simpan image di sheet nya
BalasHapusSaya kok belum bisa buat ya mas, mau download contoh kok juga gak hasil?
BalasHapusgemana dong..!! agar bisa saya bantu ?
Hapusterima kasih, mohon dibuatkan tutorial upload foto untuk denah tempat duduk ujian
BalasHapusTerimkasih atas kunjungannya ke blog ini...
HapusInsyaAllah..!! Akan jadi PR buat saya...
Untuk sementara mungkin bisa dijadikan referensi dalam membuat cara upload foto dipedomankan pada posting berikut ini :
http://www.senbakusen.com/2017/04/cara-menampilkan-data-dan-foto-dengan.html
Artikenya bagus mas, bisa minta filenya untuk bisa di pelajari lebih rinci
BalasHapusUntuk mendapatkan file... mhon dapat menghubungi nomor Admin 0811-6822-023 melalui sms atau WhatsApp
Hapusartikelnya bagus banget...
BalasHapustp sayang sy praktek masih mentok menemukan kendalan saat ujicoba menjalankan menu simpan...
terdeteksi ada kesalahan dengan baris kode .rowsouce="RDB"
maksudnya apa ya..mohon bantuannya admin. terima kasih
.rowsouce="RDB" adalah range yang diambil dari sheet untuk menampilkan data pada listbox...
HapusBuatlah sebuah range data dari tabel data yang ingin ditampilkan ke listbox..
Demikian
artikelnya mantap...
BalasHapuskalo pake listview gmn caranya?
Terimkasih kang Budi Setyawan atas kunjungan dan komentar terbaiknya..
Hapusuntuk ListView bisa di lihat dibeberap artikel lainnya..
salah satunya bisa cek ke link berikut ini :
http://www.senbakusen.com/2017/04/cara-menampilkan-data-pada-listview-vba.html
Thks mas admin,klo artikel ini kan pake nya listbox, jdi maksutnya yg pake listview dan juga bisa muncul photonya spt artikel yg ini gmn scripnya.
BalasHapusatas bantuanya trima kasih
Ooo gtu toe...!! butuh waktu mas buat nulis artikel... 1 artikel bisa sampe 1 minggu... mungkin lain kesempatan saya akan coba merakit kembali... sekrang ini lagi sibuk musim sawah.. :)
HapusMas, mo nanya, klu misalkan kn pas kita klik datanya di list box langsung keluar, trs klu mau ngedit data + fotonya dan disimpan ulang gimana yy??
BalasHapusUntuk kode yang berfungsi sebagai Edit Data serta foto belum ada waktu admin tulis....
HapusMohon maaf belum maximal artikelnya.... karena Tombol edit data serta foto belum ada...
Mas.. Kok punyaku error ya ? Pdhl smuanya udah sama persis tpi masih error.. Tulisan errornya gni mas .. "Run-time error '380': Could not set the RowSource property. Invalid property value.
BalasHapusRowSource Properties tidak dapat ditemukan pada perintah listbox..
Hapusitu error pada range yang ada sheet... cek lagi rangenya dengan benar.. cek kembali nama range yang di tempatkan dalam kode pada listbox..
Semoga membantu
Suport admin dengan melirik sponsor yang ada di blog.. Terimakasih