CARA1
Menampilkan Gambar Photo Dalam
Database Excel
Pernah
suatu hari saya diberi sebuah masukan oleh beberapa rekan kerja mengenai sebuah
database siswa yang saya buat dengan excel tidak lengkap lantaran tanpa
disertai photo dari siswa itu sendiri. Awalnya saya berpikir hal itu tidak
mungkin dilakukan, terlebih jika memakai Aplikasi Excel – karena aplikasi ini
hanya dibuat untuk mengentry database saja.
Pertanyaan sekaligus permintaan tersebut membuat saya tertantang untuk mencoba serta mencari tahu tentang apakah Excel bisa melakukan ini…. Dari yang saya dapat dari googling, akhirnya saya mendapat beberapa module dan kode VBA untuk menginsert gambar dengan menggunakan bantuan macro. Kemudian, saya menemui kendala lagi – bagaimana jika ini digunakan dalam database yang memiliki banyak data.
Setelah beberapa hari berikutnya saya mencoba untuk bereksperimen dan memodifikasi serta menambahkan beberapa Kode serta module yang saya dapatkan dari internet tersebut agar bisa digunakan dalam database yang saya miliki.
Dan, sekarang saya share kepada anda yang barangkali sedang mencari cara bagaimana menampilkan gambar foto ke dalam database excel, dari hasil tutorial ini akan menghasilkan sebuah database yang terlihat seperti gambar berikut :
Pertanyaan sekaligus permintaan tersebut membuat saya tertantang untuk mencoba serta mencari tahu tentang apakah Excel bisa melakukan ini…. Dari yang saya dapat dari googling, akhirnya saya mendapat beberapa module dan kode VBA untuk menginsert gambar dengan menggunakan bantuan macro. Kemudian, saya menemui kendala lagi – bagaimana jika ini digunakan dalam database yang memiliki banyak data.
Setelah beberapa hari berikutnya saya mencoba untuk bereksperimen dan memodifikasi serta menambahkan beberapa Kode serta module yang saya dapatkan dari internet tersebut agar bisa digunakan dalam database yang saya miliki.
Dan, sekarang saya share kepada anda yang barangkali sedang mencari cara bagaimana menampilkan gambar foto ke dalam database excel, dari hasil tutorial ini akan menghasilkan sebuah database yang terlihat seperti gambar berikut :
Memulai
Mengetry Database
Sebagai
latihan dalam tutorial ini, masukkan database seperti berikut dan letakkan di
Sheet1 :
Menggunakan
Fungsi VLOOKUP
Fungsi ini
dibutuhkan untuk memanggil data dalam database Masukkan formula VLOOKUP berikut
di sel F2
=VLOOKUP(E2;A2:B8;2;0)
Untuk
sementara hasil yang didapatkan dari formula ini adalah #N/A hal ini disebabkan
tidak adanya sebuah nilai yang dijadikan pedoman, jika anda ingin menghilangkan
pesan error bisa anda tambahkan fungsi IFERROR dalam
serangkaian kode diatas.
Design
Bingkai Photo
Bukan
hanya aplikasi sekelas Corel atau Adobe saja yang bisa digunakan untuk design,
excel-pun juga bisa…
Berikut langkah membuat desain sederhana ala rumahexcel :
Berikut langkah membuat desain sederhana ala rumahexcel :
1. Aktifkan dan pilih Menu Tab Developer jika belum
klik disini untuk melihat cara menampilkannya
2. Buat 2 buah Image dengan cara klik Insert > Image
(ActiveX Control)
3. Untuk Image1 (biarkan (name)nya asli seperti itu
saja)
Kemudian
klik kanan dan pilih properties
pada bagian PictureSizeMode pilih 3 - fmPictureSizeModeZoom
Artinya, gambar yang akan kita insert nanti akan dimaksimalkan ukurannya sesuai dengan ukuran frame dari Image1.
pada bagian PictureSizeMode pilih 3 - fmPictureSizeModeZoom
Artinya, gambar yang akan kita insert nanti akan dimaksimalkan ukurannya sesuai dengan ukuran frame dari Image1.
4. Untuk Image2 (biarkan juga (name) seperti aslinya)
Klik klik
kanan Image2 dan pilih properties
pada bagian Picture (None) anda klik tanda (…) untuk mencari gambar yang akan ditempelkan di Image2.
Kemudian pada bagian Visible rubah menjadi False Gambar ini nantinya akan digunakan jika data belum atau tidak memiliki Photo, dan Image2 ini kita sembunyikan (Visible=False) karena hanya sebagai acuan saja dan bukan sebagai gambar utama.
pada bagian Picture (None) anda klik tanda (…) untuk mencari gambar yang akan ditempelkan di Image2.
Kemudian pada bagian Visible rubah menjadi False Gambar ini nantinya akan digunakan jika data belum atau tidak memiliki Photo, dan Image2 ini kita sembunyikan (Visible=False) karena hanya sebagai acuan saja dan bukan sebagai gambar utama.
Saya harap sampai dengan langkah ini, anda bisa mengikutinya..
Menambahkan
Tombol Untuk Mencari dan Mengambil Gambar
Masih
dalam menu Tab Developer, Tambahkan 2 buah tombol di lembar kerja anda antara
lain :
·
Command
Button (ActiveX Control)
1. klik menu Insert > Command Button (ActiveX
Control)
2. letakkan di lembar kerja
3. jika anda ingin me-rename tombol ini klik
kanan > properties Pada bagian Caption ubah nama sesuai dengan yang
anda inginkan
·
Spin
Button (ActiveX Control)
1. klik menu Insert > Spin Button (ActiveX Control)
2. letakkan di lembar kerja
Desain sudah selesai, sekarang tinggal memasukkan kode untuk beberapa tombol yang sudah kita buat
Memasang
Kode untuk Mengambil Gambar
Sebelum
anda memasukkan kode-kode untuk masing-masing tombol, pastikan icon DESIGN MODE
yang terdapat pada Tab Developer dalam keadaan aktif (menyala) sehingga ketika
klik ganda objek control – maka akan langsung menuju jendela Microsoft Visual
Basic
Berikut kode yang harus anda pasang:
Berikut kode yang harus anda pasang:
·
Klik ganda
CommandButton1 (atau sesuai dengan nama yang anda ketikkan pada langkah
sebelumnya)
On Error
Resume Next
Dim Filter As String, Title As String, FileX As String
Dim SourceFile, DestinationFile
X.SetFocus
Filter = "JPG Image Files Only(*.jpg),*.jpg,"
Title = "Silahkan Pilih Logo" FileX = Application.GetOpenFilename(Filter, , Title)
NamaFile = Range("F2")
Sheets("sheets1").Image1.Picture = LoadPicture(FileX)
Image1.Picture = LoadPicture(FileX)
DestinationFile = ActiveWorkbook.Path & "\Photo\" & NamaFile & ".jpg"
FileCopy FileX, DestinationFile
Dim Filter As String, Title As String, FileX As String
Dim SourceFile, DestinationFile
X.SetFocus
Filter = "JPG Image Files Only(*.jpg),*.jpg,"
Title = "Silahkan Pilih Logo" FileX = Application.GetOpenFilename(Filter, , Title)
NamaFile = Range("F2")
Sheets("sheets1").Image1.Picture = LoadPicture(FileX)
Image1.Picture = LoadPicture(FileX)
DestinationFile = ActiveWorkbook.Path & "\Photo\" & NamaFile & ".jpg"
FileCopy FileX, DestinationFile
Keterangan:
Filter = "JPG Image Files … : adalah gambar yang diperbolehkan untuk di masukkan ke dalam database
NamaFile = Range(“F2") : adalah nama dari file gambar yang nantinya akan tersimpan dalam komputer anda, nama file ini berdasarkan dari data yang tertulis di sel F2
\Photo\ : adalah nama folder tempat menyimpan file gambar, dengan kata lain anda WAJIB membuat sebuah folder dengan nama Photo ditempat anda menyimpan hasil kerjaan excel ini.
Tutup atau minimize jendela Microsoft Visual Basic untuk kembali ke jendela Microsoft Excel
·
klik ganda
SpinButton1
On Error
GoTo GbKosong
SpinButton1.Min = 1
SpinButton1.Max = 7
Range("E2") = SpinButton1
Application.ScreenUpdating = False
NamaData = Range("F2")
Files = ActiveWorkbook.Path & "\Photo\" & NamaData & ".jpg" '
Image1.Picture = LoadPicture(Files)
Application.ScreenUpdating = True
Exit Sub
GbKosong:
Image1.Picture = Image2.Picture
SpinButton1.Min = 1
SpinButton1.Max = 7
Range("E2") = SpinButton1
Application.ScreenUpdating = False
NamaData = Range("F2")
Files = ActiveWorkbook.Path & "\Photo\" & NamaData & ".jpg" '
Image1.Picture = LoadPicture(Files)
Application.ScreenUpdating = True
Exit Sub
GbKosong:
Image1.Picture = Image2.Picture
Keterangan :
SpinButton1.Min = Data minimal dari database yang di baca
SpinButton1.Max = Data tertinggi dari sebuah database, dalam contoh di atas nilai tertinggi adalah 7
Finishing
Langkah
akhir dari semua pekerjaan adalah dengan melakukan proses menyimpan. Untuk
penyimpanan file ini gunakan excel dengan type Macro enabled.
Jika
penjelasan diatas terlalu ribet atau berbelit-belit serta tidak mudah anda
pahami, silahkan anda download contoh file untuk anda pelajari sendir
Catatan:
Ada baiknya sebelum anda memasukkan Gambar photo ke dalam database excel – kompress terlebih dahulu baik ukuran maupun resolusinya, hal ini bertujuan untuk meringankan kinerja aplikasi.
Ada baiknya sebelum anda memasukkan Gambar photo ke dalam database excel – kompress terlebih dahulu baik ukuran maupun resolusinya, hal ini bertujuan untuk meringankan kinerja aplikasi.
Ditulis oleh : Anto Ramana
Dipublikasikan pada : 31.10.12 | 11:34
Judul : Menampilkan gambar photo dalam database Excel
Kategori : Macro VBA
Dipublikasikan pada : 31.10.12 | 11:34
Judul : Menampilkan gambar photo dalam database Excel
Kategori : Macro VBA
Cara2
Untuk
pekerjaan memasukkan (memindah dan me-resize) Object Picture ke
dalam
sebuah
cell atau mergexcell, kita harus tahu :
NAMA
Picture-nya, atau objectnya (Picture yang mana)
selain itu
kita juga harus tahu ALAMAT CELL / MERGED CELL tujuannya.
"Lha"
kalo 'gitu, sebelumnya kita ada pekerjaan kecil-kecilan
1. menuliskan
Nama Gambar (picture) ke cell (mergedCell) yg menjadi tujuannya
dalam
contoh Cell B4 kita tulis "Picture 1"
Untuk
mengetahui nama object shape / picture: select lah object tersebut lalu
tengoklah
NameBox ( = combobox yg ada di sebelah kiri Formulah Bar...)
2 select-lah Cell Tujuan tersebut
Dengan
cara itu kita sudah sekaligus mendapat 2 informasi maha penting
a. Object
Cell (mergedCell) tujuan; dlm vba dikatakan sebagai Selection
b. Nama Object Gambar yg mau dimasukkan bui ( di VBA dikatakan sbg Selection.Value)
b. Nama Object Gambar yg mau dimasukkan bui ( di VBA dikatakan sbg Selection.Value)
Setelah
itu; kita tinggal memberi komando-komando yg "agak tegas"
(jangan
seperti kalo kota menghadapi ulah negeri JARAN !!, gitu loch...)
A
*geser / pindahkan gambar, sehingga
A1
**tepi-kirinya berimpit dengan tepi-kiri cell tujuan
A2
**tepi-atasnya berimpit dengan tepi-atas cell tujuan
B
*ubah lah (resize) ukuran dimensi gambar, sehingga
B1
**tinggi gambar = tinggi dimensi cell (mergedCell) tujuan
B2
**lebar gambar = lebar dimensi cell (mergedCell) tujuan
C
*Proteksilah (dan pasanglah password) terhadap woksitnya
Perintah
terakhir (C) itu = dalam rangka mencegah editing gambar (diubah, digeser
dst...)
karena
object gambar di atas sheet hanya akan "diam", bila woksit
diproteksi.
Menjalankan
komando tsb dengan menCeklik Gambar Panah Orange yg sudah ada di situh..
Oiya,..Kalau
ternyata ada cells yg ingin tetap bisa diobok-obok, silahkan area rangenya
di beri
status LOCKED = FALSE (unlocked) melalui menu Format Cells Protection
'---------
Sub
Cekidot()
'--------------------------------------
' siti Vi
' menggeser dan mengubah dimensi Shape
' sesuai dimensi Cell Tujuan
' sengaja dipanjang-panjangkan biar
kelihatan canggih
'---------------------------------------
Dim img, TopCel As Range, mCel As Range
ActiveSheet.Unprotect "siti"
If Selection.Cells.Count = 1 Then
Set mCel = TopCel
Else
Set TopCel = Selection.Cells(1, 1)
Set mCel = Selection
End If
If IsEmpty(TopCel.Value) Then
MsgBox "Lho??.. Anda kok belum memilih range yg berisi text data
nama gambar!!"
Exit Sub
End If
Set img = ActiveSheet.Shapes(TopCel.Value)
With img
If .Type = msoPicture Then
.LockAspectRatio = False
.Top = mCel.Top
.Left = mCel.Left
.Width = mCel.Width
.Height = mCel.Height
End If
End With
ActiveSheet.Protect "siti"
End Sub
'------------------
Cara3
August
6th, 2011 | Comments Off
Untuk
membuat daftar dengan menampilkan foto di Ms Excel kita bisa menggunakan
bermacam-macam cara. Dalam Artikel ini saya mencoba menjelaskan bagaimana kita
menggunakan Vlookup, Name Range, Data Validation dan Menampilkan Foto dalam
form sederhana di Sebuah Sheet.
1. Kita memerlukan data yang berisi data nama seperti
Gambar 1
Gambar 1
Tampilan Data yang akan dicari oleh Tampilan dalam Sheet DataMurid
1. Untuk Kolom A, B, C dan D seperti biasa kita
memasukkan data Nomor Induk, kemudian Nama Tanggal Lahir dan Kota. Sedangkan
Pada Kolom E kita memasukkan Gambar/Foto dengan cara:
1. Pilih sel yang akan diberi gambar/foto misalnya E2
kemudian;
2. Menu/Tab Insert | Picture (pada kelompok
Illustration)
3. Pilih foto atau gambar dengan extension yang
diperbolehkan oleh Ms Excel ( Ingat gambar jangan terlalu besar karena akan memakan
memory yang cukup besar sehingga file excelnya juga menjadi besar)
4. Pilih NIM pada Kolom A sampai data Terakhir misalnya
A10 kalau datanya hanya 10 orang (kalau lebih maka anda harus mempersiapkan
misalnya sampai A100 atau A250 tergantung jumlah data murid yang akan
dimasukkan.) Kemudian klik kanan mouse dan pilih perintah Name a Range
dan Klik Ok. Lihat Gambar 2 d
Gambar 2
Name a Range
1. Selesai
1. Beri nama Sheet tersebut misalnya Data.
Langkah
selanjutnya adalah mempersiapkan tampilan data seperti Gambar 2
Gambar 3
Tampilan Form Data Murid Satu per Satu
Untuk
membuat form ini kita mulai dengan:
1. Ketikan Judul di kolom A yaitu Nomor Induk; Nama;
Kota; Tanggal Lahir dan Umur masing-masing di sel A3, A6, A10, A13, dan A16
2. Di Kolom B kita memasukkan beberapa formula dimulai
dengan mencari data yang akan kita masukkan ke dalam sel B3. Untuk sel B3 kita
menggunakan Data Validation (lebih jauh mengenai data validation dapat dilihat
di posting Data Validation, atau http://excel.aurino.com/?p=643)
3. Pilih Sel B3, Pilih Menu/Tab Data
4. Kemudian pada kelompok Data Tools, pilih Data
Validation
5. Sehingga muncul dialog box
6. Pilih List pada field Allow dan contreng Ignore blank
dan In-cell dropdown
7. Ketikan rumus =NIM {jangan lupa pakai tanda sama
dengan (=)}. Kemudian Klik Ok
8. Selanjutnya pada sel B6 masukkan rumus
=VLOOKUP($B$3,data!$A$1:$E$10,2),
yang artinya cari data Nama pada sheet data di range A1 sampai dengan E10 pada kolom ke 2 (kolom B). Jika datanya lebih dari 10 maka kita harus merubah E10 menjadi E100 atau E250 tergantung jumlah data yang diinginkan.
yang artinya cari data Nama pada sheet data di range A1 sampai dengan E10 pada kolom ke 2 (kolom B). Jika datanya lebih dari 10 maka kita harus merubah E10 menjadi E100 atau E250 tergantung jumlah data yang diinginkan.
9. Lanjutkan dengan B10 dengan rumus
=VLOOKUP($B$3,data!$A$1:$E$10,4)
10. B13 dengan rumus =VLOOKUP($B$3,data!$A$1:$E$10,3)
11. Dan B16 dengan rumus =DAYS360(B13,NOW()), yang
artinya tanggal lahir dikurangi dengan hari ini (dihasilkan dengan fungsi now()
)
12. Sedangkan untuk B18 kita menggunakan rumus
=INT(B16/365)& ” tahun “& INT(MOD(B16,365)/30)&” bulan”, yang
artinya:
1. =INT(B16/365) untuk menghitung berapa tahun kemudian
ditambah dengan string ” tahun “
2. Dan INT(MOD(B16,365)/30) adalah sisa pembagian tahun
dibagi bulan dan ditambah dengan string ” bulan”
3. Sehingga diperoleh xx tahun xx bulan
13. Buat Data Validasi ke dua yaitu MyPic dengan cara:
1. Menu Formula | Name Manager
2. Ketikan MyPic pada Name:
3. Ketikan
=INDEX(data!$E$1:$E$10,MATCH(DataMurid!$B$3,data!$A$1:$A$10,0)) pada Refer
to: ( untuk data yang lebih banyak maka ubah E10 dengan sel tempat gambar
terakhir data demikian juga untuk A10).
4. Klik Ok.
1. Sedangkan untuk gambar diletakkan di sel F dengan
menggunakan Data validasi MyPic.
2. Cara untuk membuat ini adalah sbb:
1. Letakkan kursor pada sel F3. Kemudian pada Menu
Developer (untuk mengaktifkan menu developer dapat dilihat pada catatan di bawah
ini) kita pilih Insert | Activex Controls dan Pilih Image
2. Sehingga muncul gambar sebagai berikut:
3. Kemudian ganti =EMBED(“Forms.Image.1″,”")
dengan =MyPic
4. Dan sesuaikan besar gambar dengan menarik ujungnya.
5. Selesai
Pada Excel
2007 untuk menampilkan Developer tab pad menu bar adalah sebagai berikut:
-
Kilk lingkaran (Office Button) dipojok kiri, kemudian klik Excel Options di
bawah
-
Centang Show Developer tab in The Ribbon, kemudian klik OK
-
Klik Ok
Tidak ada komentar:
Posting Komentar