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
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 :
- Aktifkan dan pilih Menu Tab Developer jika belum klik disini untuk melihat cara menampilkannya
- Buat 2 buah Image dengan cara klik Insert > Image (ActiveX Control)
- 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.
- 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)
- klik menu Insert > Command Button (ActiveX Control)
- letakkan di lembar kerja
- jika anda ingin me-rename tombol ini klik kanan > properties Pada bagian Caption ubah nama sesuai dengan yang anda inginkan
- Spin Button (ActiveX Control)
- klik menu Insert > Spin Button (ActiveX Control)
- 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 TopCel = Selection
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.
- Kita memerlukan data yang berisi data nama seperti Gambar 1
Gambar 1 Tampilan Data yang akan dicari oleh Tampilan dalam
Sheet DataMurid
- 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:
- Pilih sel yang akan diberi gambar/foto misalnya E2 kemudian;
- Menu/Tab Insert | Picture (pada kelompok Illustration)
- 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)
- 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
- 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:
- Ketikan Judul di kolom A yaitu Nomor Induk; Nama; Kota; Tanggal Lahir dan Umur masing-masing di sel A3, A6, A10, A13, dan A16
- 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)
- Pilih Sel B3, Pilih Menu/Tab Data
- Kemudian pada kelompok Data Tools, pilih Data Validation
- Sehingga muncul dialog box
- Pilih List pada field Allow dan contreng Ignore blank dan In-cell dropdown
- Ketikan rumus =NIM {jangan lupa pakai tanda sama dengan (=)}. Kemudian Klik Ok
- 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. - Lanjutkan dengan B10 dengan rumus =VLOOKUP($B$3,data!$A$1:$E$10,4)
- B13 dengan rumus =VLOOKUP($B$3,data!$A$1:$E$10,3)
- Dan B16 dengan rumus =DAYS360(B13,NOW()), yang artinya tanggal lahir dikurangi dengan hari ini (dihasilkan dengan fungsi now() )
- Sedangkan untuk B18 kita menggunakan rumus =INT(B16/365)& ” tahun “& INT(MOD(B16,365)/30)&” bulan”, yang artinya:
- =INT(B16/365) untuk menghitung berapa tahun kemudian ditambah dengan string ” tahun “
- Dan INT(MOD(B16,365)/30) adalah sisa pembagian tahun dibagi bulan dan ditambah dengan string ” bulan”
- Sehingga diperoleh xx tahun xx bulan
- Buat Data Validasi ke dua yaitu MyPic dengan cara:
- Menu Formula | Name Manager
- Ketikan MyPic pada Name:
- 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).
- Klik Ok.
- Sedangkan untuk gambar diletakkan di sel F dengan menggunakan Data validasi MyPic.
- Cara untuk membuat ini adalah sbb:
- 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
- Sehingga muncul gambar sebagai berikut:
- Kemudian ganti =EMBED(“Forms.Image.1″,”") dengan =MyPic
- Dan sesuaikan besar gambar dengan menarik ujungnya.
- 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 dan
contoh filenya ada gak
BalasHapuskalao gambar yang sama disisipkan secara otomatis ke beberapa sheet gmana caranya gan?
BalasHapusthanks ilmunya brother
BalasHapusMas kenapa ketika saya ganti embednya dengan mypic mncul perigatan " reference is not valid"? saya menggunakan excel 2010.. mohon infonya mas.. muthoharalfirgiyu@gmail.com
BalasHapusgimana cara menginsert gambar melalui userform vba ke dalam sheet
BalasHapus