Biasanya begini :
with sheets("nama sheetnya").shapes("nama shape groupnya")
with .groupitems("nama shape item dalam group")
'proses mengubah propertinya si item grup disini
end with
with .groupsitems("nama shape item lainnya dalam group")
'proses mengubah propertinya si item grup disini
end with
end with
Kalau setiap group shape memiliki jumlah item shape yang sama dengan nama
shape yang tetap dan unique per group, maka akan cukup mudah diolah
walaupun jumlah shape akan terlalu cepat menjadi sangat banyak.
Regards,
Kid
2017-05-02 10:28 GMT+07:00 'Heru Safrudin'
[email protected] [belajar-excel] <
[email protected]>:
>
>
>
>
>
>
> Yth. Mr. Kid,
>
>
>
> Lalu bagaimana cara mengubah properti masing-masing shape dalam grup ?
>
> Sehingga bisa menjadi seperti berikut ini ini:
>
>
>
>
>
>
>
>
>
> Ini hasil manualnya
>
>
>
> Wassalam
>
> Heru Safrudin
>
>
>
> *From:* [email protected] [mailto:belajar-excel@
> yahoogroups.com]
> *Sent:* 29 April 2017 20:07
> *To:* BeExcel
> *Subject:* Re: [belajar-excel] Mengisi Shape dengan gambar rata kiri
>
>
>
>
>
> eh lupa belum paste ke range K5
> Baris ini :
>
> set shpCHT=sheets("myQRLabel").shapes("chtTPL").duplicate
>
> Jadi begini :
>
> sheets("myQRLabel").shapes("chtTPL").copy
> sheets("myQRLabel").range("k5").pastespecial xlpastevalues
>
> set shpCHT=sheets("myQRLabel").shapes( sheets("myQRLabel").shapes.count )
>
>
> Regards,
>
> Kid
>
>
>
> 2017-04-29 19:55 GMT+07:00 Mr. Kid <[email protected]>:
>
> Hai Heru,
>
> Kan contohnya untuk label QR Code atau label nama yang mau di-print pake
> gambar warna warni.
>
> Kalau mau pakai connector, si template di-copy jadi shapes biasa dulu.,
> misal di salin ke cells kosong di K5
>
> Baris ini :
>
> set shpCHT=sheets("myQRLabel").shapes("chtTPL").duplicate
>
> Jadi begini :
>
> sheets("myQRLabel").shapes("chtTPL").copy
>
> set shpCHT=sheets("myQRLabel").shapes( sheets("myQRLabel").shapes.count )
>
>
>
> Jadi, sekarang variabel shpCHT berisi salinan template yang betul-betul
> berupa picture.
>
> Artinya, isi gambar dan text didalamnya gak bisa diubah lagi.
>
> Kalau mau ubah gambar atau text-nya, harus hapus shape salinan yang lama,
> lalu mengubah isi di dalam template, lalu salin lagi.
>
>
>
> Pertanyaannya, kenapa kok template yang pakai chart, chart-nya gak diubah
> saja jadi shape rectangle yang no fill pakai border, lalu di group
> Kan sudah tampak ok tanpa container chart.
>
> *** Karena akan kesulitan memilih shape yang berisi gambar dari sekian
> banyak hasil copy template.
>
> *** Maksudnya, kalau pakai cara pakai shape lalu di-group, ketika di-copy
> jadi item lain (untuk menjaga si template), maka akan kesulitan juga dalam
> memilih shape berisi gambar di hasil copy-an tadi.
>
> ------
>
> Kembali ke kasus
> ------
>
> Kalau sudah jadi shape picture (sudah bukan chart lagi), maka connector
> bisa dipasang.
>
> Regards,
>
> Kid
>
>
>
>
>
>
>
>
>
>
>
> 2017-04-29 10:58 GMT+07:00 'Heru Safrudin' fcprocessing.bisikediri@bisi.
> co.id [belajar-excel] <[email protected]>:
>
>
>
> Bisa Mr,…
>
> Tapi sayang nggak bisa dikasih connector ya
>
>
>
>
>
> Wassalam
>
> Heru Safrudin
>
> *From:* [email protected] [mailto:belajar-excel@
> yahoogroups.com]
> *Sent:* 28 April 2017 2:59
> *To:* BeExcel
> *Subject:* Re: [belajar-excel] Mengisi Shape dengan gambar rata kiri
>
>
>
>
>
> Hai Heru,
>
> Sayangnya, setahu saya, sampai xl2016 pun properti offset milik stretch
> belum dibuka oleh pembuat Office.
>
> Lagi pula, saya pikir terlalu ribet dalam menentukan persentase offsetnya.
>
> Kasus seperti ini umumnya digunakan untuk image yang berukuran sama.
> Misalnya, untuk membuat label beserta image QR Code.
>
> Image QR Code yang digunakan untuk suatu produk di sebuah perusahaan akan
> memiliki dimensi yang sama. Bisa jadi, antar perusahaan dimensi QR Code nya
> berbeda. Pada kasus ini, misalkan image QR Code akan diletakkan di sisi
> kiri, dan keterangan diletakkan di sisi kanan.
>
>
>
> Kalau dulu, ketika yang digunakan adalah barcode yang diberi id tertentu
> dibawah barcode, bisa dengan sebuah shape memanfaatkan properti fill
> (userpicture dan textframe fill color white), maka untuk saat ini yang
> umumnya menggunakan image QR Code bisa dibuat dengan 3 shape, yaitu :
>
> 1. shape container dengan memanfaatkan chart objects (baca : chart
> kosongan)
>
> 2. shape image QR Code dengan memanfaatkan rectangular shape yang dibuat
> di dalam shape container (di dalam chart) lalu diisi image QR Code mode
> stretch
>
> 3. shape keterangan berupa shape text box yang juga dibuat di dalam shape
> container
>
>
>
> Langkah pertama adalah membuat template label :
>
> 1. Insert sebuah chart kosong, atur lebar dan tinggi chart, ketebalan
> border (bila perlu), dsb. Lalu beri nama, misalnya chtTPL (nama di tulis di
> Name Box lalu enter)
>
> > misal lebar 30 mm x tinggi 100 mm [unit bisa diubah melalui Excel
> Options Advanced bagian Display item Ruler Units]
>
> > klik kotak name box (pojok kanan atas worksheet, di atas nomor baris
> Excel 1), ketik chtTPL lalu tekan Enter
>
> > atur border, misal shape outline weight dipilih 1pt dengan shape
> outline color automatic
>
> > atur chart fill bila perlu, misalnya dengan no fill. [pada
> pembuatan label nama, bisa jadi chart fill akan berguna jika diisi warna
> atau texture tertentu]
>
> 2. membuat template image QR Code
>
> > klik chart kosong hasil proses 1 (misal klik bordernya),
> ribbon Insert -> group illustrations -> klik Shapes -> pilih
> rectangular shapes -> gambar kotak di dalam chart kosong
>
> *** shape rectangular akan menjadi salah satu anak dari chart
>
> > beri nama pada name box, misal dengan nama shpQR
>
> > atur tanpa border, lalu pada format shape (klik kanan shape pilih
> format chape) diatur agar fill dengan Picture or Texture Fill -> klik File
> -> pilih sebuah image
>
> -> pastikan opsi *Tile picture as texture* *TIDAK DICENTANG*
>
> > atur dimensi shape shpQR ini, misal lebar 29.6mm x tinggi 29.6mm
> (bujur sangkar)
>
> > atur posisinya agar di sisi kiri chart (geser-geser saja dengan
> mouse)
>
> 3. membuat template shape textbox keterangan (shape loh ya, bukan control)
>
> > klik chart kosong hasil proses 1 (misal klik bordernya),
> ribbon Insert -> group illustrations -> klik Shapes -> pilih Text
> Box -> gambar kotak di dalam chart kosong
>
> *** shape text box akan menjadi salah satu anak dari chart
>
> > beri nama pada name box, misal dengan nama shpKET
>
> > atur tanpa border, font color adalah automatic, fill color diatur no
> color atau no fill
>
> > bila perlu, isi dengan suatu teks tertentu lebih dulu agar mudah
> mengatur jenis font, ukuran font, indent level, alignment, dsb.
>
> > atur dimensinya sesuai kebutuhan, misal tinggi 29.6mm dengan lebar
> seperlunya
>
> > atur posisinya di sisi kanan chart
>
>
>
> Sampai disini, templatenya sudah jadi di dalam sheet bernama '*myQRLabel*',
>
> dengan object utama :
>
> 1. chart bernama chtTPL
>
> 2. shape image bernama shpQR (di dalam chtTPL)
>
> 3. shape text bernama shpKET (di dalam chtTPL)
>
> Langkah kedua adalah membuat prosedur untuk mengubah image dalam shpQR dan
> mengubah bunyi teks di shpKET.
> Misal, prosedur tersebut bernama ChangeQRLabel
>
> 1. ke VBE (ALT F11) -> insert sebuah Module (general module) -> buat blok
> prosedur bernama ChangeQRLabel
>
> public sub ChangeQRLabel()
>
> 'baris-baris kode akan ditulis disini
>
> end sub
>
>
>
> 2. di dalam prosedur tersebut, isi baris kode blok shape chart
>
> with sheets("myQRLabel").shapes("chtTPL")
>
> 'baris kode mengolah isi chart diletakkan disini
>
> end with
>
>
>
> 3. di dalam blok shape chart, isi dengan baris kode mengganti image QR
> Code milik shpQR dari suatu file yang ada di drive D
>
> *** Misal akan diganti dengan file QR Code bernama imgQR001.gif yang
> ada di drive D root directory
>
> .chart.shapes("shpQR").fill.userpicture "D:\imgQR001.gif"
>
>
>
> 4. di dalam blok shape chart, isi dengan baris kode mengganti bunyi teks
> milik shpKET dengan suat teks tertentu
>
> *** Misal teks 2 baris, dengan baris ke-1 berbunyi 'Mr. Kid' dan baris
> ke-2 berbunyi 'Ganteng' wkwkwkwk
>
> .chart.shapes("shpKET").textframe.characters.text="Mr. Kid" & vbcrlf &
> "Ganteng"
>
>
>
> Catatan :
>
> 0. sesuaikan nama worksheet dengan keadaan setempat
>
> 1. nama lengkap file image bisa mengambil dari suatu nilai di cells atau
> dengan cara yang lainnya. Sesuaikan dengan kebutuhan.
>
> 2. bunyi teks bisa mengambil dari suatu nilai di cells atau dengan cara
> lainnya. Sesuaikan dengan kebutuhan.
>
> 3. contoh kode di atas adalah mengubah isi template. Jika ingin yang
> diubah adalah hasil copy-an template (agar template tetap), maka lakukan
> hal berikut :
>
> Baris berbunyi :
>
> with sheets("myQRLabel").shapes("chtTPL")
>
> diubah menjadi baris-baris kode berikut :
>
> dim shpCHT as shape
> set shpCHT=sheets("myQRLabel").shapes("chtTPL").duplicate
>
> with shpCHT
>
> .name="shpLabel001" 'misal yang baru diberi nama shpLabel001
>
> 'misal diletakkan di posisi 100,200
>
> .top=100
>
> .left=200
>
>
>
> Silakan dikembangkan sesuai kebutuhan.
>
> Wassalam,
>
> Kid
>
>
>
>
>
> 2017-04-27 16:48 GMT+07:00 'Heru Safrudin' fcprocessing.bisikediri@bisi.
> co.id [belajar-excel] <[email protected]>:
>
>
>
> Dear B-Exceller,
>
>
>
> Bagaimana kode macro vba untuk mengisi sebuah shape (Rectangle) dengan
> gambar yg posisinya disebelah kiri seperti contoh dibawah ini:
>
>
>
>
>
> Adapun format manualnya sebagi berikut :
>
>
>
>
>
> Mohon pengetahuannya
>
> Terima kasih
>
>
>
>
>
> Wassalam
>
> Heru Safrudin
>
>
>
>
>
>
>
>
>
>
>
>
>