JTPediaQuiz - Bank Soal, Quiz Interactive, Contoh-contoh Soal Ujian Sekolah, Uji Kompetensi, Ulangan Harian, DLL. More info

Insert/Upload dan Menambahkan Gambar (Picture/Image) pada Cell atau Range Tertentu Secara Otomatis

More Info:

Menambahkan Gambar pada Cell/Range Sebuah Sheet Tertentu – Auto Posisi – Auto Dimensi

Ketika membuat File Project dengan VBA pada aplikasi Microsof Office Excel yang mana semua tab menunya sudah dicustom seperti pada project Aplikasi untuk Mengelola Transaksi Keuangan Sekolah Terbaru, cara insert picture / image pada cell atau range tertentu ini akan sangat berguna dan efektif. Insert gambar (picture/image) pada sheet ini bisa disesuikan dengan kebutuhan, baik worksheetnya, target cell/range, posisi, maupun dimensi tinggi dan lebar gambar tersebut.

Langkah-langkah Menambahkan/Insert Gambar (Picture/Image) pada Cell/Range Terentu

Untuk menambahkan gambar dengan VBA Excel pada sebuah sheet (misalnya Insert_Picture) dengan target cell/range tertentu bisa dilakukan dengan beberapa langkah berikut:

Langkah 1: Menamabahkan Object / Shapes pada Sheet

Pada sheet Insert_Picture) tambahkan object / shapes misalnya dengan text “Insert Picture” seperti berikut:
Target Sheet Insert Picture, Image, Gambar

Langkah 2: Kode untuk Menentukan Target Sheet, Upload Picture/Image dan Menambahkannya pada Sheet

Buka visual basic editor, lalu insert/buat sebuah Module (misalnya Module1) dan tambahkan semua kode berikut:

Option Explicit
Public strFILEGambar As String

Sub UploadIMAGE()
On Error Resume Next
With Application.FileDialog(msoFileDialogFilePicker)
.AllowMultiSelect = False
.InitialFileName = "" 'initial name selalu blank setiap open dialog
.Filters.Clear
.Filters.Add "ImageFile (*.*)", "*.jpg*; *.jpeg*; *.gif*; *.bmp; *.png", 1 'ALL IMAGE EXTENSION

If .Show = -1 Then
strFILEGambar = .SelectedItems(1)

'handle saat close dialog open file
Application.OnTime Now(), "TargetWORKSHEET"
Else
MsgBox "Tidak Ada File Image yang diUPLOAD...!!!", vbExclamation, "Info"
End If
End With
End Sub

Sub TargetWORKSHEET()
'Menentukan taget worksheet dan range yang akan ditambahkan image/gambar
'Mengecek image/gambar pada cell/range yang ada pada sebuah sheet
'Supaya tidak menumpuk, jika sudah ada gambar sebelumnya akan di hapus dulu lalu di update dengan picture/gambar baru

Dim wsGAMBAR_IMAGE As Worksheet, shp As Shape
Set wsGAMBAR_IMAGE = ThisWorkbook.Worksheets("Insert_Picture")

With wsGAMBAR_IMAGE
For Each shp In .Shapes
If Not Intersect(shp.TopLeftCell, .Range("A1:B4")) Is Nothing Then shp.Delete
Next shp
Call InsertMyImage(wsGAMBAR_IMAGE, strFILEGambar, .Range("A1:B4"))
End With
End Sub

Sub InsertMyImage(sh As Worksheet, NamaFileImage As String, TargetCells As Range)
'Insert Picture/Image => Auto posisi plus auto dimensi sesuai TargetCells (row height + row width) yang sudah ditentukan
On Error Resume Next
Dim MyPicture As Object, t As Double, l As Double, w As Double, h As Double
'If Dir(NamaFileImage) = "" Then Exit Sub 'pilihan / alt

'import picture/image/gambar
Set MyPicture = sh.Pictures.Insert(NamaFileImage)

'menentukan posisi image
With TargetCells
t = .Top
l = .Left
w = .Offset(0, .Columns.Count).Left - .Left
h = .Offset(.Rows.Count, 0).Top - .Top
End With

' menempatkan posisi image
With MyPicture
.ShapeRange.LockAspectRatio = msoFalse
.Top = t
.Left = l
.Width = w - 3 'sesuaikan
.Height = h - 2 'sesuaikan
End With
Set MyPicture = Nothing
End Sub

Langkah 3: Assign Macro Object / Shapes

Untuk insert dan upload picture/image dan menempatkan gambar yang sudah diupload sesuai dengan kode pada Langkah 2, silahkan Assign Macro button "Insert Picture" yang sudah dibuat pada Langkah 1 dengan cara:
Klik kanan object (Insert Picture) ⟾ Assign Macro ⟾ Pada Macro Name, pilih UploadIMAGE (sub modul yang sudah dibuat sebelumnya) seperti berikut:
Assign Macro Upload Picture, Image, Gambar

Langkah 4: Simpan File Project

Setelah semuanya beres dibuat.... simpan file project ini misalnya dengan nama:
  • Cara Membuat Custom Menambahkan Gambar Pada Sheet Secara Otomatis.xlsm
  • Langkah-langkah Cara Insert dan Upload Gambar (Picture/Image) pada Cell atau Range.xlsb
  • Atau yang lainnya........

Contoh Hasil Insert Picture/Image pada Sheet (Cell/Range) Tertentu

Untuk mencoba menambahkan gambar sesuai kode yang sudah dibuat, klik object Insert Picture dan tentukan gambar sesuai kebutuhan. Jika semua kode sudah benar dan tidak ada kesalahan, akan tampil seperti contoh berikut:
Contoh Upload Picture, Image, Gambar
Powered by Blogger.