Hai Farud, Kalau belum mudeng VBA, bisa dimulai dari sini <http://b-excel.blogspot.co.id/2013/06/belajarvba-000-kenalan.html>. Konsep dasar tentang memasukkan image ke object shape ada disini <https://groups.yahoo.com/neo/groups/belajar-excel/conversations/messages/41032> . Kalau file tentang shape, sudah lama ada disini <https://app.box.com/s/vp8lqos5zq0gb4kx94i6>. Pasang gambar melalui properti Picture milik activex control ada disini <https://app.box.com/s/xt9m126qfn7c6znmjrv5>.
Regards, Kid 2016-10-24 21:20 GMT+07:00 farud oke farud....@gmail.com [belajar-excel] < belajar-excel@yahoogroups.com>: > > > terimakasih jawabannya mr.kid > Dari tadi saya coba untuk memahami apa yang dijelaskan oleh mr.kid,tapi > dari tadi juga saya gak mudeng2 apalagi masalah macro..bisa dipersingkat > gak mr.kid atau klo boleh dikasih contoh file jadinya hehehe..biar nanti > saya coba pelajari di filenya > atas bantuannya saya ucapkan terimakasih > > Pada 24 Oktober 2016 18.15, 'Mr. Kid' mr.nm...@gmail.com [belajar-excel] < > belajar-excel@yahoogroups.com> menulis: > >> >> >> Wa'alaikumussalam wr wb >> >> Hai Farud, >> >> Setiap image memiliki ukuran lebar dan tinggi tertentu. Ketika dipaksakan >> agar mengikuti dimensi sebuah range, bisa jadi gambarnya akan mletot-mletot >> tidak proporsional lagi. Jadi, untuk memproporsionalkannya, silakan >> dipikirkan sendiri ya.... Konsepnya tetap saja seperti hal di bawah sana >> pada bagian penentu dimensi si shapes picture penampung si image. >> >> Misal, >> 1. sebuah potonya Kid dengan ukuran 1500 x 2000 >> 2. poto tersimpan di file bernama Kid.gif yang tersimpan di drive D >> dengan fullpath berbunyi : D:\Kid.gif >> 3. poto akan dimuat ke range A1 di sheet bernama 'poto' >> 4. range A1 dah diset berukuran 80 x 60 (gambar bakalan gak >> proporsional karena dari 1500 jadi 80, tapi yang 2000 harus jadi lebih >> pendek dari 80, yaotu 60 >> 5. poto akan dimasukkan dalam sebuah wadah berupa shape (sebenernya >> enakan pakai activex image control, karena gak perlu mikirin ukurannya, >> asal loadpicture juga bisa jadi dan proporsional) >> 6. si shape wadah poto akan diberi nama dengan tetap, yaitu bernama >> 'shpKid' >> >> Prosesnya begini : >> 1. deklarasikan dulu object shape >> dim shp as shape >> >> 2. cari shape bernama 'shpKid' (kalo ada) di sheet 'poto', terus buang >> (delete) [gak mau kalau filenya jadi gede banget karena kebanyakan shapes >> berisi gambar kan...], >> pake loop for each biar gampang walau agak lambat >> for each shp in sheets("poto").shapes >> if lcase(shp.name)="shpkid" then >> exit for >> else >> set shp=nothing >> endif >> next shp >> >> 3. sekarang baru bikin shapes baru berupa picture yang diisi gambar >> tertentu (potonya kid ding) >> >> 'ini cara pasang shape picture LANGSUNG disebuah range, >> lengkap dengan set dimensi si shapes (potonya mengikuti si shape) >> 'yang perlu diingat, methods addpicture dilakukan >> terhadap sheet, tapi butuh inputan berikut : >> '1. nama file image yang mau di pasang >> '2. status link ke file (selalu isi dengan >> msotristatemixed) >> '3. status save salinan picture dalam document >> (diisi msofalse) >> '4. posisi sisi kiri si shape (ini yang >> menentukan mau dipasang di kolom apa) >> '5. posisi sisi atas si shape (ini yang >> menentukan mau dipasang di baris berapa) >> '6. lebarnya si shape (ya tentukan lebarnya >> sesuai kebutuhan) >> '7. tingginya si shape (ya tentukan tingginy >> sesuai kebutuhan) >> 'simpan hasil addpicture ke sebuah object variable >> bertipe shape, biar bisa diatur-atur kelengkapan lainnya >> >> with sheets("poto").range("a1") 'kerja di sheet poto range >> a1 [KAGAK PAKE select-select-an ato activate-activate-an, buang-buang >> energi >> 'di sheets poto, range a1, si shape didalam range >> dengan jarak 1 twip dari pinggiran range, biar cakep beneran dalam range >> dan garis pinggirnya batas range >> 'jangan tanya kenapa +1 dan -2 atau apa itu left, top, >> width, height ya... lihat helep ajah... >> set shp=sheets("poto").shapes.addpicture( "d:\kid.gif" >> , msotristatemixed , msofalse , .left+1 , .top+1 , .width-2 , .height-2 >> ) 'picture dah di-insert-ken tuh >> >> 'si shape bisa diatur kelengkapan lainnya, seperti : >> with shp 'kerja dengan si shape baru >> .name="shpKid" 'kasih nama, >> supaya gampang nyarinya >> .lockaspectratio=msotrue 'biar kalo di-resize >> user, perbantingannya tetap >> .placement=xlmove 'cuma move doiang >> bareng cells, tapi gak bakal ikutan resize kalo si cell di resize >> end with >> end with >> >> 4. save >> >> >> Cara lainnya untuk insert shape selain dengan Shapes.AddPicture adalah >> dengan Pictures.Insert >> Pictures.Insert menghasilkan object Picture. Shapes.AddPicture >> menghasilkan object Shape. >> Pictures.Insert bisa jadi meng-embed disertai link, sehingga akan >> kesulitan saat file dipindah ke komputer lain yang tidak ada file gambar >> yang dibutuhkan. Tapi bisa mengambil picture dengan sebuah URL (kalau belum >> di-obsolete sama si ms ya) >> Shapes.AddPicture hanya bisa local picture (file image di dalam komputer >> setempat saat akan di-insert, tapi akan ikut serta dengan file saat pindah >> komputer) >> >> Cara dengan Pictures.Insert begini : >> nomor 1 : >> ubah datatype dalam deklarasi menjadi Picture, kalau error, ubah jadi >> Object >> >> nomor 2 : tetap >> >> nomor 3 : >> with sheets("poto").range("a1") >> set shp=sheets("poto").pictures.insert("d:\kid.gif") >> shp.name="shpKid" >> shp.placement=xlmove >> shp.left= .left >> shp.top=.top >> shp.width=.width >> shp.height=.height >> 'jika lockaspectratio diletakkan sebelum pengaturan width, maka bisa >> dilakukan resize mengikuti proporsi si image, >> 'bisa berdasar lebarnya atau berdasar tingginya tergantung kondisi >> perbandingan asli si image >> 'misal, kalo tinggi si image > lebarnya, berarti lockaspect true terus >> atur berdasar tingginya setinggi range >> 'begitu pula kalau si lebar > tinggi, berarti loacaspect true atur >> berdasar lebar >> 'jadi, kadang si image pas lebarnya tapi nggantung tingginya, kadang pas >> tingginya tapi lebih langsing lebarnya, yang jelas tetap proporsional >> mengikuti asli si image >> shp.shaperange.lockaspectratio=msotrue >> >> >> Jadi, silakan gunakan manapun yang sesuai kebutuhan dan terasa nyaman >> untuk dipahami >> (kadang Pictures.Insert juga error di beberapa versi, dan mungkin butuh >> update dengan service pack yang terbaru) >> >> >> Wassalamu'alaikum wr wb >> Kid >> >> >> >> end with >> >> >> >> >> >> >> >> >> Wassalamu'alaikum wr wb >> Kid >> >> >> >> 2016-10-23 13:20 GMT+07:00 farud oke farud....@gmail.com [belajar-excel] >> <belajar-excel@yahoogroups.com>: >> >>> >>> >>> Assalamualaikum >>> mohon bantuan para master sekalian >>> saya sudah googling cara ganti logo dengan button dan sudah saya >>> coba,tapi yang jadi masalah gambarnya tidak sesuai dengan ukuran sell yang >>> di inginkan. >>> untuk lebih jelasnya saya lampirkan filenya >>> atas bantuannya saya ucapkan banyak2 terimakasih >>> >>> >> > >